protected void Page_Load(object sender, EventArgs e) { long id = long.Parse(Request.QueryString["Id"].ToString()); EntidadesConosud dc = new EntidadesConosud(); Entidades.CabeceraHojasDeRuta cabecera = (from C in dc.CabeceraHojasDeRuta .Include("HojasDeRuta") where C.IdCabeceraHojasDeRuta == id select C).First <Entidades.CabeceraHojasDeRuta>(); InformexPeriodo rep = new InformexPeriodo(); rep.InitReport(cabecera, false); this.ReportViewer1.Report = rep; (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).ClearSelection(); (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).Items.FindByText("Excel").Selected = true; }
protected void Page_Load(object sender, EventArgs e) { long id = long.Parse(Request.QueryString["Id"].ToString()); bool EsHistorico = bool.Parse(Request.QueryString["EsHistorico"].ToString()); EntidadesConosud dc = new EntidadesConosud(); Entidades.CabeceraHojasDeRuta cabecera = (from C in dc.CabeceraHojasDeRuta .Include("ContratoEmpresas.Contrato") .Include("ContratoEmpresas") .Include("ContratoEmpresas.Empresa") where C.IdCabeceraHojasDeRuta == id select C).First <Entidades.CabeceraHojasDeRuta>(); ///// Cabecera hoja de ruta donde no tiene documentacion ///// presentada para ninguno de sus items (Contratista y sub contratista) //List<Entidades.CabeceraHojasDeRuta> CabSinDocumentacion = (from C in dc.CabeceraHojasDeRuta // .Include("ContratoEmpresas.Contrato") // .Include("ContratoEmpresas") // .Include("ContratoEmpresas.Empresa") // where C.ContratoEmpresas.Contrato.IdContrato == cabecera.ContratoEmpresas.Contrato.IdContrato // && C.Periodo <= cabecera.Periodo // && C.FechaAprobacion == null // && C.HojasDeRuta.Count(h => h.DocFechaEntrega != null) == 0 // select C).ToList<Entidades.CabeceraHojasDeRuta>(); ///// Cabecera hoja de ruta donde TIENE documentacion ///// presentada para alguno de sus items pero aun no se han auditado (Contratista y sub contratista) ///// es decir no hay items aprobados ni comentarios de los mismos. //List<Entidades.CabeceraHojasDeRuta> CabSinAuditoria = (from C in dc.CabeceraHojasDeRuta // .Include("ContratoEmpresas.Contrato") // .Include("ContratoEmpresas") // .Include("ContratoEmpresas.Empresa") // where C.ContratoEmpresas.Contrato.IdContrato == cabecera.ContratoEmpresas.Contrato.IdContrato // && C.Periodo <= cabecera.Periodo // && C.FechaAprobacion == null // && C.HojasDeRuta.Count(h => h.DocFechaEntrega != null) > 0 // && C.HojasDeRuta.Count(h => h.HojaFechaAprobacion != null) == 0 // && C.HojasDeRuta.Count(h => h.HojaComentario != "") == 0 // select C).ToList<Entidades.CabeceraHojasDeRuta>(); List <Entidades.HojasDeRuta> HRConPendientes = new List <Entidades.HojasDeRuta>(); if (EsHistorico) { /// items de las cabeceras que tiene ingresado /// algún comentario y no estan aprobadas (Contratista y sub contratista) /// Para todos los periodos if (Session["TipoUsuario"] != null && Session["TipoUsuario"] == "Cliente") { /// Para este tipo de cliente solo se muestra el historico de las /// hojas de ruta que estan publicadas, ademas de las otras condiciones. HRConPendientes = (from I in dc.HojasDeRuta .Include("CabeceraHojasDeRuta.ContratoEmpresas.Contrato") .Include("CabeceraHojasDeRuta.ContratoEmpresas") .Include("CabeceraHojasDeRuta") .Include("CabeceraHojasDeRuta.ContratoEmpresas.Empresa") .Include("Plantilla") where I.CabeceraHojasDeRuta.ContratoEmpresas.Contrato.IdContrato == cabecera.ContratoEmpresas.Contrato.IdContrato && I.CabeceraHojasDeRuta.Periodo <= cabecera.Periodo && I.CabeceraHojasDeRuta.FechaAprobacion == null && I.HojaComentario != "" && I.CabeceraHojasDeRuta.Publicar == true orderby I.CabeceraHojasDeRuta.Periodo descending, I.Plantilla.Codigo select I).ToList <Entidades.HojasDeRuta>(); } else { HRConPendientes = (from I in dc.HojasDeRuta .Include("CabeceraHojasDeRuta.ContratoEmpresas.Contrato") .Include("CabeceraHojasDeRuta.ContratoEmpresas") .Include("CabeceraHojasDeRuta") .Include("CabeceraHojasDeRuta.ContratoEmpresas.Empresa") .Include("Plantilla") where I.CabeceraHojasDeRuta.ContratoEmpresas.Contrato.IdContrato == cabecera.ContratoEmpresas.Contrato.IdContrato && I.CabeceraHojasDeRuta.Periodo <= cabecera.Periodo && I.CabeceraHojasDeRuta.FechaAprobacion == null && I.HojaComentario != "" orderby I.CabeceraHojasDeRuta.Periodo descending, I.Plantilla.Codigo select I).ToList <Entidades.HojasDeRuta>(); } } else { /// items de las cabeceras que tiene ingresado /// algún comentario y no estan aprobadas (Contratista y sub contratista) /// Solo para el periodo seleccionado HRConPendientes = (from I in dc.HojasDeRuta .Include("CabeceraHojasDeRuta.ContratoEmpresas.Contrato") .Include("CabeceraHojasDeRuta.ContratoEmpresas") .Include("CabeceraHojasDeRuta") .Include("CabeceraHojasDeRuta.ContratoEmpresas.Empresa") .Include("Plantilla") where I.CabeceraHojasDeRuta.ContratoEmpresas.Contrato.IdContrato == cabecera.ContratoEmpresas.Contrato.IdContrato && I.CabeceraHojasDeRuta.Periodo.Month == cabecera.Periodo.Month && I.CabeceraHojasDeRuta.Periodo.Year == cabecera.Periodo.Year && I.CabeceraHojasDeRuta.FechaAprobacion == null && I.HojaComentario != "" orderby I.CabeceraHojasDeRuta.Periodo descending, I.Plantilla.Codigo select I).ToList <Entidades.HojasDeRuta>(); } List <InformexPeriodoTemp> Resultado = new List <InformexPeriodoTemp>(); foreach (Entidades.HojasDeRuta hoja in HRConPendientes) { Entidades.InformexPeriodoTemp I = new Entidades.InformexPeriodoTemp(); I.RazonSocial = hoja.CabeceraHojasDeRuta.ContratoEmpresas.Empresa.RazonSocial; I.Periodo = hoja.CabeceraHojasDeRuta.Periodo; I.PeriodoDesc = Capitalize(string.Format("{0:Y}", hoja.CabeceraHojasDeRuta.Periodo)); I.EsContratista = hoja.CabeceraHojasDeRuta.ContratoEmpresas.EsContratista.Value; I.Comentario = hoja.HojaComentario; I.Tipo = "Hojas Con Pendientes"; I.OrdenDetalle = int.Parse(hoja.CabeceraHojasDeRuta.Periodo.Year.ToString() + string.Format("{0:00}", hoja.CabeceraHojasDeRuta.Periodo.Month)); if (I.EsContratista) { I.OrdenEmpresas = 0; } else { I.OrdenEmpresas = 1; } Resultado.Add(I); } /// Solo vamos a mostrar las hojas que tienen pendientes (21/10/2010) //foreach (Entidades.CabeceraHojasDeRuta itemC in CabSinDocumentacion) //{ // Entidades.InformexPeriodoTemp I = new Entidades.InformexPeriodoTemp(); // I.RazonSocial = itemC.ContratoEmpresas.Empresa.RazonSocial; // I.Periodo = itemC.Periodo; // I.PeriodoDesc = string.Format("{0:Y}", itemC.Periodo); // I.EsContratista = itemC.ContratoEmpresas.EsContratista.Value; // I.Comentario = ""; // I.Tipo = "Hojas Sin Documentación Presentada"; // I.OrdenDetalle = int.Parse(itemC.Periodo.Year.ToString() + string.Format("{0:00}", itemC.Periodo.Month)); // if (I.EsContratista) // I.OrdenEmpresas = 0; // else // I.OrdenEmpresas = 1; // Resultado.Add(I); //} /// Solo vamos a mostrar las hojas que tienen pendientes (21/10/2010) //foreach (Entidades.CabeceraHojasDeRuta itemC in CabSinAuditoria) //{ // Entidades.InformexPeriodoTemp I = new Entidades.InformexPeriodoTemp(); // I.RazonSocial = itemC.ContratoEmpresas.Empresa.RazonSocial; // I.Periodo = itemC.Periodo; // I.PeriodoDesc = string.Format("{0:Y}", itemC.Periodo); // I.EsContratista = itemC.ContratoEmpresas.EsContratista.Value; // I.Comentario = ""; // I.Tipo = "Hojas en Proceso de Auditoria"; // I.OrdenDetalle = int.Parse(itemC.Periodo.Year.ToString() + string.Format("{0:00}", itemC.Periodo.Month)); // if (I.EsContratista) // I.OrdenEmpresas = 0; // else // I.OrdenEmpresas = 1; // Resultado.Add(I); //} if (Resultado.Count > 0) { InformexPeriodoHistorico rep = new InformexPeriodoHistorico(); rep.InitReport(Resultado, cabecera, EsHistorico); this.ReportViewer1.Report = rep; (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).ClearSelection(); (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).Items.FindByText("Excel").Selected = true; } else { divcontent.Visible = false; lblSinResultados.Visible = true; } }
protected void btnBuscar_Click(object sender, EventArgs e) { EntidadesConosud dc = new EntidadesConosud(); List <InformeMensualEmpresaAuditarTemp> Result = new List <InformeMensualEmpresaAuditarTemp>(); DateTime FI = txtInicial.SelectedDate.Value; DateTime FF = txtFinal.SelectedDate.Value.AddDays(1); /// LOGICA PARA CAMPO FECHA AUDITORIA //1. Si no hay fecha de control entonces se muestra en blanco la fecha de auditoría. //2. Si hay Fecha Control quiere decir que existe una auditoría realizada por lo que se debe mostrar esta fecha. // Ahora, si hay documentación recepcionada posterior a la fecha de control significa que la auditoria anterior ya no es válida, ya que existe nueva documentación para auditar, por lo que se muestra en blanco. Result = (from C in dc.CabeceraHojasDeRuta where (C.HojasDeRuta.Where(h => h.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIASUELDOS && h.DocFechaEntrega != null).Count() > 0 || C.HojasDeRuta.Where(h => h.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIAPREVISIONAL && h.DocFechaEntrega != null).Count() > 0) && C.HojasDeRuta.Where(h => h.DocFechaEntrega != null & h.DocFechaEntrega >= FI && h.DocFechaEntrega <= FF).Count() > 0 select new InformeMensualEmpresaAuditarTemp { DescContratista = "", DescSubContratista = "", Periodo = C.Periodo, CodigoContrato = C.ContratoEmpresas.Contrato.Codigo, FechaUltimaPresentacionPrevisional = C.HojasDeRuta.Where(w => w.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIAPREVISIONAL && w.DocFechaEntrega != null).Select(w => w.DocFechaEntrega).Max(), FechaUltimaPresentacionSueldos = C.HojasDeRuta.Where(w => w.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIASUELDOS && w.DocFechaEntrega != null).Select(w => w.DocFechaEntrega).Max(), FechaUltimaAuditoria = C.HojasDeRuta.Any(w => w.HojaFechaControlado != null) ? (C.HojasDeRuta.Any(w => w.DocFechaEntrega > w.HojaFechaControlado) ? null : C.HojasDeRuta.Select(w => w.HojaFechaControlado).Max()) : null, Aprobada = "", Publicada = "", Cab = C, ContratoEmpresa = C.ContratoEmpresas }).ToList <InformeMensualEmpresaAuditarTemp>(); foreach (InformeMensualEmpresaAuditarTemp item in Result) { item.Aprobada = item.Cab.Aprobada; item.Publicada = item.Cab.Publicada; item.DescContratista = item.ContratoEmpresa.DescConstratista; item.DescSubContratista = item.ContratoEmpresa.DescSubConstratista.Trim() == "" ? "-" : item.ContratoEmpresa.DescSubConstratista; } //Result = Result.Distinct(new ComparerByContratoEmpresaTemp()).ToList(); Result = Result.Distinct().ToList(); if (Result.Count > 0) { InformeMensualEmpresasAuditar rep = new InformeMensualEmpresasAuditar(); rep.InitReport(Result, "Desde: " + txtInicial.SelectedDate.Value.ToShortDateString() + " Hasta: " + txtFinal.SelectedDate.Value.ToShortDateString()); this.ReportViewer1.Report = rep; (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).ClearSelection(); (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).Items.FindByText("Excel").Selected = true; trReporte.Visible = true; trResultadoVacio.Visible = false; } else { trReporte.Visible = false; trResultadoVacio.Visible = true; } upResultado.Update(); }
protected void btnBuscar_Click(object sender, EventArgs eventarg) { EntidadesConosud dc = new EntidadesConosud(); List <InformeMapaHojasRutaTemp> datos = new List <InformeMapaHojasRutaTemp>(); long idContrato = long.Parse(cboContratos.SelectedValue); List <Entidades.CabeceraHojasDeRuta> cabs = null; if (cboPeriodos.SelectedValue == "") { cabs = (from C in dc.CabeceraHojasDeRuta .Include("HojasDeRuta").Include("HojasDeRuta.Plantilla").Include("HojasDeRuta.Plantilla.CategoriasItems").Include("ContratoEmpresas").Include("ContratoEmpresas.Contrato") .Include("ContratoEmpresas.Empresa").Include("Estado") .Include("ContratoEmpresas.CabeceraHojasDeRuta") where (C.ContratoEmpresas.Contrato.IdContrato == idContrato) && ((C.Periodo.Month < DateTime.Now.Month && C.Periodo.Year == DateTime.Now.Year) || (C.Periodo.Year < DateTime.Now.Year)) orderby C.Periodo ascending select C).ToList <Entidades.CabeceraHojasDeRuta>(); } else { int año = int.Parse(cboPeriodos.Text.Substring(3, 4)); int mes = int.Parse(cboPeriodos.Text.Substring(0, 2)); cabs = (from C in dc.CabeceraHojasDeRuta .Include("HojasDeRuta").Include("HojasDeRuta.Plantilla").Include("HojasDeRuta.Plantilla.CategoriasItems").Include("ContratoEmpresas").Include("ContratoEmpresas.Contrato") .Include("ContratoEmpresas.Empresa").Include("Estado") .Include("ContratoEmpresas.CabeceraHojasDeRuta") where C.ContratoEmpresas.Contrato.IdContrato == idContrato && C.Periodo.Month == mes && C.Periodo.Year == año orderby C.Periodo ascending select C).ToList <Entidades.CabeceraHojasDeRuta>(); } foreach (var item in cabs) { InformeMapaHojasRutaTemp reg = new InformeMapaHojasRutaTemp(); reg.IdCabecera = item.IdCabeceraHojasDeRuta.ToString(); reg.Estado = item.Aprobada; reg.Empresa = item.ContratoEmpresas.Empresa.RazonSocial; reg.Periodo = string.Format("{0:MM/yyyy}", item.Periodo); if (reg.Estado == "Aprobada") { reg.EstadoValor = 0; } else { reg.EstadoValor = 1; } if (item.ContratoEmpresas.EsContratista.Value) { reg.OrdenEmpresas = 0; } else { reg.OrdenEmpresas = 1; } datos.Add(reg); } InformeMapaHojaDeRuta rep = new InformeMapaHojaDeRuta(); rep.InitReport(datos.OrderBy(w => w.OrdenEmpresas).ToList()); this.ReportViewer1.Report = rep; (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).ClearSelection(); (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).Items.FindByText("Excel").Selected = true; trReporte.Visible = true; trResultadoVacio.Visible = false; }
protected void btnBuscar_Click(object sender, EventArgs e) { EntidadesConosud dc = new EntidadesConosud(); List <InformeMensualEmpresaAuditarTemp> Result = new List <InformeMensualEmpresaAuditarTemp>(); DateTime FI = txtInicial.SelectedDate.Value; DateTime FF = txtFinal.SelectedDate.Value.AddHours(23); //List<Entidades.CabeceraHojasDeRuta> cabs = (from C in dc.CabeceraHojasDeRuta // .Include("HojasDeRuta").Include("HojasDeRuta.Plantilla").Include("HojasDeRuta.Plantilla.CategoriasItems").Include("ContratoEmpresas").Include("ContratoEmpresas.Contrato") // .Include("ContratoEmpresas.Empresa") // .Include("ContratoEmpresas.CabeceraHojasDeRuta") // where // (C.HojasDeRuta.Where(h => h.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIASUELDOS && h.DocFechaEntrega != null).Count() > 0 // || C.HojasDeRuta.Where(h => h.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIAPREVISIONAL && h.DocFechaEntrega != null).Count() > 0) // && C.HojasDeRuta.Where(h => h.DocFechaEntrega != null & h.DocFechaEntrega >= FI && h.DocFechaEntrega <= FF).Count() > 0 // select C).ToList<Entidades.CabeceraHojasDeRuta>(); Result = (from C in dc.CabeceraHojasDeRuta where (C.HojasDeRuta.Where(h => h.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIASUELDOS && h.DocFechaEntrega != null).Count() > 0 || C.HojasDeRuta.Where(h => h.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIAPREVISIONAL && h.DocFechaEntrega != null).Count() > 0) && C.HojasDeRuta.Where(h => h.DocFechaEntrega != null & h.DocFechaEntrega >= FI && h.DocFechaEntrega <= FF).Count() > 0 select new InformeMensualEmpresaAuditarTemp { DescContratista = "", DescSubContratista = "", Periodo = C.Periodo, CodigoContrato = C.ContratoEmpresas.Contrato.Codigo, FechaUltimaPresentacionPrevisional = C.HojasDeRuta.Where(w => w.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIAPREVISIONAL && w.DocFechaEntrega != null).Select(w => w.DocFechaEntrega).Max(), FechaUltimaPresentacionSueldos = C.HojasDeRuta.Where(w => w.Plantilla.CategoriasItems.Nombre == Entidades.Emuneraciones.CATEGORIASUELDOS && w.DocFechaEntrega != null).Select(w => w.DocFechaEntrega).Max(), FechaUltimaAuditoria = C.HojasDeRuta.Any(w => w.HojaFechaControlado != null) ? (C.HojasDeRuta.Any(w => w.DocFechaEntrega > w.HojaFechaControlado) ? null : C.HojasDeRuta.Select(w => w.HojaFechaControlado).Max()) : null, Aprobada = "", Publicada = "", Cab = C, ContratoEmpresa = C.ContratoEmpresas }).ToList <InformeMensualEmpresaAuditarTemp>(); foreach (InformeMensualEmpresaAuditarTemp item in Result) { item.Aprobada = item.Cab.Aprobada; item.Publicada = item.Cab.Publicada; item.DescContratista = item.ContratoEmpresa.DescConstratista; item.DescSubContratista = item.ContratoEmpresa.DescSubConstratista.Trim() == "" ? "-" : item.ContratoEmpresa.DescSubConstratista; } //Result = Result.Distinct(new ComparerByContratoEmpresaTemp()).ToList(); Result = Result.Distinct().ToList(); if (Result.Count > 0) { InformeMensualEmpresasAuditar rep = new InformeMensualEmpresasAuditar(); rep.InitReport(Result); this.ReportViewer1.Report = rep; (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).ClearSelection(); (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).Items.FindByText("Excel").Selected = true; trReporte.Visible = true; trResultadoVacio.Visible = false; } else { trReporte.Visible = false; trResultadoVacio.Visible = true; } upResultado.Update(); }
protected void btnBuscar_Click(object sender, EventArgs e) { EntidadesConosud dc = new EntidadesConosud(); DateTime FechaInicial = Convert.ToDateTime("01/" + cboPeriodos.Text); DateTime FechaFinal = Convert.ToDateTime("01/" + cboPeriodos.Text).AddMonths(1); DateTime FechaInicioPA = FechaInicial.AddMonths(-1); DateTime FechaFinalPA = FechaFinal.AddMonths(-1); var empActuales = (from emp in dc.ContEmpLegajos where ((emp.CabeceraHojasDeRuta.Periodo >= FechaInicial && emp.CabeceraHojasDeRuta.Periodo < FechaFinal) || (emp.FechaTramiteBaja >= FechaInicial && emp.FechaTramiteBaja < FechaFinal)) select new { idCab = emp.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta, idLeg = emp.Legajos.IdLegajos, idConEmp = emp.ContratoEmpresas.IdContratoEmpresas, idCon = emp.ContratoEmpresas.Contrato.IdContrato, NombreCompleto = emp.Legajos.Apellido + ", " + emp.Legajos.Nombre, Nrodoc = emp.Legajos.NroDoc, CodigoContrato = emp.ContratoEmpresas.Contrato.Codigo, NombreEmpresa = emp.ContratoEmpresas.Empresa.RazonSocial, Encuadre = emp.Legajos.objConvenio, FechaBaja = emp.CabeceraHojasDeRuta.Periodo, FechaTramite = emp.FechaTramiteBaja, EsContratista = emp.ContratoEmpresas.EsContratista, VencimientoContrato = emp.ContratoEmpresas.Contrato.Prorroga.HasValue ? emp.ContratoEmpresas.Contrato.Prorroga.Value : emp.ContratoEmpresas.Contrato.FechaVencimiento.Value }).ToList(); var empPA = (from emp in dc.ContEmpLegajos where emp.CabeceraHojasDeRuta.Periodo >= FechaInicioPA && emp.CabeceraHojasDeRuta.Periodo < FechaFinalPA && ( (emp.ContratoEmpresas.Contrato.FechaVencimiento > FechaFinalPA) || (emp.ContratoEmpresas.Contrato.Prorroga.HasValue && emp.ContratoEmpresas.Contrato.Prorroga > FechaFinalPA) ) select new { idCab = emp.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta, idLeg = emp.Legajos.IdLegajos, idConEmp = emp.ContratoEmpresas.IdContratoEmpresas, idCon = emp.ContratoEmpresas.Contrato.IdContrato, NombreCompleto = emp.Legajos.Apellido + ", " + emp.Legajos.Nombre, Nrodoc = emp.Legajos.NroDoc, CodigoContrato = emp.ContratoEmpresas.Contrato.Codigo, NombreEmpresa = emp.ContratoEmpresas.Empresa.RazonSocial, Encuadre = emp.Legajos.objConvenio, FechaBaja = emp.CabeceraHojasDeRuta.Periodo, FechaTramite = emp.FechaTramiteBaja, EsContratista = emp.ContratoEmpresas.EsContratista }).ToList(); List <AltasBajasLegajosTemp> LegajosEncontrados = new List <AltasBajasLegajosTemp>(); foreach (var item in empActuales.Where(emp => (emp.FechaTramite >= FechaInicial && emp.FechaTramite < FechaFinal))) { AltasBajasLegajosTemp LegajoEliminado = new AltasBajasLegajosTemp(); LegajoEliminado.Accion = "Baja"; LegajoEliminado.CodigoContrato = item.CodigoContrato; LegajoEliminado.NombreCompleto = Capitalize(item.NombreCompleto.ToLower()); LegajoEliminado.NombreEmpresaContratista = Capitalize(item.NombreEmpresa.ToLower()); LegajoEliminado.Nrodoc = item.Nrodoc; if (item.Encuadre != null) { LegajoEliminado.Encuadre = item.Encuadre.Descripcion; } else { LegajoEliminado.Encuadre = ""; } if (item.FechaTramite.HasValue) { LegajoEliminado.FechaTramite = item.FechaTramite.Value.ToShortDateString(); LegajoEliminado.FechaBaja = string.Format("{0:MMM-yy}", item.FechaBaja); } else { LegajoEliminado.FechaTramite = ""; LegajoEliminado.FechaBaja = ""; } if (!item.EsContratista.HasValue || !item.EsContratista.Value) { LegajoEliminado.NombreEmpresaSubContratista = Capitalize(item.NombreEmpresa.ToLower()); LegajoEliminado.NombreEmpresaContratista = Capitalize((from c in dc.ContratoEmpresas where c.Contrato.IdContrato == item.idCon && c.EsContratista.Value select new { Contratista = c.Empresa.RazonSocial }).First().Contratista.ToLower()); } LegajosEncontrados.Add(LegajoEliminado); } /// Solo se verifican los legajos que no han sido dado de baja ya que nunca /// se pueden dar de baja y de alta en el mismo periodo y contrato. foreach (var item in empActuales.Where(w => w.FechaTramite == null)) { /// Si el legajo del periodo actual no existe en el periodo anterior /// se infiere que el mismo fue dado de alta en el perio actual. int existe = (from emp in empPA where emp.idConEmp == item.idConEmp && emp.idLeg == item.idLeg select emp).Count(); if (existe == 0) { AltasBajasLegajosTemp LegajoEliminado = new AltasBajasLegajosTemp(); LegajoEliminado.Accion = "Alta"; LegajoEliminado.CodigoContrato = item.CodigoContrato; LegajoEliminado.NombreCompleto = Capitalize(item.NombreCompleto.ToLower()); LegajoEliminado.NombreEmpresaContratista = Capitalize(item.NombreEmpresa.ToLower()); LegajoEliminado.Nrodoc = item.Nrodoc; LegajoEliminado.FechaTramite = ""; LegajoEliminado.FechaBaja = ""; if (item.Encuadre != null) { LegajoEliminado.Encuadre = item.Encuadre.Descripcion; } else { LegajoEliminado.Encuadre = ""; } if (!item.EsContratista.HasValue || !item.EsContratista.Value) { LegajoEliminado.NombreEmpresaSubContratista = Capitalize(item.NombreEmpresa.ToLower()); LegajoEliminado.NombreEmpresaContratista = Capitalize((from c in dc.ContratoEmpresas where c.Contrato.IdContrato == item.idCon && c.EsContratista.Value select new { Contratista = c.Empresa.RazonSocial }).First().Contratista.ToLower()); } LegajosEncontrados.Add(LegajoEliminado); } } if (LegajosEncontrados.Count > 0) { InformeAltaBajaLegajo rep = new InformeAltaBajaLegajo(); rep.InitReport(LegajosEncontrados, FechaInicial); this.ReportViewer1.Report = rep; (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).ClearSelection(); (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).Items.FindByText("Excel").Selected = true; trReporte.Visible = true; trResultadoVacio.Visible = false; } else { trReporte.Visible = false; trResultadoVacio.Visible = true; } upResultado.Update(); }
protected void btnBuscar_Click(object sender, EventArgs e) { try { EntidadesConosud dc = new EntidadesConosud(); DateTime FechaInicial = Convert.ToDateTime("01/" + cboPeriodos.Text); DateTime FechaFinal = Convert.ToDateTime("01/" + cboPeriodos.Text).AddMonths(1).AddDays(-1); /// Obtengo las cabeceras segun el rango de fechas var cabeceras1 = (from C in dc.CabeceraHojasDeRuta where C.Periodo >= FechaInicial && C.Periodo <= FechaFinal && C.ContEmpLegajos.Count() > 0 orderby C.ContratoEmpresas.Contrato.IdContrato select new { Id = C.IdCabeceraHojasDeRuta, Cab = C, Constratista = C.ContratoEmpresas.Empresa.RazonSocial, IdContrato = C.ContratoEmpresas.Contrato.IdContrato, Codigo = C.ContratoEmpresas.Contrato.Codigo, C.ContratoEmpresas.EsContratista }).ToList(); /// Extraigo los ids de todas las cabeceras long[] idsCab = cabeceras1.Select(w => w.Id).ToArray(); /// Recupero todos los legajos de cada una de las cabeceras var AllLegajosCabeceras = (from L in dc.ContEmpLegajos.Where(Helpers.ContainsExpression <Entidades.ContEmpLegajos, long>(L => L.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta, idsCab)) select new { idCab = L.CabeceraHojasDeRuta.IdCabeceraHojasDeRuta, Convenio = L.Legajos.objConvenio.Descripcion, Conratista = L.ContratoEmpresas.Empresa.RazonSocial, CondigoContrato = L.ContratoEmpresas.Contrato.Codigo }).ToList(); if (idsCab.Length > 0) { List <Entidades.InformeEncuadreGremialTemp> AllEncuadre = new List <InformeEncuadreGremialTemp>(); foreach (var ItemCabecera in cabeceras1) { var LegAgrupados = from L in AllLegajosCabeceras where L.idCab == ItemCabecera.Id group L by L.Convenio into g select new { key = g.Key, cantidad = g.Count() }; foreach (var detalleLegAgrupado in LegAgrupados) { string contratista = ""; Entidades.InformeEncuadreGremialTemp enc = new InformeEncuadreGremialTemp(); enc.Cantidad = detalleLegAgrupado.cantidad; if (ItemCabecera.EsContratista.Value) { enc.Empresa = Capitalize(ItemCabecera.Constratista.ToLower()); contratista = Capitalize(ItemCabecera.Constratista.ToLower()); enc.SubContratista = ""; } else { var empContratista = (from c in cabeceras1 where c.IdContrato == ItemCabecera.IdContrato && c.EsContratista.Value select new { Contratista = c.Constratista }).FirstOrDefault(); if (empContratista != null) { enc.Empresa = Capitalize(empContratista.Contratista.ToLower()); } else { enc.Empresa = Capitalize((from c in dc.ContratoEmpresas where c.Contrato.IdContrato == ItemCabecera.IdContrato && c.EsContratista.Value select new { Contratista = c.Empresa.RazonSocial }).First().Contratista.ToLower()); } enc.SubContratista = Capitalize(ItemCabecera.Constratista.ToLower()); } enc.Contrato = ItemCabecera.Codigo; if (detalleLegAgrupado.key != null) { enc.Convenio = detalleLegAgrupado.key; } else { enc.Convenio = "F/Convenio"; } AllEncuadre.Add(enc); } } InformeEncuadreGremial rep = new InformeEncuadreGremial(); rep.InitReport(AllEncuadre.OrderBy(w => w.Empresa).ToList(), cboPeriodos.Text); this.ReportViewer1.Report = rep; (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).ClearSelection(); (ReportViewer1.FindControl("ReportToolbar").FindControl("ExportGr").Controls[0].Controls[0] as DropDownList).Items.FindByText("Excel").Selected = true; trReporte.Visible = true; trResultadoVacio.Visible = false; } else { trReporte.Visible = false; trResultadoVacio.Visible = true; } upResultado.Update(); } catch { } }