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); }
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 List <AnimalInfo> ObtenerAnimalesPorCodigoCorral(CorralInfo corralInfo) { try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; bool validarSalida = true; var animalPl = new AnimalPL(); var corralPl = new CorralPL(); var entrada = new EntradaGanadoPL(); List <AnimalInfo> listaanimales = null; var corralIn = corralPl.ObtenerCorralPorCodigo(organizacionId, corralInfo.Codigo); if (corralIn != null) { var lotePl = new LotePL(); var lote = lotePl.ObtenerLotesActivos(organizacionId, corralIn.CorralID); if (lote != null) { if (corralIn.GrupoCorral == (int)GrupoCorralEnum.Enfermeria || corralIn.GrupoCorral == (int)GrupoCorralEnum.Produccion) { listaanimales = animalPl.ObtenerAnimalesPorCorral(corralInfo, organizacionId); } else if (corralIn.GrupoCorral == (int)GrupoCorralEnum.Recepcion) { var datosEntrada = entrada.ObtenerEntradaPorLote(lote); if (datosEntrada != null) { if (datosEntrada.TipoOrganizacionOrigenId == (int)TipoOrganizacion.CompraDirecta) { validarSalida = false; } } AnimalInfo animal; if (validarSalida) { listaanimales = new List <AnimalInfo>(); var interfaz = new InterfaceSalidaAnimalPL(); var anim = interfaz.ObtenerAretesInterfazSalidaAnimal(corralInfo.Codigo, organizacionId); if (anim != null) { foreach (InterfaceSalidaAnimalInfo interfaceAnimal in anim) { animal = new AnimalInfo(); animal.Arete = interfaceAnimal.Arete; listaanimales.Add(animal); } } else { animal = new AnimalInfo { AnimalID = -1 }; listaanimales.Add(animal); } } } } } return(listaanimales); } catch (Exception ex) { Logger.Error(ex); throw; } }