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