Ejemplo n.º 1
0
        /// <summary>
        /// Intenta eliminar el toro seleccionado de la base de datos.
        /// </summary>
        /// <returns>Un booleano. True sí la operación fue correcta, false en caso contrario.</returns>
        private bool EliminarToro()
        {
            DialogResult resultadoDialogo = Utilities.MostrarMessageBox("¿Seguro que desea eliminar el toro " + this.numeroTrazableToro + "?. Esta operación no se puede revertir.", TITULO_AVISO_ELIMINAR_TORO, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (resultadoDialogo == DialogResult.Yes)
            {
                try
                {
                    int resultado = ProcedimientosAlmacenados.ProcEliminarToro(this.numeroTrazableToro, this.causaDeBaja);
                    if (resultado == Utilities.RESULTADO_ERROR)
                    {
                        return(false);
                    }
                    return(true);
                }
                catch
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Método ausiliar de "botonEliminarModoPrennes_Click", elimina el modo preñes seleccionado por el usuario de la base de datos.
        /// </summary>
        /// <param name="modoPrennes"></param>
        /// <returns></returns>
        private bool EliminarModoPrennes(string modoPrennes)
        {
            DialogResult resultadoDialogo = Utilities.MostrarMessageBox("¿Seguro que desea eliminar el modo preñez seleccionado?. Esta operación no se puede revertir.", TITULO_AVISO_ELIMINAR_RAZA, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (resultadoDialogo == DialogResult.Yes)
            {
                try
                {
                    int resultado = ProcedimientosAlmacenados.ProcEliminarModoPrennes(modoPrennes);
                    if (resultado == Utilities.RESULTADO_ERROR)
                    {
                        return(false);
                    }
                    return(true);
                }
                catch
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Intenta insertar un nuevo parto en la base de datos.
 /// </summary>
 /// <returns>Un booleano. True sí la operación fue correcta, false en caso contrario.</returns>
 private bool RegistrarParto()
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcRegistrarParto(this.fechaParto, this.sexoCria, this.idMadre, this.idPadre, this.muertePrematura, this.causaAborto);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         if (radioButtonNo.Checked && radioButtonSiRegistroTernero.Checked)
         {
             if (this.sexoCria == 'H')
             {
                 resultado = ProcedimientosAlmacenados.ProcInsertarVaca(this.informacionTernero);
             }
             //else resultado = ProcedimientosAlmacenados.ProcInsertarToro(this.informacionTernero);
             if (resultado == Utilities.RESULTADO_ERROR)
             {
                 return(false);
             }
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 4
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 obtienen los datos a cargar
     datosResumen.fechaActual = DateTime.Now.ToShortDateString();
     try
     {
         datosResumen.hembrasConsideradas = Utilities.EjecutarConsultaCount(CONSULTA_HEMBRAS_CONSIDERADAS);
     }
     catch
     {
         datosResumen.hembrasConsideradas = Utilities.RESULTADO_ERROR;
     }
     try
     {
         datosResumen.hembrasParido = Utilities.EjecutarConsultaCount(CONSULTA_HEMBRAS_PARIDO);
     }
     catch
     {
         datosResumen.hembrasParido = Utilities.RESULTADO_ERROR;
     }
     try
     {
         datosResumen.iepPromHistoricoMeses = ProcedimientosAlmacenados.ProcObtenerIEPHistorico();
     }
     catch
     {
         datosResumen.iepPromHistoricoMeses = Utilities.RESULTADO_ERROR;
     }
     try
     {
         int resultadoPartos = Utilities.EjecutarConsultaCount(CONSULTA_PARTOS);
         if (resultadoPartos != Utilities.RESULTADO_ERROR && datosResumen.hembrasConsideradas != Utilities.RESULTADO_ERROR && datosResumen.hembrasConsideradas != 0)
         {
             datosResumen.promPartosHato = (double)resultadoPartos / (double)datosResumen.hembrasConsideradas;
         }
         else
         {
             datosResumen.promPartosHato = Utilities.RESULTADO_ERROR;
         }
     }
     catch
     {
         datosResumen.promPartosHato = Utilities.RESULTADO_ERROR;
     }
     try
     {
         datosResumen.ultimoIEPVacaMeses = ProcedimientosAlmacenados.ProcObtenerUltimoIEPHistorico();
     }
     catch
     {
         datosResumen.ultimoIEPVacaMeses = Utilities.RESULTADO_ERROR;
     }
     if (datosResumen.hembrasParido != Utilities.RESULTADO_ERROR && datosResumen.hembrasConsideradas != Utilities.RESULTADO_ERROR && datosResumen.hembrasConsideradas != 0)
     {
         datosResumen.porcParicionHistorico = ((double)datosResumen.hembrasParido / (double)datosResumen.hembrasConsideradas) * 100;
     }
     //ToDo obtener el último % de parición
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Metodo para obtener todos los datos de las vacas registradas para el documento excel
 /// </summary>
 private void CargarDatosVacas()
 {
     if (datosResumen.hembrasConsideradas > 0)
     {
         //Se obtienen los datos de las vacas y se guardan en la lista
         listaVacas = new List <VacaModel>();
         DataTable dt = new DataTable();
         dt = ProcedimientosAlmacenados.ProcObtenerResumenVacas();
         if (dt != null && dt.Rows.Count > 0)
         {
             for (int iteradorVacas = 0; iteradorVacas < dt.Rows.Count; ++iteradorVacas)
             {
                 listaVacas.Add(new VacaModel());
                 listaVacas[iteradorVacas].pkNumeroTrazable = (int)dt.Rows[iteradorVacas][INDICE_DTR_NUMERO_TRAZABLE];
                 listaVacas[iteradorVacas].nombre           = dt.Rows[iteradorVacas][INDICE_DTR_NOMBRE] != DBNull.Value ? dt.Rows[iteradorVacas][INDICE_DTR_NOMBRE].ToString() : null;
                 if (dt.Rows[iteradorVacas][INDICE_DTR_EDAD_PRIMER_PARTO] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].edadAPrimerPartoMeses = (int)dt.Rows[iteradorVacas][INDICE_DTR_EDAD_PRIMER_PARTO];
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_PARTOS] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].numeroDePartos = (int)dt.Rows[iteradorVacas][INDICE_DTR_PARTOS];
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_EDAD_ULTIMA_CRIA] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].edadUltimaCria = (int)dt.Rows[iteradorVacas][INDICE_DTR_EDAD_ULTIMA_CRIA];
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_FECHA_DESTETE_ULTIMA_CRIA] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].fechaDesteteUltimaCria = ((DateTime)dt.Rows[iteradorVacas][INDICE_DTR_FECHA_DESTETE_ULTIMA_CRIA]).ToShortDateString();
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_IEP_PROMEDIO] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].iepPromedioMeses = Convert.ToDouble(dt.Rows[iteradorVacas][INDICE_DTR_IEP_PROMEDIO]);
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_ULTIMO_IEP] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].ultimoIEPMeses = Convert.ToDouble(dt.Rows[iteradorVacas][INDICE_DTR_ULTIMO_IEP]);
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_FECHA_ULTIMA_MONTA] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].fechaUltimaMonta = ((DateTime)dt.Rows[iteradorVacas][INDICE_DTR_FECHA_ULTIMA_MONTA]).ToShortDateString();
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_GESTACION_DIAS] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].gestacionDias = (int)dt.Rows[iteradorVacas][INDICE_DTR_GESTACION_DIAS];
                 }
                 if (dt.Rows[iteradorVacas][INDICE_DTR_FECHA_PARTO] != DBNull.Value)
                 {
                     listaVacas[iteradorVacas].fechaParto = ((DateTime)dt.Rows[iteradorVacas][INDICE_DTR_FECHA_PARTO]).ToShortDateString();
                 }
             }
         }
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// Método para obtener los datos a utilizar en el worksheet gráfico
        /// </summary>
        private void CargarDatosVacasGrafico()
        {
            //Lista de datos de las vacas
            listaDatosVacas = new List <DatosVacaGraficos>();

            //Se obtiene la cantidad de vacas
            try
            {
                cantidadVacas = Utilities.EjecutarConsultaCount(CONSULTA_VACAS_CONSIDERADAS);
            }
            catch
            {
                cantidadVacas = Utilities.RESULTADO_ERROR;
            }

            if (cantidadVacas > 0 && cantidadVacas != Utilities.RESULTADO_ERROR)
            {
                //Se obtiene el IEP promedio del hato
                promedioIEPHato = ProcedimientosAlmacenados.ProcObtenerIEPHistorico();

                //Se obtienen todos los demás datos
                DataTable dt = new DataTable();
                dt = ProcedimientosAlmacenados.ProcObtenerDatosGraficosVacas();

                if (dt != null && dt.Rows.Count > 0)
                {
                    for (int iteradorVacas = 0; iteradorVacas < dt.Rows.Count; ++iteradorVacas)
                    {
                        listaDatosVacas.Add(new DatosVacaGraficos());
                        listaDatosVacas[iteradorVacas].pkNumeroTrazableVaca = (int)dt.Rows[iteradorVacas][INDICE_DTR_NUMERO_TRAZABLE_GRAFICO];

                        if (dt.Rows[iteradorVacas][INDICE_DTR_CANTIDAD_PARTOS] != DBNull.Value)
                        {
                            listaDatosVacas[iteradorVacas].partosVaca = (int)dt.Rows[iteradorVacas][INDICE_DTR_CANTIDAD_PARTOS];
                        }

                        if (dt.Rows[iteradorVacas][INDICE_DTR_IEP_VACA] != DBNull.Value)
                        {
                            listaDatosVacas[iteradorVacas].iepPromedioVacaDias = Convert.ToDouble(dt.Rows[iteradorVacas][INDICE_DTR_IEP_VACA]);
                        }

                        if (dt.Rows[iteradorVacas][INDICE_DTR_ULTIMO_IEP_VACA] != DBNull.Value)
                        {
                            listaDatosVacas[iteradorVacas].ultimoIEPVacaDias = Convert.ToDouble(dt.Rows[iteradorVacas][INDICE_DTR_ULTIMO_IEP_VACA]);
                        }
                    }
                }
            }
        }
