private void CXP_014_Rpt_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) { lbl_fecha.Text = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss"); lbl_empresa.Text = empresa; lbl_usuario.Text = usuario; int IdEmpresa = p_IdEmpresa.Value == null ? 0 : Convert.ToInt32(p_IdEmpresa.Value); decimal IdProveedor = p_IdProveedor.Value == null ? 0 : Convert.ToDecimal(p_IdProveedor.Value); DateTime fechaIni = p_fecha_ini.Value == null ? DateTime.Now : Convert.ToDateTime(p_fecha_ini.Value); DateTime fechaFin = p_fecha_fin.Value == null ? DateTime.Now : Convert.ToDateTime(p_fecha_fin.Value); string IdTipoServicio = p_IdTipoServicio.Value == null ? "" : Convert.ToString(p_IdTipoServicio.Value); bool mostrar_anulados = p_mostrar_anulados.Value == null ? false : Convert.ToBoolean(p_mostrar_anulados.Value); tb_empresa_Bus bus_empresa = new tb_empresa_Bus(); var emp = bus_empresa.get_info(IdEmpresa); //lbl_empresa.Text = emp.RazonSocial; if (emp != null && emp.em_logo != null) { ImageConverter obj = new ImageConverter(); lbl_imagen.Image = (Image)obj.ConvertFrom(emp.em_logo); } CXP_014_Bus bus_rpt = new CXP_014_Bus(); List <CXP_014_Info> lst_rpt = new List <CXP_014_Info>(); if (IntArray != null) { foreach (var item in IntArray) { lst_rpt.AddRange(bus_rpt.GetList(IdEmpresa, item, IdProveedor, fechaIni, fechaFin, IdTipoServicio, mostrar_anulados)); } } this.DataSource = lst_rpt; ListaAgrupada = (from q in lst_rpt group q by new { q.IdSucursal, q.Su_Descripcion } into Resumen select new CXP_014_Info { IdSucursal = Resumen.Key.IdSucursal, Su_Descripcion = Resumen.Key.Su_Descripcion, co_subtotal_iva = Resumen.Sum(q => q.co_subtotal_iva), co_subtotal_siniva = Resumen.Sum(q => q.co_subtotal_siniva), co_valoriva = Resumen.Sum(q => q.co_valoriva), co_total = Resumen.Sum(q => q.co_total) }).ToList(); }
private void CXP_014_Rpt_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) { lbl_fecha.Text = DateTime.Now.ToString("dd/MM/yyyy hh:mm:ss"); lbl_empresa.Text = empresa; lbl_usuario.Text = usuario; int IdEmpresa = p_IdEmpresa.Value == null ? 0 : Convert.ToInt32(p_IdEmpresa.Value); decimal IdProveedor = p_IdProveedor.Value == null ? 0 : Convert.ToDecimal(p_IdProveedor.Value); DateTime fechaIni = p_fecha_ini.Value == null ? DateTime.Now : Convert.ToDateTime(p_fecha_ini.Value); DateTime fechaFin = p_fecha_fin.Value == null ? DateTime.Now : Convert.ToDateTime(p_fecha_fin.Value); string IdTipoServicio = p_IdTipoServicio.Value == null ? "" : Convert.ToString(p_IdTipoServicio.Value); bool mostrar_anulados = p_mostrar_anulados.Value == null ? false : Convert.ToBoolean(p_mostrar_anulados.Value); bool AgruparTieneRetencion = string.IsNullOrEmpty(p_AgruparTieneRetencion.Value.ToString()) ? false : Convert.ToBoolean(p_AgruparTieneRetencion.Value); tb_empresa_Bus bus_empresa = new tb_empresa_Bus(); var emp = bus_empresa.get_info(IdEmpresa); //lbl_empresa.Text = emp.RazonSocial; if (emp != null && emp.em_logo != null) { ImageConverter obj = new ImageConverter(); lbl_imagen.Image = (Image)obj.ConvertFrom(emp.em_logo); } CXP_014_Bus bus_rpt = new CXP_014_Bus(); List <CXP_014_Info> lst_rpt = new List <CXP_014_Info>(); if (IntArray != null) { foreach (var item in IntArray) { lst_rpt.AddRange(bus_rpt.GetList(IdEmpresa, item, IdProveedor, fechaIni, fechaFin, IdTipoServicio, mostrar_anulados, AgruparTieneRetencion)); } } this.DataSource = lst_rpt; #region Total por tarifa ListaAgrupada.AddRange(lst_rpt.GroupBy(q => new { q.Tarifa }).Select(q => new CXP_014_Info { Grupo = 1, NombreGrupo = "", DescripcionAgrupacion = q.Key.Tarifa, co_subtotal_siniva = q.Sum(g => g.co_subtotal_siniva), co_subtotal_iva = q.Sum(g => g.co_subtotal_iva), co_subtotal = q.Sum(g => g.co_subtotal), co_valoriva = q.Sum(g => g.co_valoriva), co_total = q.Sum(g => g.co_total), CantidadAgrupacion = q.Count() }).ToList()); #endregion #region Total por retención ListaAgrupada.AddRange(lst_rpt.GroupBy(q => new { q.FacturaRetencion }).Select(q => new CXP_014_Info { Grupo = 2, NombreGrupo = "Tipos de factura", DescripcionAgrupacion = q.Key.FacturaRetencion, co_subtotal_siniva = q.Sum(g => g.co_subtotal_siniva), co_subtotal_iva = q.Sum(g => g.co_subtotal_iva), co_subtotal = q.Sum(g => g.co_subtotal), co_valoriva = q.Sum(g => g.co_valoriva), co_total = q.Sum(g => g.co_total), CantidadAgrupacion = q.Count() }).ToList()); #endregion #region Total por código ListaAgrupada.AddRange(lst_rpt.Where(q => q.Sustenta == true).GroupBy(q => new { q.DescripcionCodigo }).Select(q => new CXP_014_Info { Grupo = 3, NombreGrupo = "Resumen sustenta crédito tributario", DescripcionAgrupacion = q.Key.DescripcionCodigo, co_subtotal_siniva = q.Sum(g => g.co_subtotal_siniva), co_subtotal_iva = q.Sum(g => g.co_subtotal_iva), co_subtotal = q.Sum(g => g.co_subtotal), co_valoriva = q.Sum(g => g.co_valoriva), co_total = q.Sum(g => g.co_total), CantidadAgrupacion = q.Count(), T_co_subtotal_siniva = q.Sum(g => g.co_subtotal_siniva), T_co_subtotal_iva = q.Sum(g => g.co_subtotal_iva), T_co_subtotal = q.Sum(g => g.co_subtotal), T_co_valoriva = q.Sum(g => g.co_valoriva), T_co_total = q.Sum(g => g.co_total), T_CantidadAgrupacion = q.Count() }).ToList()); ListaAgrupada.AddRange(lst_rpt.Where(q => q.Sustenta == false).GroupBy(q => new { q.DescripcionCodigo }).Select(q => new CXP_014_Info { Grupo = 4, NombreGrupo = "Resumen NO sustenta crédito tributario", DescripcionAgrupacion = q.Key.DescripcionCodigo, co_subtotal_siniva = q.Sum(g => g.co_subtotal_siniva), co_subtotal_iva = q.Sum(g => g.co_subtotal_iva), co_subtotal = q.Sum(g => g.co_subtotal), co_valoriva = q.Sum(g => g.co_valoriva), co_total = q.Sum(g => g.co_total), CantidadAgrupacion = q.Count(), T_co_subtotal_siniva = q.Sum(g => g.co_subtotal_siniva), T_co_subtotal_iva = q.Sum(g => g.co_subtotal_iva), T_co_subtotal = q.Sum(g => g.co_subtotal), T_co_valoriva = q.Sum(g => g.co_valoriva), T_co_total = q.Sum(g => g.co_total), T_CantidadAgrupacion = q.Count() }).ToList()); #endregion }