Ejemplo n.º 1
0
 /// <summary>
 /// Metodo para Crear un registro de TipoCorral
 /// </summary>
 /// <param name="info">Valores de la entidad que será creada</param>
 internal int Crear(TipoCorralInfo info)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxTipoCorralDAL.ObtenerParametrosCrear(info);
         int result = Create("TipoCorral_Crear", parameters);
         return(result);
     }
     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);
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad TipoCorral
 /// </summary>
 /// <param name="info"></param>
 internal int Guardar(TipoCorralInfo info)
 {
     try
     {
         Logger.Info();
         var tipoCorralDAL = new TipoCorralDAL();
         int result        = info.TipoCorralID;
         if (info.TipoCorralID == 0)
         {
             result = tipoCorralDAL.Crear(info);
         }
         else
         {
             tipoCorralDAL.Actualizar(info);
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Obtiene un registro de TipoCorral
 /// </summary>
 /// <param name="descripcion">Descripción de la TipoCorral</param>
 /// <returns></returns>
 internal TipoCorralInfo ObtenerPorDescripcion(string descripcion)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxTipoCorralDAL.ObtenerParametrosPorDescripcion(descripcion);
         DataSet        ds     = Retrieve("TipoCorral_ObtenerPorDescripcion", parameters);
         TipoCorralInfo result = null;
         if (ValidateDataSet(ds))
         {
             result = MapTipoCorralDAL.ObtenerPorDescripcion(ds);
         }
         return(result);
     }
     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);
     }
 }
        /// <summary>
        /// Obtiene un listado de corrales por tipo
        /// </summary>
        /// <param name="tipoCorralInfo"></param>
        /// <param name="organizationID"></param>
        /// <returns></returns>
        internal CorralInfo ObtenerCorralesTipo(TipoCorralInfo tipoCorralInfo, int organizationID)
        {
            try
            {
                Logger.Info();
                Dictionary <string, object> parametros = AuxCorteTransferenciaGanado.ObtenerParametrosCorralesTipo(tipoCorralInfo, organizationID);
                DataSet    ds       = Retrieve("CorteTransferenciaGanado_ObtenerCorralesTipo", parametros);
                CorralInfo corrales = null;

                if (ValidateDataSet(ds))
                {
                    corrales = MapCorteTransferenciaGanadoDAL.ObtenerCorralesTipo(ds);
                }
                return(corrales);
            }
            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);
            }
        }
Ejemplo n.º 5
0
        private void AgregarCorralesGuardados(TipoCorralInfo tipoCorral)
        {
            List <SeleccionInfoModelo <CorralInfo> > listaCorralesTipo =
                listaCorralesFinal.Where(cor => cor.Elemento.TipoCorralId == tipoCorral.TipoCorralID).ToList();

            listaCorralesTipo.ForEach(cor => corralesDisponibles.Add(cor));
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new TipoCorralInfo
     {
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(),
     };
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new TipoCorralInfo
     {
         Descripcion = string.Empty,
     };
 }
Ejemplo n.º 8
0
        /// <summary>
        /// Obtiene los corrales por tipo de corral y la organizacion seleccionada en el contexto
        /// </summary>
        /// <param name="tipoCorral"></param>
        private void ObtenerCorralesPorTipoCorral(TipoCorralInfo tipoCorral)
        {
            if (Contexto.Operador.OperadorID > 0 && (listaCorralesFinal != null && listaCorralesFinal.Any()))
            {
                AgregarCorralesGuardados(tipoCorral);
            }

            var corralPL = new CorralPL();
            var corral   = new CorralInfo
            {
                Organizacion = new OrganizacionInfo()
                {
                    OrganizacionID = organizacionID
                },
                Operador   = Contexto.Operador,
                TipoCorral = tipoCorral
            };

            ResultadoInfo <CorralInfo> listaCorral = corralPL.ObtenerCorralesPorTipoCorralDetector(corral);

            if (listaCorral != null && listaCorral.Lista != null)
            {
                GenerarSeleccionModelo(listaCorral.Lista, false);
            }
        }
