Exemplo n.º 1
0
        /// <summary>
        /// Método para obtener de la BD todos los datos a utilzar en el resumen y actualizar los valores del form
        /// </summary>
        private void CargarDatosResumen()
        {
            //Se obtiene la configuración actual de la aplicación
            ProgramConfiguration config = new ProgramConfiguration();
            string unidadDeTiempo       = config.ObtenerConfig(ProgramConfiguration.LLAVE_UNIDAD_DE_TIEMPO);

            //Se obtienen los datos a cargar
            datosResumen.fechaActual = DateTime.Now.ToShortDateString();

            //Si el resumen es por fechas se obtienen las fechas seleccionadas
            if (datosResumen.tipoResumen == LLAVE_TIPO_RESUMEN_POR_FECHAS)
            {
                datosResumen.fechaInicioResumen = dateTimePickerInicio.Value;
                datosResumen.fechaFinalResumen  = dateTimePickerFinal.Value;
            }
            try
            {
                datosResumen.hembrasConsideradas = Utilities.EjecutarConsultaCount((datosResumen.tipoResumen == LLAVE_TIPO_RESUMEN_GENERAL) ? CONSULTA_HEMBRAS_CONSIDERADAS : CONSULTA_HEMBRAS_CONSIDERADAS_FECHAS.Replace(PARAM_FECHA_INICIO, datosResumen.fechaInicioResumen.ToString("yyyy-MM-dd")).Replace(PARAM_FECHA_FIN, datosResumen.fechaFinalResumen.ToString("yyyy-MM-dd")));
            }
            catch
            {
                datosResumen.hembrasConsideradas = Utilities.RESULTADO_ERROR;
            }
            try
            {
                datosResumen.hembrasParido = Utilities.EjecutarConsultaCount((datosResumen.tipoResumen == LLAVE_TIPO_RESUMEN_GENERAL) ? CONSULTA_HEMBRAS_PARIDO : CONSULTA_HEMBRAS_PARIDO_FECHAS.Replace(PARAM_FECHA_INICIO, datosResumen.fechaInicioResumen.ToString("yyyy-MM-dd")).Replace(PARAM_FECHA_FIN, datosResumen.fechaFinalResumen.ToString("yyyy-MM-dd")));
            }
            catch
            {
                datosResumen.hembrasParido = Utilities.RESULTADO_ERROR;
            }
            try
            {
                double IEPHistorico = (datosResumen.tipoResumen == LLAVE_TIPO_RESUMEN_GENERAL) ? ProcedimientosAlmacenados.ProcObtenerIEPHistorico() : ProcedimientosAlmacenados.ProcObtenerIEPHistoricoPeriodo(datosResumen.fechaInicioResumen, datosResumen.fechaFinalResumen);
                if (IEPHistorico != Utilities.RESULTADO_ERROR)
                {
                    switch (unidadDeTiempo)
                    {
                    case "Meses":
                        labelIEPPromHistoricoMeses.Text    = "IEP Prom.Histórico (meses)";
                        datosResumen.iepPromHistoricoMeses = IEPHistorico / Utilities.DIAS_MES;
                        break;

                    case "Semanas":
                        labelIEPPromHistoricoMeses.Text    = "IEP Prom.Histórico (semanas)";
                        datosResumen.iepPromHistoricoMeses = IEPHistorico / Utilities.DIAS_SEMANA;
                        break;

                    default:
                        labelIEPPromHistoricoMeses.Text    = "IEP Prom.Histórico (días)";
                        datosResumen.iepPromHistoricoMeses = IEPHistorico;
                        break;
                    }
                }
                else
                {
                    datosResumen.iepPromHistoricoMeses = Utilities.RESULTADO_ERROR;
                }
            }
            catch
            {
                datosResumen.iepPromHistoricoMeses = Utilities.RESULTADO_ERROR;
            }
            try
            {
                int resultadoPartos = Utilities.EjecutarConsultaCount((datosResumen.tipoResumen == LLAVE_TIPO_RESUMEN_GENERAL) ? CONSULTA_PARTOS : CONSULTA_PARTOS_FECHAS.Replace(PARAM_FECHA_INICIO, datosResumen.fechaInicioResumen.ToString("yyyy-MM-dd")).Replace(PARAM_FECHA_FIN, datosResumen.fechaFinalResumen.ToString("yyyy-MM-dd")));
                if (resultadoPartos != Utilities.RESULTADO_ERROR && datosResumen.hembrasConsideradas != Utilities.RESULTADO_ERROR)
                {
                    if (datosResumen.hembrasConsideradas != 0)
                    {
                        datosResumen.promPartosHato = Math.Round((double)resultadoPartos / (double)datosResumen.hembrasConsideradas, 2);
                    }
                    else
                    {
                        datosResumen.promPartosHato = 0;
                    }
                }
                else
                {
                    datosResumen.promPartosHato = Utilities.RESULTADO_ERROR;
                }
            }
            catch
            {
                datosResumen.promPartosHato = Utilities.RESULTADO_ERROR;
            }
            try
            {
                double ultimoIEPHistorico = (datosResumen.tipoResumen == LLAVE_TIPO_RESUMEN_GENERAL) ? ProcedimientosAlmacenados.ProcObtenerUltimoIEPHistorico() : ProcedimientosAlmacenados.ProcObtenerUltimoIEPHistoricoPeriodo(datosResumen.fechaInicioResumen, datosResumen.fechaFinalResumen);
                if (ultimoIEPHistorico != Utilities.RESULTADO_ERROR)
                {
                    switch (unidadDeTiempo)
                    {
                    case "Meses":
                        labelUltimoIEPVacaMeses.Text    = "Último IEP cada vaca (meses)";
                        datosResumen.ultimoIEPVacaMeses = ultimoIEPHistorico / Utilities.DIAS_MES;
                        break;

                    case "Semanas":
                        labelUltimoIEPVacaMeses.Text    = "Último IEP cada vaca (semanas)";
                        datosResumen.ultimoIEPVacaMeses = ultimoIEPHistorico / Utilities.DIAS_SEMANA;
                        break;

                    default:
                        labelUltimoIEPVacaMeses.Text    = "Último IEP cada vaca (días)";
                        datosResumen.ultimoIEPVacaMeses = ultimoIEPHistorico;
                        break;
                    }
                }
                else
                {
                    datosResumen.ultimoIEPVacaMeses = Utilities.RESULTADO_ERROR;
                }
            }
            catch
            {
                datosResumen.ultimoIEPVacaMeses = Utilities.RESULTADO_ERROR;
            }
            if (datosResumen.hembrasParido != Utilities.RESULTADO_ERROR && datosResumen.hembrasConsideradas != Utilities.RESULTADO_ERROR && datosResumen.hembrasConsideradas != 0)
            {
                datosResumen.porcParicionHistorico = Math.Round(((double)datosResumen.hembrasParido / (double)datosResumen.hembrasConsideradas) * 100, 2);
            }
            //Último % de parición
            if (datosResumen.tipoResumen == LLAVE_TIPO_RESUMEN_POR_FECHAS)
            {
                try
                {
                    //Se obtiene la cantidad de hembras servidas
                    int resultadoHembrasServidas           = Utilities.EjecutarConsultaCount(CONSULTA_HEMBRAS_SERVIDAS.Replace(PARAM_FECHA_INICIO, datosResumen.fechaInicioResumen.ToString("yyyy-MM-dd")).Replace(PARAM_FECHA_FIN, datosResumen.fechaFinalResumen.ToString("yyyy-MM-dd")));
                    int resultadoHembrasParidoConPalpacion = Utilities.EjecutarConsultaCount(CONSULTA_HEMBRAS_PARIDO_FECHAS_CON_PALPACION.Replace(PARAM_FECHA_INICIO, datosResumen.fechaInicioResumen.ToString("yyyy-MM-dd")).Replace(PARAM_FECHA_FIN, datosResumen.fechaFinalResumen.ToString("yyyy-MM-dd")));
                    if (resultadoHembrasParidoConPalpacion != Utilities.RESULTADO_ERROR && resultadoHembrasServidas != Utilities.RESULTADO_ERROR)
                    {
                        if (resultadoHembrasServidas != 0)
                        {
                            datosResumen.ultimoPorcParicion = Math.Round(((double)resultadoHembrasParidoConPalpacion / (double)resultadoHembrasServidas) * 100, 2);
                        }
                        else
                        {
                            datosResumen.ultimoPorcParicion = 0;
                        }
                    }
                    else
                    {
                        datosResumen.ultimoPorcParicion = Utilities.RESULTADO_ERROR;
                    }
                }
                catch
                {
                    datosResumen.ultimoPorcParicion = Utilities.RESULTADO_ERROR;
                }
            }
        }