Example #1
0
    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 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();
    }