Esempio n. 1
0
        internal static AlimentacionEstadoComederoModel Generar(DataSet ds)
        {
            var modelo = new AlimentacionEstadoComederoModel();

            MetodoBase(() =>
            {
                DataTable dt = ds.Tables[ConstantesDAL.DtDatos];
                modelo.DatosReporteComederoInfo = new System.Collections.ObjectModel.ObservableCollection <AlimentacionEstadoComederoInfo>(MapearDatos(dt));

                dt = ds.Tables[ConstantesDAL.DtDetalle];
                modelo.FechaServidorBD = obtenerfecha(dt);
            });
            return(modelo);
        }
Esempio n. 2
0
        private void GenerarReporte()
        {
            try
            {
                var organizacion = (OrganizacionInfo)cmbOrganizacion.SelectedItem;

                if (organizacion == null || organizacion.OrganizacionID == 0)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ReporteEstadoComerdero_MsgSelecioneOrganizacion,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    cmbOrganizacion.Focus();
                    return;
                }

                string   division       = Contexto.Division;
                int      organizacionID = organizacion.OrganizacionID;
                DateTime fechaReporte   = dtFecha.SelectedDate.Value;
                //infos reporte página principal
                List <ReporteEstadoComederoInfo> ListaRptEstadoComedero = new List <ReporteEstadoComederoInfo>();
                ReporteEstadoComederoInfo        oRptEstadoComedero     = new ReporteEstadoComederoInfo();
                //Infos para el primer sub informe
                List <AlimentacionEstadoComederoReporteModel> detalle      = new List <AlimentacionEstadoComederoReporteModel>();
                List <ReporteEstadoComederosDetalleInfo>      ListaDetalle = new List <ReporteEstadoComederosDetalleInfo>();
                AlimentacionEstadoComederoModel   modelos = new AlimentacionEstadoComederoModel();
                ReporteEstadoComederosDetalleInfo oListaDetalle;
                //Infos para el segundo sub informe
                List <ReporteEstadoComederoCorralesEstadoInfo> ListaCorralesComederos = new List <ReporteEstadoComederoCorralesEstadoInfo>();
                ReporteEstadoComederoCorralesFormulaInfo       oCorralesFormula;
                //infos para el tercer subinforme
                ReporteEstadoComederoCorralesEstadoInfo oCorralesComederos;
                AlimentacionEstadoComederoModel         modelo = new AlimentacionEstadoComederoModel();
                //Comienza seccion generar datos informe pagina princiapal
                oRptEstadoComedero.Titulo       = Properties.Resources.ReporteEstadoComerdero_TituloPorFormula;
                oRptEstadoComedero.RangoFechas  = fechaReporte.ToShortDateString();
                oRptEstadoComedero.Organizacion = string.Format(Properties.Resources.Reporte_NombreEmpresa, division);
                ListaRptEstadoComedero.Add(oRptEstadoComedero);
                //Termina seccion generar datos informe pagina principal
                //-->
                //Comienza generar datos para el primer informe
                modelos = controlador.GenerarReporteDetallado(organizacionID);
                foreach (var dato in modelos.DatosReporteComederoInfo)
                {
                    oListaDetalle                            = new ReporteEstadoComederosDetalleInfo();
                    oListaDetalle.Codigo                     = dato.Corral;
                    oListaDetalle.Lote                       = dato.Lote;
                    oListaDetalle.TipoGanado                 = dato.TipoGanado;
                    oListaDetalle.Cabezas                    = dato.Cabezas;
                    oListaDetalle.DiasEngorda                = dato.DiasEngorda;
                    oListaDetalle.PesoProyectado             = dato.PesoProyectado;
                    oListaDetalle.DiasUltimaFormula          = dato.DiasUltimaFormula;
                    oListaDetalle.Prom5Dias                  = dato.Promedio5Dias;
                    oListaDetalle.EstadoComederoID           = dato.EstadoComederoHoy;
                    oListaDetalle.AMProgramadoHoy            = dato.AlimentacionProgramadaMatutinaHoy;
                    oListaDetalle.FormulaDescAMProgramadoHoy = dato.FormulaProgramadaMatutinaHoy;
                    oListaDetalle.PMProgramadoHoy            = dato.AlimentacionProgramadaVespertinaHoy;
                    oListaDetalle.FormulaDescPMProgramadoHoy = dato.FormulaProgramadaVespertinaHoy;
                    oListaDetalle.TotalProgramadoHoy         = dato.TotalProgramadoHoy;
                    oListaDetalle.ECRealServidorAyer         = dato.EstadoComederoRealAyer;
                    oListaDetalle.AMRealServidorAyer         = dato.AlimentacionRealMatutinaAyer;
                    oListaDetalle.FormulaDescAMServidaAyer   = dato.FormulaRealMatutinaAyer;
                    oListaDetalle.PMRealServidorAyer         = dato.AlimentacionRealVespertinoAyer;
                    oListaDetalle.FormulaDescPMServidaAyer   = dato.FormulaRealVespertinoAyer;
                    oListaDetalle.TotalServidoAyer           = dato.TotalRealAyer;
                    oListaDetalle.Kilogramos3                = dato.Kilogramos3Dias;
                    oListaDetalle.CxC3                       = dato.ConsumoCabeza3Dias;
                    oListaDetalle.EC3                        = dato.EstadoComedero3Dias;
                    oListaDetalle.Kilogramos4                = dato.Kilogramos4Dias;
                    oListaDetalle.CxC4                       = dato.ConsumoCabeza4Dias;
                    oListaDetalle.EC4                        = dato.EstadoComedero4Dias;
                    oListaDetalle.Kilogramos5                = dato.Kilogramos5Dias;
                    oListaDetalle.CxC5                       = dato.ConsumoCabeza5Dias;
                    oListaDetalle.EC5                        = dato.EstadoComedero5Dias;
                    oListaDetalle.Kilogramos6                = dato.Kilogramos6Dias;
                    oListaDetalle.CxC6                       = dato.ConsumoCabeza6Dias;
                    oListaDetalle.EC6                        = dato.EstadoComedero6Dias;
                    oListaDetalle.Kilogramos7                = dato.Kilogramos7Dias;
                    oListaDetalle.CxC7                       = dato.ConsumoCabeza7Dias;
                    oListaDetalle.EC7                        = dato.EstadoComedero7Dias;

                    oListaDetalle.Titulo       = Properties.Resources.ReporteEstadoComerdero_TituloPrincipal;
                    oListaDetalle.RangoFechas  = modelos.FechaServidorBD.ToShortDateString();
                    oListaDetalle.Organizacion = string.Format(Properties.Resources.Reporte_NombreEmpresa, division);

                    ListaDetalle.Add(oListaDetalle);
                }
                //Termina negerar datos para el primer reporte
                //-->
                //Comienza generar datos para el segundo reporte
                List <ReporteEstadoComederoCorralesFormulaInfo> ListaCorralesFormula =
                    new List <ReporteEstadoComederoCorralesFormulaInfo>();
                modelo = controlador.GenerarSegundoReporte(organizacionID);
                foreach (var cpf in modelo.CorralesPorFormula)
                {
                    oCorralesFormula = new ReporteEstadoComederoCorralesFormulaInfo();

                    oCorralesFormula.corral  = cpf.TotalCorrales.ToString();
                    oCorralesFormula.Formula = cpf.FormulaDescripcion;
                    ListaCorralesFormula.Add(oCorralesFormula);
                }
                foreach (var dato in ListaCorralesFormula)
                {
                    dato.Titulo       = Properties.Resources.ReporteEstadoComerdero_TituloPorFormula;
                    dato.RangoFechas  = DateTime.Now.ToShortDateString();
                    dato.Organizacion = string.Format(Properties.Resources.Reporte_NombreEmpresa, division);
                }
                //Finaliza generar datos para el segundo reporte
                //-->
                //Comienza generar datos para el tercer sub informe
                foreach (var cpec in modelo.CorralesPorEstadoComedero)
                {
                    oCorralesComederos = new ReporteEstadoComederoCorralesEstadoInfo();

                    oCorralesComederos.IdEstadoComedero    = cpec.EstadoComederoID;
                    oCorralesComederos.DescripcionComedero = cpec.EstadoComederoDescripcion;
                    oCorralesComederos.Corrales            = cpec.TotalCorrales;

                    ListaCorralesComederos.Add(oCorralesComederos);
                }
                foreach (var dato in ListaCorralesComederos)
                {
                    dato.Titulo       = Properties.Resources.ReporteEstadoComerdero_TituloPorEstado;
                    dato.RangoFechas  = DateTime.Now.ToShortDateString();
                    dato.Organizacion = string.Format(Properties.Resources.Reporte_NombreEmpresa, division);
                }
                //Termina generar datos para el tercer sub informe
                if (ListaDetalle.Count > 0)
                {
                    var documento = new ReportDocument();
                    var reporte   = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory,
                                                  "\\Reporte\\RptReporteEstadoComedero.rpt");
                    documento.Load(reporte);

                    documento.DataSourceConnections.Clear();

                    documento.SetDataSource(ListaRptEstadoComedero);

                    documento.OpenSubreport("RptReporteEstadoComederoDetalle.rpt")
                    .SetDataSource(ListaDetalle);

                    documento.OpenSubreport("RptReportesEstadoComederoCorralesFormula.rpt")
                    .SetDataSource(ListaCorralesFormula);

                    documento.OpenSubreport("RptReportesEstadoComederoCorralesComederos.rpt")
                    .SetDataSource(ListaCorralesComederos);

                    documento.Refresh();

                    var forma = new ReportViewer(documento, Properties.Resources.ReporteEstadoComerdero_TituloPrincipal);
                    forma.MostrarReporte();
                    forma.Show();
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ReporteEstadoComerdero_NoExistenDatos,
                                      //"No existe información en la fecha mostrada en pantalla. Favor de verificar.",
                                      MessageBoxButton.OK, MessageImage.Warning);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ReporteEstadoComerdero_FalloCargarReporte,
                                  //"No existe información en la fecha mostrada en pantalla. Favor de verificar.",
                                  MessageBoxButton.OK, MessageImage.Error);
            }
        }