Esempio n. 1
0
        /// <summary>
        /// The validar agregar arete.
        /// </summary>
        /// <param name="revision">
        /// The revision.
        /// </param>
        /// <param name="lista">
        /// The lista.
        /// </param>
        /// <returns>
        /// The <see cref="ResultadoValidacion"/>.
        /// </returns>
        /// <exception cref="ExcepcionDesconocida">
        /// </exception>
        internal ResultadoValidacion ValidarAgregarArete(RevisionImplanteInfo revision, List <RevisionImplanteInfo> lista)
        {
            try
            {
                var resultado = new ResultadoValidacion {
                    Resultado = true
                };

                if (lista.Any(revisionImplanteInfo => revisionImplanteInfo.Animal.Arete == revision.Animal.Arete))
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgAreteExiste;
                    return(resultado);
                }

                return(resultado);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Esempio n. 2
0
 /// <summary>
 /// The validar agregar arete.
 /// </summary>
 /// <param name="revision">
 /// The revision.
 /// </param>
 /// <param name="lista">
 /// The lista.
 /// </param>
 /// <returns>
 /// The <see cref="ResultadoValidacion"/>.
 /// </returns>
 /// <exception cref="ExcepcionDesconocida">
 /// </exception>
 public ResultadoValidacion ValidarAgregarArete(RevisionImplanteInfo revision, List <RevisionImplanteInfo> lista)
 {
     try
     {
         var revisionBl = new RevisionImplanteBL();
         ResultadoValidacion resultado = revisionBl.ValidarAgregarArete(revision, lista);
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Obtiene la revision Actual del un animal
        /// </summary>
        /// <param name="listaRevision">
        /// The lista revision.
        /// </param>
        /// <param name="usuario">
        /// The usuario.
        /// </param>
        /// <exception cref="ExcepcionServicio">
        /// </exception>
        /// <exception cref="ExcepcionDesconocida">
        /// </exception>
        internal RevisionImplanteInfo ObtenerRevisonActual(AnimalInfo animal)
        {
            RevisionImplanteInfo result = null;

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters = AuxRevisionImplanteDAL.ObtenerParametrosRevisionActual(animal);
                using (DataSet reader = Retrieve("RevisionImplante_ObtenerRevisionActual", parameters))
                {
                    if (ValidateDataSet(reader))
                    {
                        result = MapRevisionImplanteDAL.ObtenerRevisionAnimalActual(reader);
                    }
                    if (Connection.State == ConnectionState.Open)
                    {
                        Connection.Close();
                    }
                }
            }
            catch (SqlException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (DataException ex)
            {
                Logger.Error(ex);
                throw new ExcepcionServicio(MethodBase.GetCurrentMethod(), ex);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            return(result);
        }
Esempio n. 4
0
        /// <summary>
        /// Obtiene la revision de un animal en el dia actual
        /// </summary>
        /// <param name="ds">
        /// The ds.
        /// </param>
        /// <returns>
        /// The <see cref="RevisionImplanteInfo"/>.
        /// </returns>
        /// <exception cref="ExcepcionDesconocida">
        /// </exception>
        internal static RevisionImplanteInfo ObtenerRevisionAnimalActual(DataSet ds)
        {
            try
            {
                Logger.Info();
                DataTable dt = ds.Tables[ConstantesDAL.DtDatos];

                RevisionImplanteInfo revision =
                    (from info in dt.AsEnumerable()
                     select
                     new RevisionImplanteInfo
                {
                    RevisionImplanteId = info.Field <int>("RevisionImplanteID"),
                    Lote = new LoteInfo {
                        LoteID = info.Field <int>("LoteID")
                    },
                    Animal = new AnimalInfo {
                        AnimalID = info.Field <long>("AnimalID")
                    },
                    Fecha = info.Field <DateTime>("Fecha"),
                    Causa = new CausaRevisionImplanteInfo {
                        CausaId = info.Field <int>("EstadoImplanteID")
                    },
                    LugarValidacion = new AreaRevisionInfo {
                        AreaRevisionId = info.Field <int>("AreaRevisionID")
                    }
                }).First();

                return(revision);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
        public static ResultadoValidacion AgregarArete(RevisionImplanteInfo revision)
        {
            try
            {
                var resultado = new ResultadoValidacion();
                revision.Fecha = DateTime.Now;
                var revisionImplantePl = new RevisionImplantesPL();

                if (Revisiones == null)
                {
                    Revisiones = new List <RevisionImplanteInfo>();
                }

                resultado = ValidarCorral(revision.Corral.Codigo);
                if (!resultado.Resultado)
                {
                    return(resultado);
                }

                var revisionTemporal = (RevisionImplanteInfo)resultado.Control;
                revision.Corral = revisionTemporal.Corral;
                revision.Lote   = revisionTemporal.Lote;

                resultado = ValidarArete(revision.Animal.Arete);
                if (!resultado.Resultado)
                {
                    return(resultado);
                }

                revision.Animal = (AnimalInfo)resultado.Control;

                resultado = revisionImplantePl.ValidarAgregarArete(revision, Revisiones);

                if (!resultado.Resultado)
                {
                    return(resultado);
                }

                foreach (var lugar in Lugares.Lista.Where(lugar => lugar.AreaRevisionId == revision.LugarValidacion.AreaRevisionId))
                {
                    revision.LugarValidacion = lugar;
                    break;
                }

                foreach (var causa in Causas.Lista.Where(lugar => lugar.CausaId == revision.Causa.CausaId))
                {
                    revision.Causa = causa;
                    break;
                }

                Revisiones.Add(revision);

                resultado.Control = Revisiones;

                //ResultadoValidacion resultado = new ResultadoValidacion();// = revisionImplantePl.ValidarAgregarArete(animal, CorralSeleccionado);
                //AreteSeleccionado = (AnimalInfo)resultado.Control;
                return(resultado);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
Esempio n. 6
0
        /// <summary>
        /// Valida el arete al cual se revisara el reimplante
        /// </summary>
        /// <param name="corral">
        /// The corral.
        /// </param>
        /// <returns>
        /// The <see cref="ResultadoValidacion"/>.
        /// </returns>
        /// <exception cref="ExcepcionDesconocida">
        /// </exception>
        internal ResultadoValidacion ValidarArete(AnimalInfo animal, CorralInfo corral)
        {
            try
            {
                var resultado = new ResultadoValidacion();
                var animalBl  = new AnimalBL();

                if (corral == null)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgFaltaCorral;
                    return(resultado);
                }

                AnimalInfo animalResultado = animalBl.ObtenerAnimalPorArete(animal.Arete, animal.OrganizacionIDEntrada);

                if (animalResultado == null)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgAreteInvalido;
                    return(resultado);
                }

                AnimalMovimientoInfo movimientos = animalBl.ObtenerUltimoMovimientoAnimal(animalResultado);

                if (movimientos == null)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgSinMovimientos;
                    return(resultado);
                }

                if (movimientos.CorralID != corral.CorralID)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgCorralDiferente;
                    return(resultado);
                }

                RevisionImplanteInfo revision = ObtenerRevisionDelDia(animalResultado);

                if (revision != null)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgYaRevisado.Replace("(ARETE)", animal.Arete);
                    return(resultado);
                }

                resultado.Resultado = true;
                resultado.Control   = animalResultado;
                return(resultado);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Esempio n. 7
0
        /// <summary>
        /// Valida el corral que se le validara el reimplante
        /// </summary>
        /// <param name="corral">
        /// The corral.
        /// </param>
        /// <returns>
        /// The <see cref="ResultadoValidacion"/>.
        /// </returns>
        /// <exception cref="ExcepcionDesconocida">
        /// </exception>
        internal ResultadoValidacion ValidarCorral(CorralInfo corral)
        {
            try
            {
                var        resultado       = new ResultadoValidacion();
                var        corralBl        = new CorralBL();
                CorralInfo corralResultado = corralBl.ObtenerCorralPorCodigo(corral.OrganizacionId, corral.Codigo);
                var        revisionActual  = new RevisionImplanteInfo();
                if (corralResultado == null)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgCorralNoExiste;
                    return(resultado);
                }

                revisionActual.Corral = corralResultado;
                var loteBl   = new LoteBL();
                var loteInfo = new LoteInfo
                {
                    OrganizacionID = corral.OrganizacionId,
                    CorralID       = corralResultado.CorralID
                };

                var loteResultado = loteBl.ObtenerPorCorralID(loteInfo);
                if (loteResultado == null)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgLoteInactivo;
                    return(resultado);
                }
                revisionActual.Lote = loteResultado;

                if (loteResultado.TipoCorralID != (int)TipoCorral.Produccion)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgCorralNoProductivo;
                    return(resultado);
                }

                var animalBl = new AnimalBL();
                List <AnimalInfo> animales = animalBl.ObtenerAnimalesPorLote(corral.OrganizacionId, loteResultado.LoteID);

                if (animales == null)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgCorralSinMovimientos;
                    return(resultado);
                }

                if (animales.Count == 0)
                {
                    resultado.Resultado = false;
                    resultado.Mensaje   = ResourceServices.RevisionImplante_msgCorralSinMovimientos;
                    return(resultado);
                }

                resultado.Resultado = true;
                resultado.Control   = revisionActual;
                return(resultado);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }