/// <summary> /// Valida si el tipo de corral destino esta configurado como invalido. /// </summary> /// <returns>Regresa True si el tipoCorralID esta configurado como invalido en el parametro</returns> private bool ValidarValorParametroCorralDestino() { if (ValidarParametroCorralDestino()) { ParametroOrganizacionInfo parametroValor = new ParametroOrganizacionPL().ObtenerPorOrganizacionIDClaveParametro(int.Parse(Application.Current.Properties["OrganizacionID"].ToString()), ParametrosEnum.CORRALDESTINOORGANIZACION.ToString()); string[] TiposCorralConfigurados = parametroValor.Valor.Split('|'); bool encontrado = false; foreach (string tipoCorral in TiposCorralConfigurados) { if (tipoCorral == this.corralInfoOrigen.TipoCorral.TipoCorralID.ToString()) { encontrado = true; } } if (encontrado) { imgloading.Visibility = Visibility.Hidden; txtCorralDestino.Focus(); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorrales_MsgCorralNoConfigurado, MessageBoxButton.OK, MessageImage.Stop); txtCorralDestino.Clear(); txtCorralDestino.IsEnabled = true; corralInfoDestino = new CorralInfo(); // CorralPL corralpl = new CorralPL(); CorralInfo corral = corralpl.ObtenerCorralActivoPorCodigo(organizacionID, txtCorralOrigen.Text.Trim()); var corralInfo = new CorralInfo { Codigo = txtCorralOrigen.Text, GrupoCorral = corral.GrupoCorral, Organizacion = new OrganizacionInfo { OrganizacionID = organizacionID }, }; corralInfoOrigen = corralInfo; var animalPL = new AnimalPL(); listaAnimales = animalPL.ObtenerAnimalesPorCodigoCorral(corralInfo); if (listaAnimales != null) { lisBoxCorralDestino.ItemsSource = null; lisBoxCorralOrigen.ItemsSource = listaAnimales; txtCorralDestino.IsEnabled = true; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralNoTieneLoteActivo, MessageBoxButton.OK, MessageImage.Warning); } btnGuardar.IsEnabled = false; // } return(encontrado); } return(false); }
public static AnimalInfo ValidaEsAnimalDeCargaInicial(AnimalInfo animalInfo) { AnimalInfo animal = null; try{ var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var animalPl = new AnimalPL(); /* Validar Si el arete existe en el inventario */ animal = animalPl.ObtenerAnimalPorArete(animalInfo.Arete, organizacionId); if (!(animal != null && animal.CargaInicial)) { animal = null; } } catch (Exception ex) { Logger.Error(ex); //throw; } return(animal); }
public static CorralInfo ObtenerCorral(string arete) { AnimalInfo animal = null; AnimalMovimientoInfo animalMovimiento = null; CorralInfo corral = null; int respuesta = 0; try { var animalPL = new AnimalPL(); var corralPL = new CorralPL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId); animalMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animal); corral = corralPL.ObtenerPorId(animalMovimiento.CorralID); } catch (Exception ex) { Logger.Error(ex); } return(corral); }
public static AnimalInfo ObtenerExisteArete(string arete) { AnimalInfo animal = null; try { var animalPL = new AnimalPL(); var muertePL = new MuertePL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId); if (animal != null) { MuerteInfo muerto = muertePL.ObtenerMuertoPorArete(organizacionId, arete); if (muerto != null) { animal.AnimalID = -1; } } //ObtenerCorralDestinoAnimal(arete); } catch (Exception ex) { Logger.Error(ex); } return(animal); }
private void ObtenerDatosCalculados() { try { var animalBL = new AnimalPL(); var lotePL = new LotePL(); if (Contexto.LoteProyeccion != null) { if (Contexto.Lote.FechaDisponibilidad.Date.Year > 2000) { Contexto.FechaDisponible = Contexto.Lote.FechaDisponibilidad; } else { Contexto.FechaDisponible = Contexto.Lote.FechaInicio.AddDays(Contexto.LoteProyeccion.DiasEngorda); } } else { Contexto.FechaDisponible = DateTime.Now; } modificacionCodigo = true; dtpFechaDisponible.SelectedDate = Contexto.FechaDisponible; var animalesLote = animalBL.ObtenerAnimalesPorLote(Contexto.Corral.Organizacion.OrganizacionID, Contexto.Lote.LoteID); if (animalesLote == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfiguracionReimplante_LoteSinAnimales, MessageBoxButton.OK, MessageImage.Warning); return; } var count = animalesLote.Count; double temp = 0D; for (int i = 0; i < count; i++) { temp += animalesLote[i].FechaEntrada.Ticks / (double)count; } var average = new DateTime((long)temp); Contexto.PesoOrigen = Convert.ToInt32(animalesLote.Average(ani => ani.PesoCompra)); Contexto.TipoGanado = lotePL.ObtenerTipoGanadoCorral(Contexto.Lote); Contexto.DiasEngorda = Convert.ToInt32((DateTime.Now - average).TotalDays); if (Contexto.Lote.AplicaCierreLote && Contexto.DiasEngorda < 21) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfiguracionReimplante_LoteMenor21, MessageBoxButton.OK, MessageImage.Warning); Limpiar(); } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ConfiguracionReimplante_ErrorCalcularDatos, MessageBoxButton.OK, MessageImage.Error); } }
public static List <AnimalInfo> ObtenerAnimalesPorCodigoCorral(string corralCodigo) { List <AnimalInfo> lista = null; try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var animalPl = new AnimalPL(); var corralPl = new CorralPL(); CorralInfo corral = null; corral = corralPl.ObtenerCorralPorCodigo(organizacionId, corralCodigo); corral.Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }; return(animalPl.ObtenerAnimalesPorCorral(corral, organizacionId)); } catch (Exception ex) { Logger.Error(ex); } return(lista); }
private void TxtAreteMetalicoNuevo_OnLostFocus(object sender, RoutedEventArgs e) { try { var text = (System.Windows.Controls.TextBox)sender; var elementoArete = Contexto.ListaAretes.FirstOrDefault(are => are.AreteMetalicoCorte.Equals(text.Text)); //(FiltroAnimalesReemplazoArete)dgAretes.Items if (elementoArete == null) { return; } var animalPL = new AnimalPL(); if (string.IsNullOrWhiteSpace(elementoArete.AreteMetalicoCorte)) { elementoArete.AreteMetalicoCorte = elementoArete.AreteMetalicoCentro; return; } AnimalInfo animal = animalPL.ObtenerAnimalPorAreteTestigo(elementoArete.AreteMetalicoCorte, Contexto.EntradaGanado.OrganizacionID); if (animal != null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], string.Format(Properties.Resources.ReemplazoArete_ExisteArete, animal.FolioEntrada), MessageBoxButton.OK, MessageImage.Warning); elementoArete.AreteMetalicoCorte = elementoArete.AreteMetalicoCentro; } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ReemplazoArete_ErrorValidarArete, MessageBoxButton.OK, MessageImage.Error); } }
public static List <AnimalInfo> ObtenerAretes(CorralInfo corralInfo) { List <AnimalInfo> listaAnimales = null; try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; if (seguridad != null) { bool esPartida = false; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var corralPl = new CorralPL(); CorralInfo corral = corralPl.ObtenerCorralPorCodigo(organizacionId, corralInfo.Codigo); if (corral.GrupoCorral == GrupoCorralEnum.Recepcion.GetHashCode()) { esPartida = true; } var animalPL = new AnimalPL(); listaAnimales = animalPL.ObtenerAnimalesPorCorralDeteccion(corral.CorralID, esPartida); } } catch (Exception ex) { Logger.Error(ex); } return(listaAnimales); }
public static CorralInfo ObtenerCorralAreteTestigo(string areteTestigo) { CorralInfo corral = null; try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionId = 0; if (seguridad != null) { organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; } var animalPl = new AnimalPL(); var corralPl = new CorralPL(); var animalInfo = animalPl.ObtenerAnimalPorAreteTestigo(areteTestigo, organizacionId); if (animalInfo != null) { var ultimoMovimiento = animalPl.ObtenerUltimoMovimientoAnimal(animalInfo); if (ultimoMovimiento != null) { corral = corralPl.ObtenerPorId(ultimoMovimiento.CorralID); } } } catch (Exception e) { Logger.Error(e); } return(corral); }
public static Respuesta Inactivar_Animal(Peticion <long> req) { var feedBack = new Respuesta { Mensaje = string.Empty, Resultado = false }; try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var pl = new AnimalPL(); var info = new AnimalInfo { Activo = false, AnimalID = req.Datos, UsuarioModificacionID = seguridad.Usuario.UsuarioID }; pl.InactivarAnimal(info); feedBack.Resultado = true; } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al inactivar el animal."); } return(feedBack); }
private void txtCorralDestino_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter || e.Key == Key.Tab) { if (String.IsNullOrWhiteSpace(txtCorralOrigen.Text)) { txtCorralOrigen.Focus(); e.Handled = true; } else { //Validar si el corral destino es de tipo enfermeria var corralPl = new CorralPL(); var corralInfo = new CorralInfo { Codigo = txtCorralDestino.Text, TipoCorral = new TipoCorralInfo { TipoCorralID = (int)TipoCorral.Enfermeria, }, Organizacion = new OrganizacionInfo { OrganizacionID = _organizacionId } }; corralInfo = corralPl.ObtenerPorCodigoCorral(corralInfo); if (corralInfo == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralInvalido, MessageBoxButton.OK, MessageImage.Warning); txtCorralDestino.Focus(); return; } else { corralPl = new CorralPL(); corralInfo = new CorralInfo { Codigo = txtCorralDestino.Text, Organizacion = new OrganizacionInfo { OrganizacionID = _organizacionId }, TipoCorral = new TipoCorralInfo { TipoCorralID = (int)TipoCorral.Enfermeria, } }; var animalPL = new AnimalPL(); _Animales = animalPL.ObtenerAnimalesPorCodigoCorral(corralInfo); LlenarAretesDestino(_Animales); EstablecerControlesTrue(); lisBoxCorralOrigen.SelectionMode = SelectionMode.Multiple; lisBoxCorralDestino.SelectionMode = SelectionMode.Multiple; txtCorralDestino.IsEnabled = false; } } } }
private void TxtCorralLostFocus(object sender, RoutedEventArgs e) { try { if (!string.IsNullOrWhiteSpace(Contexto.CorralInfo.Codigo)) { var lotePL = new LotePL(); IEnumerable <LoteInfo> lotes = lotePL.ObtenerPorCodigoCorralOrganizacionID(Contexto.OrganizacionId, Contexto.CorralInfo.Codigo); bool valido = ValidarCorral(lotes); if (valido) { var animalPL = new AnimalPL(); LoteInfo lote = lotes.ToList().FirstOrDefault(activo => activo.Activo == EstatusEnum.Activo); if (lote != null) { List <AnimalInfo> animales = animalPL.ObtenerAnimalesPorLote(Contexto.OrganizacionId, lote.LoteID); Contexto.LoteInfo = lote; Contexto.CorralInfo = lote.Corral; ObtenerValoresGanado(animales); ObtenerPesos(); ObtenerFormula(); ObtenerDiasEngorda(animales); } if (!listadoDeTraspaso.Any()) { chkTraspasoGanado.IsEnabled = true; chkSacrificioGanado.IsEnabled = true; } } else { if (Contexto.LoteInfo.Corral == null) { Contexto.LoteInfo.Corral = new CorralInfo(); } Contexto.LoteInfo.Corral.Codigo = string.Empty; } } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoGordo_MensajeErrorConsultarCorral, MessageBoxButton.OK, MessageImage.Error); } }
public static ResultadoInfo <CorralInfo> ExisteCorraletaDeSacrificioConfigurada(string arete) { ResultadoInfo <CorralInfo> corraletas = null; try { var animalPL = new AnimalPL(); var tipoGanadoPL = new TipoGanadoPL(); var parametroOrg = new ParametroOrganizacionPL(); var corralPL = new CorralPL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; // Se obtiene el animal var animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId); if (animal != null) { // Obtener el tipo de ganado animal.TipoGanado = tipoGanadoPL.ObtenerPorID(animal.TipoGanadoID); // Se obtiene el tipo de corraletaSacrificio a Buscar var paramTipoCorraletaSacrificio = animal.TipoGanado.Sexo == Sexo.Macho ? ParametrosEnum.CorraletaSacrificioMacho : ParametrosEnum.CorraletaSacrificioHembra; var parametroOrganizacionInfo = parametroOrg.ObtenerPorOrganizacionIDClaveParametro(organizacionId, paramTipoCorraletaSacrificio.ToString()); // Si se tiene configurado el parametro if (parametroOrganizacionInfo != null) { //Obtener info de las corraletas configuradas corraletas = corralPL.ObtenerInformacionCorraletasDisponiblesSacrificio(organizacionId, parametroOrganizacionInfo.Valor); if (corraletas != null && corraletas.Lista.Count > 0) { var corral = new CorralInfo { Codigo = "Seleccione", CorralID = 0 }; corraletas.Lista.Insert(0, corral); } } } } catch (Exception ex) { Logger.Error(ex); } return(corraletas); }
public static Respuesta <Reemplazo_Arete_Model> Reemplazo_Arete(Peticion <Reemplazo_Arete_Request> req) { var feedBack = new Respuesta <Reemplazo_Arete_Model> { Mensaje = string.Empty, Resultado = false }; try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var fechaSacrificio = String.Format("{0:u}", req.Datos.FechaSacrificio); var pl = new LotePL(); var animalPl = new AnimalPL(); var loteInfo = pl.ObtenerPorId(req.Datos.LoteID); if (loteInfo != null) { var aretesScp = pl.ObtenerLoteConAnimalesScp(seguridad.Usuario.OrganizacionID, loteInfo.Lote, loteInfo.Corral.Codigo, fechaSacrificio); if (aretesScp.Any()) { if (!pl.ExistenAretesRepetidos(aretesScp)) { //var animalId = animalPl.PlancharAretes(aretesScp,req.Datos.AnimalID,req.Datos.LoteID,seguridad.Usuario.UsuarioID); //feedBack.Datos.AnimalID = animalId; feedBack.Resultado = true; } else { feedBack.Mensaje = string.Format("Existen aretes duplicados en el Control de Piso para el corral {0}, lote {1}, fecha de producción {2}.", loteInfo.Corral.Codigo, loteInfo.Lote, fechaSacrificio); } } else { feedBack.Mensaje = string.Format("No se encontraron aretes en el Control de Piso para el corral {0}, lote {1}, fecha de producción {2}, por lo tanto no se puede realizar el reemplazo.", loteInfo.Corral.Codigo, loteInfo.Lote, fechaSacrificio); } } else { feedBack.Mensaje = string.Format("No se encontró el lote ni el corral para obtener los aretes del Control de Piso."); } } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al reemplazar el arete."); } return(feedBack); }
/// <summary> /// Comprueba si el arete o arete metalico no se encuentra registrado. /// </summary> /// <param name="arete"></param> /// <param name="areteMetalico"></param> /// <returns></returns> private ResultadoValidacion ComprobarAreteRegistrado(string arete, string areteMetalico) { var animalPl = new AnimalPL(); var resultado = new ResultadoValidacion(); try { resultado.Resultado = animalPl.VerificarExistenciaArete(arete, areteMetalico, organizacionID); } catch (Exception ex) { Logger.Error(ex); throw; } return(resultado); }
public static List <AnimalInfo> ObtenerAnimalesPorCodigoCorral(string corralCodigo) { List <AnimalInfo> lista = null; try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var corralPl = new CorralPL(); CorralInfo corral = corralPl.ObtenerCorralPorCodigo(organizacionId, corralCodigo); corral.Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }; if (corral.GrupoCorral == (int)GrupoCorralEnum.Recepcion) { lista = new List <AnimalInfo>(); var interfaz = new InterfaceSalidaAnimalPL(); var anim = interfaz.ObtenerAretesInterfazSalidaAnimal(corralCodigo, organizacionId); if (anim != null) { foreach (InterfaceSalidaAnimalInfo interfaceAnimal in anim) { var animal = new AnimalInfo { Arete = interfaceAnimal.Arete }; lista.Add(animal); } } } else { var animalPl = new AnimalPL(); lista = animalPl.ObtenerAnimalesPorCorral(corral, organizacionId); } return(lista); } catch (Exception ex) { Logger.Error(ex); } return(lista); }
/// <summary> /// Evento del check para cuando se chekea /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ckbCompensacion_Checked(object sender, RoutedEventArgs e) { if (ValdiarCamposObligatoriosEnBlanco()) { //Obtener animales del corral destino var animalPl = new AnimalPL(); var animales = animalPl.ObtenerAnimalesPorCorral(corralDestino, organizacionID); if (animales != null) { dgAretesDelCorral.ItemsSource = animales; } grbAretesCorral.Visibility = Visibility.Visible; // dgAretesDelCorral } else { ckbCompensacion.IsChecked = false; } }
/// <summary> /// Metodo para mostrar los animales duplicados /// </summary> private void AnimalesDuplicados() { try { var animalPl = new AnimalPL(); // Se manda abrir el dialogo de los animales duplicados var trazabilidadAnimalDuplicado = new TrazabilidadAnimalDuplicado(Contexto.AnimalesDuplicados) { Left = (ActualWidth - Width) / 2, Top = ((ActualHeight - Height) / 2) + 132, Owner = Application.Current.Windows[ConstantesVista.WindowPrincipal] }; trazabilidadAnimalDuplicado.ShowDialog(); if (trazabilidadAnimalDuplicado.AnimalSeleccionado != null) { Contexto.Animal = trazabilidadAnimalDuplicado.AnimalSeleccionado; if (Contexto.Animal != null && Contexto.Animal.AnimalID > 0) { //Se busca la trazabilidad de animal seleccionado Contexto = animalPl.ObtenerTrazabilidadAnimal(Contexto, false); if (Contexto.Animal != null && Contexto.Animal.AnimalID > 0) { DgMovimientoAnimal.ItemsSource = Contexto.Animal.ListaAnimalesMovimiento; Habilitar(true); } } } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TrazabilidadAnimal_ErrorMostrarAretesDuplicados, MessageBoxButton.OK, MessageImage.Error); } }
public static AnimalInfo ObtenerExisteArete(string arete) { AnimalInfo animal = null; try { var animalPL = new AnimalPL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; int pesoProyectado = 0; animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId); pesoProyectado = animalPL.ObtenerPesoProyectado(arete, organizacionId); animal.PesoAlCorte = pesoProyectado; } catch (Exception ex) { Logger.Error(ex); } return(animal); }
public static List <ConfiguracionFormulaInfo> ConsultarConfiguracionFormula(int LoteID) { List <ConfiguracionFormulaInfo> resultado = null; LoteInfo lote = null; TipoGanadoInfo tipoGanado = null; List <AnimalInfo> animales = null; CorralInfo corral = null; LotePL lotePL = new LotePL(); AnimalPL animalPL = new AnimalPL(); ConfiguracionFormulaPL configuracionFormulaPL = new ConfiguracionFormulaPL(); try { lote = lotePL.ObtenerPorId(LoteID); if (lote != null) { animales = animalPL.ObtenerAnimalesPorLoteID(lote); if (animales != null) { tipoGanado = lotePL.ObtenerSoloTipoGanadoCorral(animales, lote); if (tipoGanado != null) { resultado = configuracionFormulaPL.ObtenerFormulaPorTipoGanado(tipoGanado, lote.OrganizacionID); } } } } catch (Exception ex) { resultado = null; } return(resultado); }
public static Respuesta <List <ControlSacrificioInfo.SincronizacionSIAP> > Planchado_AreteLote(Peticion <ControlSacrificioInfo.Planchado_AreteLote_Request> req) { var feedBack = new Respuesta <List <ControlSacrificioInfo.SincronizacionSIAP> > { Mensaje = string.Empty, Resultado = false }; try { var pl = new AnimalPL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; //pl.ActualizarArete(req.Datos.AnimalID,req.Datos.Arete,seguridad.Usuario.UsuarioID); feedBack.Datos = pl.PlancharAretes(req.Datos, seguridad.Usuario.UsuarioID, seguridad.Usuario.OrganizacionID); feedBack.Resultado = true; } catch (Exception ex) { Logger.Error(ex); feedBack.Mensaje = string.Format("Ocurrió un error al planchar arete." + ex.Message); feedBack.Resultado = false; } return(feedBack); }
public static List <AnimalInfo> ObtenerAnimalesPorLoteID(int loteID) { List <AnimalInfo> lista = null; try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var organizacionID = seguridad.Usuario.Organizacion.OrganizacionID; var animalPl = new AnimalPL(); var loteInfo = new LoteInfo { LoteID = loteID, OrganizacionID = organizacionID }; lista = animalPl.ObtenerAnimalesPorLoteID(loteInfo); } catch (Exception ex) { Logger.Error(ex); } return(lista); }
public static AnimalInfo ObtenerExistenciaAnimal(string arete, int loteID) { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var programacionSacrificioPL = new ProgramacionSacrificioPL(); var animalInfo = new AnimalInfo { Arete = arete, OrganizacionIDEntrada = seguridad.Usuario.Organizacion.OrganizacionID }; var resultado = programacionSacrificioPL.ObtenerExistenciaAnimal(animalInfo, loteID); if (resultado == null) { var animalPl = new AnimalPL(); /* Validar Si el arete existe en el inventario Como Carga Inicial*/ var animalCargaInicial = animalPl.ObtenerAnimalPorArete(arete, seguridad.Usuario.Organizacion.OrganizacionID); if (animalCargaInicial != null && animalCargaInicial.CargaInicial) { resultado = animalCargaInicial; } } return(resultado); }
public static int GuardarDeteccion(DeteccionInfo deteccion) { int retValue = 0; try { CorralInfo corral = new CorralInfo(); CorralPL corralPL = new CorralPL(); corral = ObtenerCorral(deteccion.CorralCodigo); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; LoteInfo lote = ObtenerLotesCorral(corral.CorralID); AnimalPL animalPL = new AnimalPL(); AnimalInfo animal = null; var esCargaInicial = FlagCargaInicial.Default; string areteSalida = string.Empty; int salida = 0; int organizacionID = 0; DeteccionInfo deteccionGrabar = null; //informacion del la organzacion y usuario if (seguridad != null) { organizacionID = seguridad.Usuario.Organizacion.OrganizacionID; var deteccionPl = new DeteccionPL(); string areteDeteccion = animalPL.obtenerExisteDeteccion(deteccion.Arete); if (!string.IsNullOrWhiteSpace(areteDeteccion)) { return(3); } string areteDeteccionMetalico = animalPL.obtenerExisteDeteccionTestigo(deteccion.AreteMetalico); if (!string.IsNullOrWhiteSpace(areteDeteccionMetalico)) { return(3); } if (corral.GrupoCorral != (int)GrupoCorralEnum.Recepcion) { if (deteccion.Arete != string.Empty && deteccion.AreteMetalico == string.Empty) { var animalPl = new AnimalPL(); var animales = animalPl.ObtenerAnimalesPorCorral(corral, organizacionID); if (animales != null) { for (int i = 0; i < animales.Count; i++) { if (deteccion.Arete == animales[i].Arete) { esCargaInicial = FlagCargaInicial.SeEncuentraEnCorral; break; } } } /* Validar Si el arete existe en el inventario */ animal = animalPl.ObtenerAnimalPorArete(deteccion.Arete, organizacionID); if (animal != null && animal.CargaInicial && esCargaInicial == FlagCargaInicial.Default) { esCargaInicial = FlagCargaInicial.EsCargaInicial; } else if (animal == null) { animal = new AnimalInfo() { Arete = deteccion.Arete, AreteMetalico = deteccion.AreteMetalico, LoteID = lote.LoteID, CorralID = corral.CorralID, UsuarioModificacionID = seguridad.Usuario.UsuarioID, }; // Este arete se dara de alta en el corral esCargaInicial = FlagCargaInicial.EsAreteNuevo; } } if (deteccion.AreteMetalico != string.Empty && deteccion.Arete == string.Empty) { animal = animalPL.ObtenerAnimalPorAreteTestigo(deteccion.AreteMetalico, organizacionID); } } else { if (deteccion.AreteMetalico == string.Empty && deteccion.Arete != string.Empty) { var interfaceSalidaAnimalPl = new InterfaceSalidaAnimalPL(); InterfaceSalidaAnimalInfo interfaceSalidaAnimalInfo = interfaceSalidaAnimalPl.ObtenerNumeroAreteIndividual(deteccion.Arete, organizacionID); if (interfaceSalidaAnimalInfo != null) { deteccion.AreteMetalico = interfaceSalidaAnimalInfo.AreteMetalico; } } else if (deteccion.AreteMetalico != string.Empty && deteccion.Arete == string.Empty) { var interfaceSalidaAnimalPl = new InterfaceSalidaAnimalPL(); InterfaceSalidaAnimalInfo interfaceSalidaAnimalInfo = interfaceSalidaAnimalPl.ObtenerNumeroAreteMetalico(deteccion.Arete, organizacionID); if (interfaceSalidaAnimalInfo != null) { deteccion.Arete = interfaceSalidaAnimalInfo.Arete; } } } string foto = string.Empty; if (deteccion.FotoDeteccion != string.Empty) { foto = TipoFoto.Enfermo.ToString() + '/' + deteccion.FotoDeteccion; } if (animal != null) { deteccionGrabar = new DeteccionInfo() { LoteID = lote.LoteID, CorralID = corral.CorralID, FotoDeteccion = foto, Observaciones = deteccion.Observaciones, Arete = animal.Arete, AreteMetalico = animal.AreteMetalico, OperadorID = seguridad.Usuario.Operador.OperadorID, UsuarioCreacionID = seguridad.Usuario.UsuarioID, DescripcionGanado = deteccion.DescripcionGanado, Problemas = deteccion.Problemas, Sintomas = deteccion.Sintomas, GradoID = deteccion.GradoID, NoFierro = deteccion.NoFierro, GrupoCorral = corral.GrupoCorral, DescripcionGanadoID = deteccion.DescripcionGanadoID, Activo = 1 }; } else { deteccionGrabar = new DeteccionInfo() { LoteID = lote.LoteID, CorralID = corral.CorralID, FotoDeteccion = foto, Observaciones = deteccion.Observaciones, Arete = deteccion.Arete, AreteMetalico = deteccion.AreteMetalico, OperadorID = seguridad.Usuario.Operador.OperadorID, UsuarioCreacionID = seguridad.Usuario.UsuarioID, DescripcionGanado = deteccion.DescripcionGanado, Problemas = deteccion.Problemas, Sintomas = deteccion.Sintomas, GradoID = deteccion.GradoID, NoFierro = deteccion.NoFierro, GrupoCorral = corral.GrupoCorral, DescripcionGanadoID = deteccion.DescripcionGanadoID, Activo = 1 }; } if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.CorraletaSacrificio) { deteccionGrabar.LoteID = animalPL.ObtenerLoteSalidaAnimal(deteccionGrabar.Arete, deteccionGrabar.AreteMetalico, organizacionID); corral = corralPL.ObtenerCorralPorLoteID(deteccionGrabar.LoteID, organizacionID); deteccionGrabar.GrupoCorral = corral.GrupoCorral; } if (corral.GrupoCorral == (int)GrupoCorralEnum.Recepcion) { if (deteccionGrabar.GradoID == GradoEnfermedadEnum.Level1.GetHashCode() || deteccionGrabar.GradoID == GradoEnfermedadEnum.Level2.GetHashCode()) { return(2); //Error de Ganado Grado 2 en corral de Recepcion } } var resultado = deteccionPl.GuardarDeteccion(deteccionGrabar, esCargaInicial, animal); if (resultado == 1) { retValue = resultado; } } else { retValue = 0; } } catch (Exception ex) { retValue = -1; } return(retValue); }
public static int GuardarMuerte(MuerteInfo muerte) { int retValue = 0; try { CorralInfo corral = new CorralInfo(); CorralPL corralPL = new CorralPL(); AnimalPL animalPL = new AnimalPL(); LotePL lotePL = new LotePL(); corral = ObtenerCorral(muerte.CorralCodigo); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; LoteInfo lote = ObtenerLotesCorral(corral.CorralID); int organizacionID = 0; AnimalInfo animal = null; MuerteInfo muerteGrabar = null; // 1 se encuentra en corral 2 Carga Inicial var esCargaInicial = FlagCargaInicial.Default; //informacion del la organzacion y usuario if (seguridad != null) { organizacionID = seguridad.Usuario.Organizacion.OrganizacionID; var deteccionPl = new DeteccionPL(); if (corral.GrupoCorral != (int)GrupoCorralEnum.Recepcion) { if (muerte.Arete != string.Empty && muerte.AreteMetalico == string.Empty) { var animalPl = new AnimalPL(); var animales = animalPl.ObtenerAnimalesPorCorral(corral, organizacionID); if (animales != null) { for (int i = 0; i < animales.Count; i++) { if (muerte.Arete == animales[i].Arete) { esCargaInicial = FlagCargaInicial.SeEncuentraEnCorral; break; } } } /* Validar Si el arete existe en el inventario */ animal = animalPl.ObtenerAnimalPorArete(muerte.Arete, organizacionID); if (animal != null && animal.CargaInicial && esCargaInicial == FlagCargaInicial.Default) { esCargaInicial = FlagCargaInicial.EsCargaInicial; } else if (animal == null) { animal = new AnimalInfo() { Arete = muerte.Arete, AreteMetalico = muerte.AreteMetalico, LoteID = lote.LoteID, CorralID = corral.CorralID, UsuarioModificacionID = seguridad.Usuario.UsuarioID, }; // Este arete se dara de alta en el corral esCargaInicial = FlagCargaInicial.EsAreteNuevo; } } if (muerte.AreteMetalico != string.Empty && muerte.Arete == string.Empty) { animal = animalPL.ObtenerAnimalPorAreteTestigo(muerte.AreteMetalico, organizacionID); } } var guardarPl = new MuertePL(); string foto = string.Empty; if (muerte.FotoDeteccion != string.Empty) { foto = TipoFoto.Muerte.ToString() + '/' + muerte.FotoDeteccion; } if (animal != null) { muerteGrabar = new MuerteInfo { LoteId = lote.LoteID, CorralId = corral.CorralID, OrganizacionId = seguridad.Usuario.Organizacion.OrganizacionID, FotoDeteccion = foto, Observaciones = muerte.Observaciones, Arete = animal.Arete, AreteMetalico = animal.AreteMetalico, OperadorDeteccionId = seguridad.Usuario.Operador.OperadorID, UsuarioCreacionID = seguridad.Usuario.UsuarioID, EstatusId = (int)EstatusMuertes.Detectado }; } else { muerteGrabar = new MuerteInfo { LoteId = lote.LoteID, CorralId = corral.CorralID, OrganizacionId = seguridad.Usuario.Organizacion.OrganizacionID, FotoDeteccion = foto, Observaciones = muerte.Observaciones, Arete = muerte.Arete, AreteMetalico = muerte.AreteMetalico, OperadorDeteccionId = seguridad.Usuario.Operador.OperadorID, UsuarioCreacionID = seguridad.Usuario.UsuarioID, EstatusId = (int)EstatusMuertes.Detectado }; } if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.CorraletaSacrificio) { muerteGrabar.LoteId = animalPL.ObtenerLoteSalidaAnimal(muerteGrabar.Arete, muerteGrabar.AreteMetalico, organizacionID); } if (muerteGrabar != null) { muerteGrabar.Corral = corral; var resultado = guardarPl.GuardarMuerte(muerteGrabar, esCargaInicial, animal); retValue = resultado; } } else { retValue = 0; } } catch (Exception ex) { retValue = -1; } return(retValue); }
public static int ObtenerExisteAreteTestigo(string corralCodigo, string arete, string areteTestigo, bool validarDeteccion) { int retorno = 0; string areteDeteccion = string.Empty, areteMuerte = string.Empty; try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; IList <AnimalInfo> animales = null; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var animalPl = new AnimalPL(); var corralPl = new CorralPL(); AnimalInfo animal = new AnimalInfo(); CorralInfo corral = null; corral = corralPl.ObtenerCorralPorCodigo(organizacionId, corralCodigo); corral.Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }; if (validarDeteccion) { areteDeteccion = animalPl.obtenerExisteDeteccionTestigo(areteTestigo); } if (areteDeteccion == string.Empty) { areteMuerte = animalPl.obtenerExisteMuerteTestigo(areteTestigo); if (areteMuerte == string.Empty) { if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.Recepcion && corral.TipoCorral.TipoCorralID != (int)TipoCorral.CorraletaSacrificio) { animales = animalPl.ObtenerAnimalesPorCorral(corral, organizacionId); if (animales != null) { for (int i = 0; i < animales.Count; i++) { if (areteTestigo == animales[i].AreteMetalico) { if (arete != string.Empty) { if (arete == animales[i].Arete) { retorno = 1; //Si corresponde break; } else { retorno = 2; //No corresponde } } else { retorno = 1; //No trae arete } } } } } else if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.CorraletaSacrificio) { animal = animalPl.ObtenerAnimalPorAreteTestigo(areteTestigo, organizacionId); if (animal != null) { if (animalPl.ObtenerExisteSalida(animal.AnimalID) > 0 && (arete == animal.Arete || arete == "")) { retorno = 1; } } } else { retorno = 1;//No se valida si es recepcion } } else { retorno = 3;//Muerto } } else { retorno = 2;//Detectado } } catch (Exception ex) { Logger.Error(ex); } return(retorno); }
public static int ObtenerExisteArete(string corralCodigo, string arete, bool validarDeteccion) { int retorno = 0; string areteDeteccion = string.Empty, areteMuerte = string.Empty; try { SeguridadInfo seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; IList <AnimalInfo> animales = null; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var animalPl = new AnimalPL(); var corralPl = new CorralPL(); var lotePL = new LotePL(); AnimalInfo animal = null; CorralInfo corral = null; LoteInfo lote = null; corral = corralPl.ObtenerCorralPorCodigo(organizacionId, corralCodigo); corral.Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }; if (validarDeteccion) { areteDeteccion = animalPl.obtenerExisteDeteccion(arete); } if (areteDeteccion == string.Empty) { areteMuerte = animalPl.obtenerExisteMuerte(arete); if (areteMuerte == string.Empty) { if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.Recepcion && corral.TipoCorral.TipoCorralID != (int)TipoCorral.CorraletaSacrificio) { animales = animalPl.ObtenerAnimalesPorCorral(corral, organizacionId); if (animales != null) { for (int i = 0; i < animales.Count; i++) { if (arete == animales[i].Arete) { return(1); } } } /* Validar Si el arete existe en el inventario y es carga inicial */ var animalInventario = animalPl.ObtenerAnimalPorArete(arete, organizacionId); if (animalInventario == null) { retorno = 0; } } else if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.CorraletaSacrificio) { animal = animalPl.ObtenerAnimalPorArete(arete, organizacionId); if (animal != null) { if (animalPl.ObtenerExisteSalida(animal.AnimalID) > 0) { retorno = 1; } } } else { var entrada = new EntradaGanadoPL(); lote = lotePL.ObtenerLotesActivos(organizacionId, corral.CorralID); if (lote != null) { var datosEntrada = entrada.ObtenerEntradaPorLote(lote); if (datosEntrada != null) { if (datosEntrada.TipoOrganizacionOrigenId != (int)TipoOrganizacion.CompraDirecta) { int salida = corralPl.ObtenerExisteInterfaceSalida(organizacionId, corralCodigo, arete); if (salida > 0) { retorno = 1; // Existe arete en la interface } else { retorno = 0;//Valido, pero aqui va la validacion de interfaz salida } } else { /* Si es compra directa validar q el arete no exista en el inventario */ var animalInventario = animalPl.ObtenerAnimalPorArete(arete, organizacionId); if (animalInventario != null) { retorno = 0;// el arete ya existe en el inventario } else { retorno = 1;//Valido, es compra directa y no existe en el inventario } } } } } } else { retorno = 3;//Muerto } } else { retorno = 2;//Detectado } } catch (Exception ex) { Logger.Error(ex); } return(retorno); }
//Evento KeyDown de txtCorralOrigen private void txtCorralOrigen_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter || e.Key == Key.Tab) { if (String.IsNullOrWhiteSpace(txtCorralOrigen.Text)) { e.Handled = true; } else { LimpiarPantalla(false); //Verificar existencia del corral var corralPl = new CorralPL(); var resultado = corralPl.ObtenerExistenciaCorral(organizacionID, txtCorralOrigen.Text); if (resultado == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralNoExiste, MessageBoxButton.OK, MessageImage.Warning); e.Handled = true; } else { //Verificar si corral es de enfermeria var corralInfo = new CorralInfo { Codigo = txtCorralOrigen.Text, GrupoCorral = (int)GrupoCorralEnum.Enfermeria, Organizacion = new OrganizacionInfo { OrganizacionID = organizacionID } }; corralInfo = corralPl.ObtenerPorCodigoGrupoCorral(corralInfo); if (corralInfo == null) { //Verificar si corral es de recepcion corralInfo = new CorralInfo { Codigo = txtCorralOrigen.Text, GrupoCorral = (int)GrupoCorralEnum.Produccion, Organizacion = new OrganizacionInfo { OrganizacionID = organizacionID } }; corralInfo = corralPl.ObtenerPorCodigoGrupoCorral(corralInfo); if (corralInfo == null) { corralInfo = new CorralInfo { Codigo = txtCorralOrigen.Text, GrupoCorral = (int)GrupoCorralEnum.Recepcion, Organizacion = new OrganizacionInfo { OrganizacionID = organizacionID } }; corralInfo = corralPl.ObtenerPorCodigoGrupoCorral(corralInfo); if (corralInfo == null) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralNoEsEnfermeria, MessageBoxButton.OK, MessageImage.Warning); e.Handled = true; } else { corralInfoOrigen = corralInfo; corralInfoOrigen.OrganizacionId = organizacionID; var animalPL = new AnimalPL(); listaAnimales = animalPL.ObtenerAnimalesRecepcionPorCodigoCorral(corralInfo); if (listaAnimales != null) { lisBoxCorralOrigen.ItemsSource = listaAnimales; txtCorralDestino.IsEnabled = true; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralNoTieneLoteActivo, MessageBoxButton.OK, MessageImage.Warning); e.Handled = true; } } } else { corralInfoOrigen = corralInfo; corralInfoOrigen.OrganizacionId = organizacionID; var animalPL = new AnimalPL(); listaAnimales = animalPL.ObtenerAnimalesPorCodigoCorral(corralInfo); if (listaAnimales != null) { lisBoxCorralOrigen.ItemsSource = listaAnimales; txtCorralDestino.IsEnabled = true; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralNoTieneLoteActivo, MessageBoxButton.OK, MessageImage.Warning); e.Handled = true; } } } else { if (corralInfo.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoVentaMuerte) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralEsCronicoVentaMuerte, MessageBoxButton.OK, MessageImage.Warning); e.Handled = true; } else { //Obtener animales para mostrar Arete en list var animalPL = new AnimalPL(); listaAnimales = animalPL.ObtenerAnimalesPorCodigoCorral(corralInfo); corralInfoOrigen = corralInfo; corralInfoOrigen.OrganizacionId = organizacionID; if (listaAnimales != null) { lisBoxCorralOrigen.ItemsSource = listaAnimales; txtCorralDestino.IsEnabled = true; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorral_CorralNoTieneLoteActivo, MessageBoxButton.OK, MessageImage.Warning); e.Handled = true; } } } } } } }
/// <summary> /// Carga la informacion del arete en pantalla /// </summary> private void LlenarDatosArete() { MuerteInfo areteMuerto = null; var pl = new MuertePL(); var animalPL = new AnimalPL(); var corralPL = new CorralPL(); try { var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; var organizacionID = seguridad.Usuario.Organizacion.OrganizacionID; if (seguridad != null) { //Se obtiene el Corral para ver Si es de Recepcion corralInfo = corralPL.ObtenerCorralPorCodigo(organizacionID, corralInfo.Codigo); if (corralInfo.GrupoCorral == (int)GrupoCorralEnum.Recepcion) { /* Si el corral es de Recepcion */ areteMuerto = pl.ObtenerGanadoMuertoPorAreteRecepcion(organizacionID, numeroArete); } else { /* Si el corral es de Enfermeria o produccion */ areteMuerto = pl.ObtenerGanadoMuertoPorArete(organizacionID, numeroArete); if (areteMuerto != null && areteMuerto.AnimalId > 0) { areteMuerto.Peso = animalPL.ObtenerUltimoMovimientoAnimal(new AnimalInfo() { AnimalID = areteMuerto.AnimalId, OrganizacionIDEntrada = organizacionID }).Peso; } else { if (areteMuerto == null) { areteMuerto = new MuerteInfo { Arete = numeroArete, CorralCodigo = corralInfo.Codigo }; } var lote = new LoteInfo(); var lotePl = new LotePL(); lote = lotePl.ObtenerPorCorral(organizacionID, corralInfo.CorralID); if (lote != null) { var listaAnimales = animalPL.ObtenerAnimalesPorLoteID(lote); if (listaAnimales != null) { var listaMovimientosActivos = (from animal in listaAnimales let movimiento = new AnimalMovimientoInfo() select animalPL.ObtenerUltimoMovimientoAnimal(animal)).ToList(); if (listaMovimientosActivos.Count > 0) { areteMuerto.Peso = listaMovimientosActivos.Sum(registro => registro.Peso) / listaMovimientosActivos.Count; } } } } } if (areteMuerto != null) { hdMuerteId.Value = areteMuerto.MuerteId.ToString(); hdAnimalId.Value = areteMuerto.AnimalId.ToString(); hdCorralId.Value = areteMuerto.CorralId.ToString(); hdLoteId.Value = areteMuerto.LoteId.ToString(); if (areteMuerto.MuerteId == 0) { hdMuerteId.Value = muerteId.ToString(); } txtCorral.Text = areteMuerto.CorralCodigo; txtPeso.Text = areteMuerto.Peso.ToString(); txtAreteMetalico.Text = areteMuerto.AreteMetalico; txtNumeroArete.Text = areteMuerto.Arete; txtNombreResponsable.Text = seguridad.Usuario.Nombre; lblFechaSalida.Text += " " + DateTime.Now.ToShortDateString(); lblHoraSalida.Text += " " + DateTime.Now.ToShortTimeString(); var parametros = ObtenerParametrosRutaImagenes(seguridad.Usuario.Organizacion.OrganizacionID); imgFotoDeteccion.Visible = false; if (parametros != null && areteMuerto.FotoDeteccion != string.Empty) { imgFotoDeteccion.Visible = true; imgFotoDeteccion.ImageUrl = parametros.Valor + areteMuerto.FotoDeteccion; } } else { ClientScript.RegisterStartupScript(this.GetType(), "myScript", "MostrarFalloCargarDatos();", true); } } } catch (Exception ex) { Logger.Error(ex); throw; } }
public static int ObtenerUltimoMovimiento(string arete) { AnimalInfo animal = null; AnimalMovimientoInfo animalMovimiento = null; CorralInfo corral = null; List <TratamientoInfo> tratamientos = null; int respuesta = 0; try { var animalPL = new AnimalPL(); var corralPL = new CorralPL(); var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"]; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId); animalMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animal); int animalSalida = animalPL.ObtenerExisteSalida(animal.AnimalID); var tratamiento = new CorteTransferenciaGanadoPL(); tratamientos = tratamiento.ObtenerTratamientosAplicados(animal, -1); if (tratamientos != null) { tratamientos = tratamientos.Where( tipo => tipo.TipoTratamientoInfo.TipoTratamientoID == TipoTratamiento.Enfermeria.GetHashCode() || tipo.TipoTratamientoInfo.TipoTratamientoID == TipoTratamiento.EnfermeriaAlCorte.GetHashCode()). ToList(); for (var i = 0; i < tratamientos.Count; i++) { TimeSpan dias = DateTime.Now - tratamientos[i].FechaAplicacion; if (dias.TotalDays < 30) { respuesta = 4; //No han pasado los treinta dias despues de ultimo tratamiento } } } if (respuesta == 0) { if (animalSalida == 0) { //if (animalMovimiento.TipoMovimientoID == (int) TipoMovimiento.EntradaEnfermeria) //{ corral = corralPL.ObtenerPorId(animalMovimiento.CorralID); if (corral.TipoCorral.TipoCorralID == (int)TipoCorral.Enfermeria || corral.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoRecuperacion || corral.TipoCorral.TipoCorralID == (int)TipoCorral.CronicoVentaMuerte) { if (corral.TipoCorral.TipoCorralID != (int)TipoCorral.CronicoVentaMuerte) { respuesta = 1; //El arete es valido } else { respuesta = 2; //El arete es de tipo cronico } } else { respuesta = 0; //El arete no se encuentra en enfermeria } //} //else //{ // respuesta = 0; //El arete no se encuentra en enfermeria //} } else { respuesta = 3; //El arete ya tiene una salida } } } catch (Exception ex) { Logger.Error(ex); } return(respuesta); }