Ejemplo n.º 9
0
 /// <summary>
 /// Obtiene los corrales por tipo de corral y la organizacion seleccionada en el contexto
 /// </summary>
 /// <param name="tipoCorral"></param>
 private void ObtenerCorralesPorTipoCorral(TipoCorralInfo tipoCorral)
 {
     if (Contexto.EnfermeriaID > 0 && (listaCorralesFinal != null && listaCorralesFinal.Any()))
     {
         AgregarCorralesGuardados(tipoCorral);
     }
     GenerarSeleccionModelo(plCorral.ObtenerCorralesPorTipoCorralSinEnfermeriaAsignada(tipoCorral, Contexto.OrganizacionInfo.OrganizacionID), false);
 }
Ejemplo n.º 10
0
        public void ObtenerTipoCorralPorId()
        {
            var            tipoCorralPL = new TipoCorralPL();
            TipoCorralInfo tipoCorral   = tipoCorralPL.ObtenerPorID(1);

            Assert.IsNotNull(tipoCorral);
            Assert.IsTrue(tipoCorral.Descripcion.Length > 0);
        }
Ejemplo n.º 11
0
 /// <summary>
 /// Completa al CorralesDisponibles la informacion agregando los corrales que ya estan asignados a la enfermeria
 /// </summary>
 private void ComplementarCorralesDisponiblesConCorralesEnfermeria(TipoCorralInfo tipoCorral)
 {
     if (Contexto.Corrales != null)
     {
         List <CorralInfo> corrales = Contexto.Corrales.Where(
             cor => cor.Elemento.TipoCorral.TipoCorralID == tipoCorral.TipoCorralID)
                                      .Select(corral => corral.Elemento).ToList();
         GenerarSeleccionModelo(corrales, true);
     }
 }
