using Extensiones; using Microsoft.Reporting.WebForms; using System; using System.Activities.Expressions; using System.Collections.Generic; using System.Data; using System.Text; using System.Web.UI.WebControls; 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(); CargaCompuestos(); } } private void CargarDatos() { string Cves_Alamcenes = ddlAlmacen.GetSelectedValuesM(); DateTime FI = ModExtensiones.MinFecha; DateTime FF = ModExtensiones.MaxFecha; if (!ChkFechasTodas.Checked) { if (TxtFechaInicio.Text != "") FI = TxtFechaInicio.Text.ToDate(); if (TxtFechaFin.Text != "") FF = TxtFechaFin.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, FF, DdlSucursal.SelectedValue.ToEntero(), DdlClasificacion.SelectedValue.ToEntero(), CvePS, Cves_Alamcenes, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Opcion: DdlOpcion.SelectedValue.ToEntero(), CveCompuesto: DdlCompuesto.SelectedValue.ToEntero() )) { GvDatos.DataSource = ObjInventarios.DtResultados; DTDatos = ObjInventarios.DtResultados; if (DdlOpcion.SelectedValue == "1") { GvDatos.Columns[5].HeaderText = "F.Elaboración"; } else { GvDatos.Columns[5].HeaderText = "F.Caducidad"; } } ObjInventarios.Dispose(); GvDatos.DataBind(); } private void CargaFiltros() { CargarFechaText(); CargarProveedores(); CargarSucursales(); CargarClasificaciones(); } private void CargaCompuestos() { ClsProductosServicios ObjPS = new ClsProductosServicios(); ObjPS.GetCompuestosActivos(UsuarioActual.CveEmpresa); DdlCompuesto.DataSource = ObjPS.DtResultados; ObjPS.Dispose(); DdlCompuesto.DataBind(); DdlCompuesto.Items.Insert(0, new ListItem("Todos", "-1")); } 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() { DdlSucursal.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1); DdlSucursal.DataBind(); DdlSucursal.Items.Insert(0, new ListItem("Todas", "-1")); } private void CargarClasificaciones() { 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($"{UsuarioActual.Empresa.Ruta}/Logo.png"); @params.Add(new ReportParameter("LogoPath", Imagen.Exists ? $"file://{Imagen.FullName}" : "")); @params.Add(new ReportParameter("FechaCaducidadHeader", "Fecha Caducidad")); // (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) ? UsuarioActual.Empresa.Funcionalidad(147) : "Fecha Caducidad"))); @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[6].Visible = true; } else { GvDatos.Columns[6].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(); } protected void ChkFechasTodas_CheckedChanged(object sender, EventArgs e) { if (ChkFechasTodas.Checked) { divF1.Visible = false; divF2.Visible = false; divF3.Visible = false; divF4.Visible = false; } else { divF1.Visible = true; divF2.Visible = true; divF3.Visible = true; divF4.Visible = true; } } }