/// <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); } }
/// <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); } }
/// <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); } }
/// <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 }
/// <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(); } } } } }
/// <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]); } } } } }
///<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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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; } } }
/// <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 = ""; } }
/// <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; } } }