Ejemplo n.º 12
0
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(txtTipoCorralID.Text))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoCorralEdicion_MsgTipoCorralIDRequerida;
                    txtTipoCorralID.Focus();
                }
                else if (string.IsNullOrWhiteSpace(txtDescripcion.Text) || Contexto.Descripcion == string.Empty)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoCorralEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (cmbActivo.SelectedItem == null)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.TipoCorralEdicion_MsgActivoRequerida;
                    cmbActivo.Focus();
                }
                else
                {
                    int    tipoCorralId = Extensor.ValorEntero(txtTipoCorralID.Text);
                    string descripcion  = txtDescripcion.Text;

                    var            tipoCorralPL = new TipoCorralPL();
                    TipoCorralInfo tipoCorral   = tipoCorralPL.ObtenerPorDescripcion(descripcion);

                    if (tipoCorral != null && (tipoCorralId == 0 || tipoCorralId != tipoCorral.TipoCorralID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.TipoCorralEdicion_MsgDescripcionExistente, tipoCorral.TipoCorralID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Carga los Roles
        /// </summary>
        private void CargaTiposCorral()
        {
            var tipoCorralPL = new TipoCorralPL();
            var tipoCorral   = new TipoCorralInfo
            {
                TipoCorralID = 0,
                Descripcion  = Properties.Resources.cbo_Seleccione,
            };
            IList <TipoCorralInfo> listaTiposCorral = tipoCorralPL.ObtenerTodos(EstatusEnum.Activo);

            listaTiposCorral.Insert(0, tipoCorral);
            cmbTipoCorral.ItemsSource  = listaTiposCorral;
            cmbTipoCorral.SelectedItem = tipoCorral;
        }
Ejemplo n.º 14
0
 /// <summary>
 /// Evento que se ejecuta mientras se esta cerrando la ventana
 /// </summary>
 /// <param name="e"></param>
 protected override void OnClosing(CancelEventArgs e)
 {
     if (confirmaSalir)
     {
         MessageBoxResult result = SkMessageBox.Show(this, Properties.Resources.Msg_CerrarSinGuardar, MessageBoxButton.YesNo,
                                                     MessageImage.Question);
         if (result == MessageBoxResult.Yes)
         {
             Contexto = null;
         }
         else
         {
             e.Cancel = true;
         }
     }
 }
Ejemplo n.º 15
0
 /// <summary>
 /// Obtiene todos los corrales que pertencen al tipo de corral y organizacion especificados y no tener enfermerias asignadas.
 /// </summary>
 /// <param name="tipoCorral">Tipo de corral al que pertenece el corral.</param>
 /// <param name="organizacionId">OrganizacionId al que pertenece el corral.</param>
 /// <returns>Una lista de corrales</returns>
 public List <CorralInfo> ObtenerCorralesPorTipoCorralSinEnfermeriaAsignada(TipoCorralInfo tipoCorral, int organizacionId)
 {
     try
     {
         Logger.Info();
         var corralBL             = new CorralBL();
         List <CorralInfo> result = corralBL.ObtenerCorralesPorTipoCorralSinEnfermeriaAsignada(tipoCorral, organizacionId);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 16
0
 /// <summary>
 /// Obtiene una entidad TipoCorral por su descripción
 /// </summary>
 /// <param name="descripcion"></param>
 /// <returns></returns>
 internal TipoCorralInfo ObtenerPorDescripcion(string descripcion)
 {
     try
     {
         Logger.Info();
         var            tipoCorralDAL = new TipoCorralDAL();
         TipoCorralInfo result        = tipoCorralDAL.ObtenerPorDescripcion(descripcion);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 17
0
 /// <summary>
 /// Obtener parametros para consultar corrales por tipo.
 /// </summary>
 /// <param name="tipoCorral"></param>
 /// <param name="organizacionID"></param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosCorralesTipo(TipoCorralInfo tipoCorral, int organizacionID)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@OrganizacionID", organizacionID },
             { "@TipoCorralID", tipoCorral.TipoCorralID }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 18
0
 /// <summary>
 /// Obtiene una entidad por su Id
 /// </summary>
 /// <param name="tipoCorralID"></param>
 /// <returns></returns>
 public TipoCorralInfo ObtenerPorID(int tipoCorralID)
 {
     try
     {
         Logger.Info();
         var            tipoCorralBL = new TipoCorralBL();
         TipoCorralInfo result       = tipoCorralBL.ObtenerPorID(tipoCorralID);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 19
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad TipoCorral
 /// </summary>
 /// <param name="info">Representa la entidad que se va a grabar</param>
 public int Guardar(TipoCorralInfo info)
 {
     try
     {
         Logger.Info();
         var tipoCorralBL = new TipoCorralBL();
         int result       = tipoCorralBL.Guardar(info);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 20
0
 /// <summary>
 /// Obtiene parametros para crear
 /// </summary>
 /// <param name="info">Valores de la entidad</param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosCrear(TipoCorralInfo info)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@Descripcion", info.Descripcion },
             { "@Activo", info.Activo },
             { "@UsuarioCreacionID", info.UsuarioCreacionID },
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 21
0
 /// <summary>
 /// Obtiene la lista para mostrar en el grid
 /// </summary>
 private void ObtenerListaTipoCorral(int inicio, int limite)
 {
     try
     {
         var            tipoCorralPL = new TipoCorralPL();
         TipoCorralInfo filtros      = ObtenerFiltros();
         if (ucPaginacion.ContextoAnterior != null)
         {
             bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior);
             if (!contextosIguales)
             {
                 ucPaginacion.Inicio = 1;
                 inicio = 1;
             }
         }
         var pagina = new PaginacionInfo {
             Inicio = inicio, Limite = limite
         };
         ResultadoInfo <TipoCorralInfo> resultadoInfo = tipoCorralPL.ObtenerPorPagina(pagina, filtros);
         if (resultadoInfo != null && resultadoInfo.Lista != null &&
             resultadoInfo.Lista.Count > 0)
         {
             gridDatos.ItemsSource       = resultadoInfo.Lista;
             ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros;
         }
         else
         {
             ucPaginacion.TotalRegistros = 0;
             gridDatos.ItemsSource       = new List <TipoCorral>();
         }
     }
     catch (ExcepcionGenerica)
     {
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TipoCorral_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TipoCorral_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
     }
 }
        /// <summary>
        /// Metodo para obetener los totales de corte por transferencia
        /// </summary>
        /// <param name="tipoCorralInfo"></param>
        /// <param name="organizationID"></param>
        /// <returns></returns>
        public CorralInfo ObtenerCorralesTipo(TipoCorralInfo tipoCorralInfo, int organizationID)
        {
            CorralInfo result;

            try
            {
                Logger.Info();
                var corteTransferenciaGanado = new CorteTransferenciaGanadoBL();
                result = corteTransferenciaGanado.ObtenerCorralesTipo(tipoCorralInfo, organizationID);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(result);
        }
Ejemplo n.º 23
0
 /// <summary>
 ///  Método que obtiene un registro
 /// </summary>
 /// <param name="ds"></param>
 /// <returns></returns>
 internal static TipoCorralInfo ObtenerPorID(DataSet ds)
 {
     try
     {
         Logger.Info();
         DataTable      dt      = ds.Tables[ConstantesDAL.DtDatos];
         TipoCorralInfo entidad =
             (from info in dt.AsEnumerable()
              select
              new TipoCorralInfo
         {
             TipoCorralID = info.Field <int>("TipoCorralID"),
             Descripcion = info.Field <string>("Descripcion"),
             Activo = info.Field <bool>("Activo").BoolAEnum(),
         }).First();
         return(entidad);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 24
0
 /// <summary>
 /// Metodo para actualizar un registro de TipoCorral
 /// </summary>
 /// <param name="info">Valores de la entidad que se actualizarán</param>
 internal void Actualizar(TipoCorralInfo info)
 {
     try
     {
         Logger.Info();
         Dictionary <string, object> parameters = AuxTipoCorralDAL.ObtenerParametrosActualizar(info);
         Update("TipoCorral_Actualizar", parameters);
     }
     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);
     }
 }
Ejemplo n.º 25
0
 /// <summary>
 /// Obtiene parametros para obtener lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 internal static Dictionary <string, object> ObtenerParametrosPorPagina(PaginacionInfo pagina, TipoCorralInfo filtro)
 {
     try
     {
         Logger.Info();
         var parametros =
             new Dictionary <string, object>
         {
             { "@TipoCorralID", filtro.TipoCorralID },
             { "@Descripcion", filtro.Descripcion },
             { "@Activo", filtro.Activo },
             { "@Inicio", pagina.Inicio },
             { "@Limite", pagina.Limite }
         };
         return(parametros);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
Ejemplo n.º 26
0
        public static List <CorralInfo> ObtenerCorralDestinoAnimal(string arete)
        {
            var corrales = new List <CorralInfo>();

            try
            {
                //var animalPL = new AnimalPL();
                var animalMovimientoPL = new AnimalMovimientoPL();
                var seguridad          = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId     = seguridad.Usuario.Organizacion.OrganizacionID;

                //animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                List <AnimalMovimientoInfo> movimientosArete =
                    animalMovimientoPL.ObtenerMovimientosPorArete(organizacionId, arete);

                var    movimientoEnfermeria    = new AnimalMovimientoInfo();
                var    movimientoCorralOrigen  = new AnimalMovimientoInfo();
                var    parametroOrganizacionPL = new ParametroOrganizacionPL();
                var    deteccionAnimalBL       = new DeteccionAnimalBL();
                var    corralPL       = new CorralPL();
                double diasEnfermeria = 0;
                if (movimientosArete != null && movimientosArete.Any())
                {
                    movimientosArete = movimientosArete.OrderByDescending(mov => mov.AnimalMovimientoID).ToList();
                    foreach (var animalMovimientoInfo in movimientosArete)
                    {
                        if (animalMovimientoInfo.GrupoCorralID == GrupoCorralEnum.Enfermeria.GetHashCode())
                        {
                            var movimientosDiferenteEnfermeria =
                                movimientosArete.Any(
                                    mov => mov.GrupoCorralID != GrupoCorralEnum.Enfermeria.GetHashCode());

                            if (!movimientosDiferenteEnfermeria)
                            {
                                var primerMovimientoEnfermeria = movimientosArete.LastOrDefault();

                                if (primerMovimientoEnfermeria != null)
                                {
                                    movimientoEnfermeria = primerMovimientoEnfermeria;

                                    DeteccionAnimalInfo deteccionAnimal =
                                        deteccionAnimalBL.ObtenerPorAnimalMovimientoID(
                                            movimientoEnfermeria.AnimalMovimientoID);

                                    if (deteccionAnimal != null)
                                    {
                                        animalMovimientoInfo.GrupoCorralEnum = (GrupoCorralEnum)deteccionAnimal.GrupoCorralID;
                                        movimientoCorralOrigen = animalMovimientoInfo;
                                        TimeSpan diferencia = DateTime.Now - movimientoEnfermeria.FechaMovimiento;
                                        diasEnfermeria = diferencia.TotalDays;
                                        break;
                                    }
                                }
                            }
                            movimientoEnfermeria = animalMovimientoInfo;
                            continue;
                        }
                        if (animalMovimientoInfo.GrupoCorralID != GrupoCorralEnum.Enfermeria.GetHashCode())
                        {
                            //Validar que el corral no sea el de Sobrantes
                            ParametroOrganizacionInfo parametroOrganizacionSobrante =
                                parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(organizacionId,
                                                                                               ParametrosEnum.CORRALSOBRANTE.ToString());

                            if (parametroOrganizacionSobrante != null &&
                                !string.IsNullOrWhiteSpace(parametroOrganizacionSobrante.Valor))
                            {
                                var corralSobrante = new CorralInfo
                                {
                                    Codigo       = parametroOrganizacionSobrante.Valor,
                                    Organizacion = new OrganizacionInfo
                                    {
                                        OrganizacionID = organizacionId
                                    }
                                };

                                corralSobrante = corralPL.ObtenerPorCodicoOrganizacionCorral(corralSobrante);
                                var lotePL = new LotePL();
                                if (corralSobrante != null)
                                {
                                    LoteInfo loteOrigenSobrante = lotePL.ObtenerPorCorral(organizacionId,
                                                                                          corralSobrante.CorralID);
                                    TimeSpan diferencia;
                                    if (loteOrigenSobrante != null)
                                    {
                                        if (loteOrigenSobrante.LoteID == animalMovimientoInfo.LoteID)
                                        {
                                            DeteccionAnimalInfo deteccionAnimal =
                                                deteccionAnimalBL.ObtenerPorAnimalMovimientoID(
                                                    movimientoEnfermeria.AnimalMovimientoID);

                                            if (deteccionAnimal != null)
                                            {
                                                animalMovimientoInfo.GrupoCorralEnum =
                                                    (GrupoCorralEnum)animalMovimientoInfo.GrupoCorralID;
                                                movimientoCorralOrigen        = animalMovimientoInfo;
                                                movimientoCorralOrigen.LoteID = deteccionAnimal.Lote.LoteID;
                                                diferencia     = DateTime.Now - movimientoEnfermeria.FechaMovimiento;
                                                diasEnfermeria = diferencia.TotalDays;
                                                break;
                                            }
                                        }
                                    }

                                    animalMovimientoInfo.GrupoCorralEnum =
                                        (GrupoCorralEnum)animalMovimientoInfo.GrupoCorralID;
                                    movimientoCorralOrigen = animalMovimientoInfo;
                                    diferencia             = DateTime.Now - movimientoEnfermeria.FechaMovimiento;
                                    diasEnfermeria         = diferencia.TotalDays;
                                    break;
                                }
                            }
                        }
                    }
                }
                int diasRecuperacion = 0;



                ParametroOrganizacionInfo parametroOrganizacion =
                    parametroOrganizacionPL.ObtenerPorOrganizacionIDClaveParametro(organizacionId,
                                                                                   ParametrosEnum.DiasRecuperacion.
                                                                                   ToString());

                if (parametroOrganizacion != null)
                {
                    int.TryParse(parametroOrganizacion.Valor, out diasRecuperacion);
                }

                if (diasRecuperacion == 0)
                {
                    diasRecuperacion = 7; //Valor por default, si no se encuentra el parámetro de la organización
                }



                if (movimientoCorralOrigen.TipoCorralID == TipoCorral.CorraletaRecuperado.GetHashCode() ||
                    movimientoCorralOrigen.TipoCorralID == TipoCorral.CorraletaRecuperadosPartida.GetHashCode())
                {
                    var tipoCorralRecuperado = new TipoCorralInfo
                    {
                        TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                    };
                    List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                    if (corralesRecuperados != null && corralesRecuperados.Any())
                    {
                        corrales.AddRange(corralesRecuperados);
                        return(corrales);
                    }
                }
                switch (movimientoCorralOrigen.GrupoCorralEnum)
                {
                case GrupoCorralEnum.Produccion:
                    if (diasEnfermeria < diasRecuperacion)
                    {
                        var lotePL = new LotePL();
                        //var corralPL = new CorralPL();
                        LoteInfo loteOriginal = lotePL.ObtenerPorId(movimientoCorralOrigen.LoteID);
                        if (loteOriginal != null && loteOriginal.Activo == EstatusEnum.Activo)
                        {
                            corrales.Add(loteOriginal.Corral);
                        }
                        else
                        {
                            var tipoCorralRecuperado = new TipoCorralInfo
                            {
                                TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                            };
                            List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                            if (corralesRecuperados != null && corralesRecuperados.Any())
                            {
                                corrales.AddRange(corralesRecuperados);
                            }
                        }
                    }
                    else
                    {
                        //var corralPL = new CorralPL();
                        var tipoCorralRecuperado = new TipoCorralInfo
                        {
                            TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                        };
                        List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                        if (corralesRecuperados != null && corralesRecuperados.Any())
                        {
                            corrales.AddRange(corralesRecuperados);
                        }
                    }
                    break;

                case GrupoCorralEnum.Recepcion:
                    if (diasEnfermeria < diasRecuperacion)
                    {
                        //var corralPL = new CorralPL();

                        var tipoCorralRecuperadoPartida = new TipoCorralInfo
                        {
                            TipoCorralID = TipoCorral.CorraletaRecuperadosPartida.GetHashCode()
                        };
                        List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperadoPartida, organizacionId);
                        if (corralesRecuperados != null && corralesRecuperados.Any())
                        {
                            corrales.AddRange(corralesRecuperados);
                        }
                    }
                    else
                    {
                        //var corralPL = new CorralPL();
                        var tipoCorralRecuperado = new TipoCorralInfo
                        {
                            TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                        };
                        List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                        if (corralesRecuperados != null && corralesRecuperados.Any())
                        {
                            corrales.AddRange(corralesRecuperados);
                        }
                    }
                    break;
                }

                if (!corrales.Any())
                {
                    var tipoCorralRecuperado = new TipoCorralInfo
                    {
                        TipoCorralID = TipoCorral.CorraletaRecuperado.GetHashCode()
                    };
                    List <CorralInfo> corralesRecuperados = corralPL.ObtenerCorralesPorTipoCorral(tipoCorralRecuperado, organizacionId);
                    if (corralesRecuperados != null && corralesRecuperados.Any())
                    {
                        corrales.AddRange(corralesRecuperados);
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(corrales);
        }
Ejemplo n.º 27
0
 /// <summary>
 /// Constructor para editar una entidad TipoCorral Existente
 /// </summary>
 /// <param name="tipoCorralInfo"></param>
 public TipoCorralEdicion(TipoCorralInfo tipoCorralInfo)
 {
     InitializeComponent();
     tipoCorralInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado();
     Contexto = tipoCorralInfo;
 }
Ejemplo n.º 28
0
 /// <summary>
 /// Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 internal ResultadoInfo <TipoCorralInfo> ObtenerPorPagina(PaginacionInfo pagina, TipoCorralInfo filtro)
 {
     try
     {
         Dictionary <string, object> parameters = AuxTipoCorralDAL.ObtenerParametrosPorPagina(pagina, filtro);
         DataSet ds = Retrieve("TipoCorral_ObtenerPorPagina", parameters);
         ResultadoInfo <TipoCorralInfo> result = null;
         if (ValidateDataSet(ds))
         {
             result = MapTipoCorralDAL.ObtenerPorPagina(ds);
         }
         return(result);
     }
     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);
     }
 }
Ejemplo n.º 29
0
 /// <summary>
 /// Obtiene un lista paginada
 /// </summary>
 /// <param name="pagina"></param>
 /// <param name="filtro"></param>
 /// <returns></returns>
 internal ResultadoInfo <TipoCorralInfo> ObtenerPorPagina(PaginacionInfo pagina, TipoCorralInfo filtro)
 {
     try
     {
         Logger.Info();
         var tipoCorralDAL = new TipoCorralDAL();
         ResultadoInfo <TipoCorralInfo> result = tipoCorralDAL.ObtenerPorPagina(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }