Example #1
0
        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);
            }
        }
Example #3
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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }