using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Extensiones; using System.Data; using Microsoft.Reporting.WebForms; using System.Text; public partial class Inventarios_RepProductosPorCaducar : ClsPaginas { private DataTable DTDatos { get { return (DataTable)ViewState["DTDatos"]; } set { ViewState["DTDatos"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { CargaFiltros(); CargarDatos(); CargaAlamacenes(); } } private void CargarDatos() { string Cves_Alamcenes = ddlAlmacen.GetSelectedValuesM(); DateTime FI = ModExtensiones.MinFecha; if (TxtFechaInicio.Text != "") FI = TxtFechaInicio.Text.ToDate(); int CvePS = -1; if (DdlPS.SelectedValue.ToEntero() > 0) CvePS = DdlPS.SelectedValue.ToEntero(); // aqui siempre se visualiza la caducidad, sin importar la condición, porque siempre se valida la caducidad ClsInventarios ObjInventarios = new ClsInventarios(); if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(), FI, TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(), DdlClasificacion.SelectedValue.ToEntero(), CvePS, Cves_Alamcenes, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Opcion: DdlOpcion.SelectedValue.ToEntero())) { GvDatos.DataSource = ObjInventarios.DtResultados; DTDatos = ObjInventarios.DtResultados; if (DdlOpcion.SelectedValue == "1") { GvDatos.Columns[4].HeaderText = "F.Elaboración"; } else { GvDatos.Columns[4].HeaderText = "F.Caducidad"; } } ObjInventarios.Dispose(); GvDatos.DataBind(); } private void CargaFiltros() { CargarFechaText(); CargarProveedores(); CargarSucursales(); CargarClasificaciones(); } private void CargarFechaText() { DateTime date = new DateTime(DateTime.Today.Year, DateTime.Today.Month,1); //TxtFechaInicio.Text = date.AddYears(-5).ToString("dd/MM/yyyy"); TxtFechaFin.Text = date.AddMonths(6).AddDays(-1).ToString("dd/MM/yyyy"); DdlPS.setEsWebService(true); } private void CargarProveedores() { DdlProveedor.setEsWebService(true); DdlProveedor.Attributes.Add("data-metodo", "getproveedores"); DdlProveedor.SelectedValue = "-1"; DdlProveedor.SelectedText = "Todos"; } private void CargarSucursales() { //ClsSubProyectos ObjSubProyectos = new ClsSubProyectos(); //if (ObjSubProyectos.GetSubProyectos(UsuarioActual.CveEmpresa)) //{ // DdlSucursal.DataSource = ObjSubProyectos.DtResultados; //} //ObjSubProyectos.Dispose(); DdlSucursal.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1); DdlSucursal.DataBind(); DdlSucursal.Items.Insert(0, new ListItem("Todas", "-1")); } private void CargarClasificaciones() { //ClsClasificaciones ObjClasificacion = new ClsClasificaciones(); //if (ObjClasificacion.GetClasificaciones(UsuarioActual.CveEmpresa)) //{ // DdlClasificacion.DataSource = ObjClasificacion.DtResultados; //} //ObjClasificacion.Dispose(); DdlClasificacion.DataSource = get_GlobalDTClasificaciones(UsuarioActual.CveEmpresa); DdlClasificacion.DataBind(); DdlClasificacion.Items.Insert(0,new ListItem("Todas","-1")); } private void CargaAlamacenes(int CveSubProyectoFiltro = -1) { ddlAlmacen.Items.Clear(); if (CveSubProyectoFiltro > 0) { ddlAlmacen.DataSource = get_GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveSubProyecto = {CveSubProyectoFiltro}"); } else { ddlAlmacen.DataSource = get_GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1); } ddlAlmacen.DataBind(); ddlAlmacen.Items.Insert(0, new ListItem("Todos", "-1")); UPFiltros.Update(); } protected void BtnConsultar_Click(object sender, EventArgs e) { CargarDatos(); UpDatos.Update(); } protected void LnkImprimirPDF_Click(object sender, EventArgs e) { ImprimirReporte("PDF"); } protected void LnkImprimirExcel_Click(object sender, EventArgs e) { ImprimirReporte("Excel"); } private void ImprimirReporte(string formato) { StringBuilder Filtros = new StringBuilder(); Filtros.AppendFormat("Proveedor: {0}    ", DdlProveedor.SelectedText); Filtros.AppendFormat("Fecha Inicio: {0}    ", TxtFechaInicio.Text); Filtros.AppendFormat("Fecha Fin: {0}    ", TxtFechaFin.Text); Filtros.AppendFormat("Sucursal: {0}    ", DdlSucursal.SelectedItem.Text); Filtros.AppendFormat("Clasificación: {0}    ", DdlClasificacion.SelectedItem.Text); List @params = new List(); @params.Add(new ReportParameter("Filtros", Filtros.ToString())); @params.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)); @params.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)); @params.Add(new ReportParameter("OcultaCaducidad", ChkTiempoCaducidad.Checked ? "0": "1" )); var logouri = string.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); System.IO.FileInfo Imagen = new System.IO.FileInfo(string.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)); if (Imagen.Exists) { @params.Add(new ReportParameter("LogoPath", logouri)); } else { @params.Add(new ReportParameter("LogoPath", "")); } @params.Add(new ReportParameter("FechaCaducidadHeader", "Fecha Caducidad")); // (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) ? UsuarioActual.Empresa.Funcionalidad(147) : "Fecha Caducidad"))); ImprimirPDF("Empresas/Grales/Formatos/RepProductosCaducidad.rdlc", DTDatos, @params, "Reporte de Productos por Caducar", formato); } protected void DdlSucursal_SelectedIndexChanged(object sender, EventArgs e) { CargaAlamacenes(DdlSucursal.SelectedValue.ToEntero()); } protected void BtnPersonalizar_Click(object sender, EventArgs e) { Personaliza(); } private void Personaliza() { if (ChkTiempoCaducidad.Checked) { GvDatos.Columns[5].Visible = true; } else { GvDatos.Columns[5].Visible = false; } CargarDatos();//Si no se recarga no se muestran los valores dela la columna de tiempo caducindad laprimera vez que pasa de oculta a mostrarse UpDatos.Update(); } }