using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI.WebControls; using Extensiones; using System.Data; using static Extensiones.ModExtensiones; using Microsoft.Reporting.WebForms; public partial class Ventas_RepCostoPromedioVenta : ClsPaginas { #region PROPIEDADES private DataTable DtDatos { get { return DtDatos = (DataTable)ViewState["DtDatos"]; } set { ViewState["DtDatos"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { InicializaValores(); } } private void InicializaValores() { txtFechaI.Text = DateTime.Now.FirstDayOfMonth().ToShortDateString(); txtFechaF.Text = DateTime.Now.ToShortDateString(); DdlSubProyecto.DataSource = get_GlobalDTSubProyectos(-1, CveEmpresa: UsuarioActual.CveEmpresa); DdlSubProyecto.DataBind(); DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1")); DdlProveedor.setEsWebService(true); DdlProveedor.Attributes.Add("data-metodo", "getproveedores"); DdlProveedor.SelectedText = "Todos"; DdlProveedor.SelectedValue = "-1"; } private void CargaDatos() { ClsVentas ObjVenta = new ClsVentas(); if (ObjVenta.RepCostoPromedioVenta(txtFechaI.Text.ToDate(),txtFechaF.Text.ToDate(),DdlProveedor.SelectedValue.ToEntero(),DdlSubProyecto.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa)) { GvDatos.DataSource = ObjVenta.DtResultados; DtDatos= ObjVenta.DtResultados; } ObjVenta.Dispose(); GvDatos.DataBind(); UpDatos.Update(); } protected void BtnConsultar_Click(object sender, EventArgs e) { CargaDatos(); } protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.DBCampo("CveSubProyecto").ToEntero()<1) { e.Row.Cells[0].Text = e.Row.DBCampo("Moneda").ToString(); e.Row.CssClass = "Totales"; } else if (e.Row.DBCampo("CveProveedor").ToEntero() < 1) { e.Row.Cells[0].Text = e.Row.DBCampo("SubProyecto").ToString(); e.Row.CssClass = "SubTotales"; } else if (e.Row.DBCampo("CvePS").ToEntero() < 1) { e.Row.Cells[0].Text = e.Row.DBCampo("RazonSocial").ToString(); e.Row.CssClass = "SubTotales2"; } } } protected void GenerarPDF(String Opcion) { if (DtDatos.Rows.Count > 0) { String FechaF; if (txtFechaF.Text == "" || txtFechaF.Text == "__/__/____") { FechaF = "-1"; } else { FechaF = $" Fecha Final: {txtFechaF.Text}"; } String FechaI; if (txtFechaI.Text == "" || txtFechaI.Text == "__/__/____") { FechaI = "-1"; } else { FechaI = $" Fecha Inicial: {txtFechaI.Text}"; } String Proveedor; if (DdlProveedor.SelectedValue != "-1") { Proveedor = $" Proveedor: {DdlProveedor.SelectedText}"; } else { Proveedor = ""; } String SubProyecto; if (DdlSubProyecto.SelectedValue != "-1") { SubProyecto = $" SubProyecto: {DdlSubProyecto.SelectedItem.Text}"; } else { SubProyecto = ""; } System.IO.FileInfo Imagen = new System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png"); String logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa); List para = new List(); para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)); para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)); para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToString())); para.Add(new ReportParameter("Filtros", $"Filtros: {FechaI}{FechaF}{Proveedor}{SubProyecto}")); if (Imagen.Exists) { para.Add(new ReportParameter("LogoPath", logouri)); } else { para.Add(new ReportParameter("LogoPath", "")); } ImprimirPDF("Empresas/Grales/Formatos/RepCostoPromedioVenta.rdlc", DtDatos, para, "Reporte de Costo Promedio de Venta", Opcion); } else { Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia); } } protected void LnkExcel_Click(object sender, EventArgs e) { GenerarPDF("EXCEL"); } protected void LnkPdf_Click(object sender, EventArgs e) { GenerarPDF("PDF"); } }