Ejemplo n.º 7
0
 ///<summary>
 ///Agrega el examen mediante el procedimiento almacenado.
 ///</summary>
 ///<param name="datosNuevoExamen"></param>
 ///<returns> booleano dependiendo de si fue exitosa o no la insercion del examen. </returns>
 private bool AgregarNuevoExamen(ExamenModel datosNuevoExamen)
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcInsertarExamen(datosNuevoExamen);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 8
0
 /// <summary>
 /// Intenta editar la información del toro en la base de datos.
 /// </summary>
 /// <param name="datosNuevoToro"></param>
 /// <returns>Un booleano. True sí la operación fue correcta, false en caso contrario.</returns>
 private bool EditarToro(ToroModel datosNuevoToro)
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcEditarToro(datosNuevoToro);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Intenta insertar el nuevo destete en la base de datos.
 /// </summary>
 /// <returns>Un booleano. True sí la operación fue correcta, false en caso contrario.</returns>
 private bool InsertarDestete()
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcInsertarDestete(this.vacaId, this.fechaDestete);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Método ausiliar de "botonAgregarModoPrennes_Click", inserta el modo preñes digitada por el usuario de la base de datos.
 /// </summary>
 /// <param name="text"></param>
 /// <returns></returns>
 private bool AgregarNuevoModoPrennes(string modoPrennes)
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcInsertarModoPrennes(modoPrennes);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 11
0
 /// <summary>
 /// Método ausiliar de "botonAgregarRaza_Click", inserta la raza digitada por el usuario de la base de datos.
 /// </summary>
 /// <param name="raza"></param>
 /// <returns></returns>
 private bool AgregarNuevaRaza(string raza)
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcInsertarRaza(raza);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
 ///<summary>
 ///Elimina un examen andrologico de la base
 ///</summary>
 ///<param name="fecha"></param>
 ///<param name="id"></param>
 ///<returns> booleano dependiendo de si fue o no exitosa la eliminacion </returns>
 private bool eliminarExamen(DateTime fecha, int id)
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcEliminarExamen(fecha, id);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 13
0
 /// <summary>
 /// Intenta insertar una nueva palpación en la base de datos.
 /// </summary>
 /// <returns>Un booleano. True sí la operación fue correcta, false en caso contrario.</returns>
 private bool RegistrarPalpacion()
 {
     try
     {
         int resultado = ProcedimientosAlmacenados.ProcRegistrarPalpacion(this.numeroTrazable, this.fechaPalpacion, this.condicionCorporal, this.confirmacion, this.resultadoPalpacion);
         if (resultado == Utilities.RESULTADO_ERROR)
         {
             return(false);
         }
         if (radioButtonPositiva.Checked && radioButtonSi.Checked)
         {
             resultado = ProcedimientosAlmacenados.ProcActualizarModoPrennesVaca(this.numeroTrazable, this.fkNuevoModoPrennes);
             if (resultado == Utilities.RESULTADO_ERROR)
             {
                 return(false);
             }
         }
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Ejemplo n.º 14
0
        /// <summary>
        /// Asigna a los componentes del form la información de la vaca seleccionada.
        /// </summary>
        private void LlenarInformcionVaca()
        {
            textBoxNumeroTrazableVaca.Text = this.informacionVacaSeleccionada.pkNumeroTrazable.ToString();
            textBoxNombre.Text             = this.informacionVacaSeleccionada.nombre;
            textBoxCaracteristicas.Text    = this.informacionVacaSeleccionada.caracteriscas;
            textBoxFechaNacimiento.Text    = this.informacionVacaSeleccionada.fecha.ToString();
            textBoxModoPrennes.Text        = this.informacionVacaSeleccionada.modoPrennes;
            textBoxIdMadre.Text            = this.informacionVacaSeleccionada.fkNumeroTrazableMadre.ToString();
            textBoxIdPadre.Text            = this.informacionVacaSeleccionada.fkNumeroTrazablePadre.ToString();
            textBoxRaza.Text = this.informacionVacaSeleccionada.razaStr;
            int edad = -1;

            if (this.informacionVacaSeleccionada.fecha != null)
            {
                edad = DateTime.Today.Year - ((DateTime)this.informacionVacaSeleccionada.fecha).Year;
                if (((DateTime)this.informacionVacaSeleccionada.fecha).Date > DateTime.Today.AddYears(-edad))
                {
                    edad--;
                }
            }
            textBoxEdad.Text       = edad.ToString();
            textBoxPeso.Text       = this.informacionVacaSeleccionada.peso.ToString();
            textBoxDesarrollo.Text = this.informacionVacaSeleccionada.desarrollo;
            if (this.informacionVacaSeleccionada.activa)
            {
                checkBoxActiva.Checked     = true;
                textBoxCausaDeBaja.Visible = false;
                labelCausaDeBaja.Visible   = false;
            }
            else
            {
                checkBoxActiva.Checked     = false;
                textBoxCausaDeBaja.Visible = true;
                textBoxCausaDeBaja.Text    = this.informacionVacaSeleccionada.causaDeBaja;
            }
            // Se calculan los parametros reproductivos de la vaca.
            ProgramConfiguration config = new ProgramConfiguration();
            string unidadDeTiempo       = config.ObtenerConfig(ProgramConfiguration.LLAVE_UNIDAD_DE_TIEMPO);

            try
            {
                double resultado = ProcedimientosAlmacenados.ProcObtenerUltimoIEP(this.informacionVacaSeleccionada.pkNumeroTrazable);
                if ((int)resultado == Utilities.RESULTADO_ERROR)
                {
                    textBoxUltimoIEP.Text = "Error";
                }
                else
                {
                    switch (unidadDeTiempo)
                    {
                    case "Meses":
                        labelIEPUltimo.Text   = "Ultimo IEP (meses)";
                        textBoxUltimoIEP.Text = (resultado / Utilities.DIAS_MES).ToString("0.##");
                        break;

                    case "Semanas":
                        labelIEPUltimo.Text   = "Ultimo IEP (semanas)";
                        textBoxUltimoIEP.Text = (resultado / Utilities.DIAS_SEMANA).ToString("0.##");
                        break;

                    default:
                        labelIEPUltimo.Text   = "Ultimo IEP (días)";
                        textBoxUltimoIEP.Text = resultado.ToString("0.##");
                        break;
                    }
                }
            }
            catch
            {
                textBoxUltimoIEP.Text = "Error";
            }
            try
            {
                double resultado = ProcedimientosAlmacenados.ProcObtenerIEP(this.informacionVacaSeleccionada.pkNumeroTrazable);
                if ((int)resultado == Utilities.RESULTADO_ERROR)
                {
                    textBoxIEPPromedio.Text = "Error";
                }
                else
                {
                    switch (unidadDeTiempo)
                    {
                    case "Meses":
                        labelIEPPromedio.Text   = "IEP promedio (meses)";
                        textBoxIEPPromedio.Text = (resultado / Utilities.DIAS_MES).ToString("0.##");
                        break;

                    case "Semanas":
                        labelIEPPromedio.Text   = "Ultimo promedio (semanas)";
                        textBoxIEPPromedio.Text = (resultado / Utilities.DIAS_SEMANA).ToString("0.##");
                        break;

                    default:
                        labelIEPPromedio.Text   = "Ultimo promedio (días)";
                        textBoxIEPPromedio.Text = resultado.ToString();
                        break;
                    }
                }
            }
            catch
            {
                textBoxIEPPromedio.Text = "Error";
            }
            // Se calcula una fecha de parto tentativa.
            Object resultadoQuery = Utilities.ObtenerAtributoTabla(QUERY_SELECT_FECHA_ULTIMO_CELO_VACA, VACA_PARAM, this.informacionVacaSeleccionada.pkNumeroTrazable);

            if (this.informacionVacaSeleccionada.modoPrennes != "No preñada")
            {
                if (resultadoQuery.GetType().ToString() != "System.DBNull")
                {
                    labelFechaTentativaParto.Visible = textBoxFechaTentativaParto.Visible = true;
                    labelFechaTentativaParto.Text    = "Fecha tentativa de parto";
                    if (resultadoQuery.GetType().ToString() != "System.DateTime")
                    {
                        textBoxFechaTentativaParto.Text = "Error";
                    }
                    else
                    {
                        try
                        {
                            DateTime fechaUltimoCeloVaca = (DateTime)resultadoQuery;
                            DateTime fechaTentativaParto = fechaUltimoCeloVaca.AddMonths(Utilities.TIEMPO_GESTACION_VACA_MESES);
                            textBoxFechaTentativaParto.Text = fechaTentativaParto.ToShortDateString();
                        }
                        catch
                        {
                            textBoxFechaTentativaParto.Text = "Error";
                        }
                    }
                }
                else
                {
                    labelFechaTentativaParto.Visible = textBoxFechaTentativaParto.Visible = false;
                }
            }
            else
            {
                if (resultadoQuery.GetType().ToString() != "System.DBNull")
                {
                    labelFechaTentativaParto.Visible = textBoxFechaTentativaParto.Visible = true;
                    labelFechaTentativaParto.Text    = "Fecha de palpación";
                    if (resultadoQuery.GetType().ToString() != "System.DateTime")
                    {
                        textBoxFechaTentativaParto.Text = "Error";
                    }
                    else
                    {
                        try
                        {
                            DateTime fechaUltimoCeloVaca = (DateTime)resultadoQuery;
                            DateTime fechaTentativaParto = fechaUltimoCeloVaca.AddDays(Int32.Parse(config.ObtenerConfig(ProgramConfiguration.LLAVE_ALERTA_PALPACION)));
                            textBoxFechaTentativaParto.Text = fechaTentativaParto.ToShortDateString();
                        }
                        catch
                        {
                            textBoxFechaTentativaParto.Text = "Error";
                        }
                    }
                }
                else
                {
                    labelFechaTentativaParto.Visible = textBoxFechaTentativaParto.Visible = false;
                }
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Asigna a los componentes del form la información de la vaca seleccionada.
        /// </summary>
        private void LlenarInformcionVaca()
        {
            textBoxNumeroTrazableVaca.Text = this.informacionVacaSeleccionada.pkNumeroTrazable.ToString();
            textBoxNombre.Text             = this.informacionVacaSeleccionada.nombre;
            textBoxCaracteristicas.Text    = this.informacionVacaSeleccionada.caracteriscas;
            textBoxFechaNacimiento.Text    = this.informacionVacaSeleccionada.fecha.ToString();
            textBoxModoPrennes.Text        = this.informacionVacaSeleccionada.modoPrennes;
            textBoxIdMadre.Text            = this.informacionVacaSeleccionada.fkNumeroTrazableMadre.ToString();
            textBoxIdPadre.Text            = this.informacionVacaSeleccionada.fkNumeroTrazablePadre.ToString();
            textBoxRaza.Text = this.informacionVacaSeleccionada.razaStr;
            int edad = -1;

            if (this.informacionVacaSeleccionada.fecha != null)
            {
                edad = DateTime.Today.Year - ((DateTime)this.informacionVacaSeleccionada.fecha).Year;
                if (((DateTime)this.informacionVacaSeleccionada.fecha).Date > DateTime.Today.AddYears(-edad))
                {
                    edad--;
                }
            }
            textBoxEdad.Text       = edad.ToString();
            textBoxPeso.Text       = this.informacionVacaSeleccionada.peso.ToString();
            textBoxDesarrollo.Text = this.informacionVacaSeleccionada.desarrollo;
            if (this.informacionVacaSeleccionada.activa)
            {
                checkBoxActiva.Checked     = true;
                textBoxCausaDeBaja.Visible = false;
                labelCausaDeBaja.Visible   = false;
            }
            else
            {
                checkBoxActiva.Checked     = false;
                textBoxCausaDeBaja.Visible = true;
                textBoxCausaDeBaja.Text    = this.informacionVacaSeleccionada.causaDeBaja;
            }
            // Se calculan los parametros reproductivos de la vaca.
            try
            {
                double resultado = ProcedimientosAlmacenados.ProcObtenerUltimoIEP(this.informacionVacaSeleccionada.pkNumeroTrazable);
                if ((int)resultado == Utilities.RESULTADO_ERROR)
                {
                    textBoxUltimoIEP.Text = "Error";
                }
                else
                {
                    textBoxUltimoIEP.Text = resultado.ToString();
                }
            }
            catch
            {
                textBoxUltimoIEP.Text = "Error";
            }
            try
            {
                double resultado = ProcedimientosAlmacenados.ProcObtenerIEP(this.informacionVacaSeleccionada.pkNumeroTrazable);
                if ((int)resultado == Utilities.RESULTADO_ERROR)
                {
                    textBoxIEPPromedio.Text = "Error";
                }
                else
                {
                    textBoxIEPPromedio.Text = resultado.ToString();
                }
            }
            catch
            {
                textBoxIEPPromedio.Text = "Error";
            }
            // Se calcula una fecha de parto tentativa.
            Object resultadoQuery = Utilities.ObtenerAtributoTabla(QUERY_SELECT_FECHA_ULTIMO_CELO_VACA, VACA_PARAM, this.informacionVacaSeleccionada.pkNumeroTrazable);

            if (resultadoQuery != null)
            {
                if (resultadoQuery.GetType().ToString() == "System.Int32")
                {
                    textBoxFechaTentativaParto.Text = "Error";
                }
                else
                {
                    try
                    {
                        DateTime fechaUltimoCeloVaca   = (DateTime)resultadoQuery;
                        DateTime fechaActual           = DateTime.Now;
                        int      diferenciaMesesFechas = (fechaActual.Year - fechaUltimoCeloVaca.Year) * 12 + fechaActual.Month - fechaUltimoCeloVaca.Month;
                        if (diferenciaMesesFechas < Utilities.TIEMPO_GESTACION_VACA_MESES)
                        {
                            DateTime fechaTentativaParto = fechaUltimoCeloVaca.AddMonths(Utilities.TIEMPO_GESTACION_VACA_MESES);
                            textBoxFechaTentativaParto.Text = fechaTentativaParto.ToShortDateString();
                        }
                        else
                        {
                            textBoxFechaTentativaParto.Text = "";
                        }
                    }
                    catch
                    {
                        textBoxFechaTentativaParto.Text = "";
                    }
                }
            }
            else
            {
                textBoxFechaTentativaParto.Text = "";
            }
        }
Ejemplo n.º 16
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;
                }
            }
        }