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); }
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 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); }