Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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;
            }
        }