コード例 #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);
        }
コード例 #2
0
        public static int GuardarEstatusDistribucion(string codigoCorral, int estatusDistribucion)
        {
            var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;
            int resultado = 0;
            var repartoPl = new RepartoPL();
            var corral    = new CorralInfo();

            try
            {
                if (seguridad != null)
                {
                    corral.Codigo            = codigoCorral;
                    corral.Organizacion      = seguridad.Usuario.Organizacion;
                    corral.UsuarioCreacionID = seguridad.Usuario.UsuarioID;

                    resultado = repartoPl.GuardarEstatusDistribucion(corral, estatusDistribucion);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                resultado = 0;
            }
            return(resultado);
        }
コード例 #3
0
        /// <summary>
        /// Metodo para guardar la transferencia de ganado con compensacion de animal
        /// </summary>
        /// <param name="animal"></param>
        /// <param name="corralDestino"></param>
        /// <param name="animalCompensado"></param>
        /// <param name="corralOrigen"></param>
        /// <param name="usuario"></param>
        /// <param name="decrementarCabezas"></param>
        /// <returns></returns>
        public bool GuardarTransferenciaGanadoCompensacion(AnimalInfo animal, CorralInfo corralDestino, AnimalInfo animalCompensado, CorralInfo corralOrigen, int usuario, bool decrementarCabezas)
        {
            bool resultado = false;

            try
            {
                Logger.Info();
                var transferenciaBL = new TransferenciaGanadoIndividualBL();
                resultado = transferenciaBL.GuardarTransferenciaGanadoCompensacion(animal,
                                                                                   corralDestino,
                                                                                   animalCompensado,
                                                                                   corralOrigen,
                                                                                   usuario,
                                                                                   decrementarCabezas);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(resultado);
        }
コード例 #4
0
        /// <summary>
        /// Valida si el tipo de corral destino esta configurado como invalido.
        /// </summary>
        /// <returns>Regresa True si el tipoCorralID esta configurado como invalido en el parametro</returns>
        private bool ValidarValorParametroCorralDestino()
        {
            if (ValidarParametroCorralDestino())
            {
                ParametroOrganizacionInfo parametroValor = new ParametroOrganizacionPL().ObtenerPorOrganizacionIDClaveParametro(int.Parse(Application.Current.Properties["OrganizacionID"].ToString()), ParametrosEnum.CORRALDESTINOORGANIZACION.ToString());

                string[] TiposCorralConfigurados = parametroValor.Valor.Split('|');
                bool     encontrado = false;
                foreach (string tipoCorral in TiposCorralConfigurados)
                {
                    if (tipoCorral == corralOrigen.TipoCorral.TipoCorralID.ToString())
                    {
                        encontrado = true;
                    }
                }

                if (encontrado)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoGanadoCorrales_MsgCorralNoConfigurado, MessageBoxButton.OK,
                                      MessageImage.Stop);
                    txtCorralDestino.Clear();
                    this.corralDestino = new CorralInfo();
                    txtCorralDestino.Focus();
                    BtnGuardar.IsEnabled = true;
                }
                return(encontrado);
            }
            return(false);
        }
コード例 #5
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);
            }
        }
コード例 #6
0
        public static CorralInfo ObtenerCorral(string arete)
        {
            AnimalInfo           animal           = null;
            AnimalMovimientoInfo animalMovimiento = null;
            CorralInfo           corral           = null;

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

                animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                animalMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animal);

                corral = corralPL.ObtenerPorId(animalMovimiento.CorralID);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(corral);
        }
コード例 #7
0
        public static LoteInfo ObtenerLote(string corralCodigo)
        {
            LoteInfo lote = null;

            try
            {
                CorralInfo corral         = null;
                var        lotePL         = new LotePL();
                var        corralPL       = new CorralPL();
                var        seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int        organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;
                corral = corralPL.ObtenerCorralPorCodigo(organizacionId, corralCodigo);

                if (corral != null)
                {
                    lote = lotePL.ObtenerPorCorralCerrado(organizacionId, corral.CorralID);
                }
                //lote = lotePL.ObtenerPorCorral(organizacionId, corral.CorralID);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(lote);
        }
コード例 #8
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 animalPl = new AnimalPL();
                var corralPl = new CorralPL();

                CorralInfo corral = null;

                corral = corralPl.ObtenerCorralPorCodigo(organizacionId, corralCodigo);
                corral.Organizacion = new OrganizacionInfo {
                    OrganizacionID = organizacionId
                };

                return(animalPl.ObtenerAnimalesPorCorral(corral, organizacionId));
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(lista);
        }
コード例 #9
0
ファイル: ReimplanteDAL.cs プロジェクト: vijaydairyf/Prueba
        /// <summary>
        ///  Se valida corral destino si tiene punta chica
        /// </summary>
        /// <param name="corralOrigen"></param>
        /// <param name="corralDestino"></param>
        /// <param name="organizacionId"></param>
        /// <returns></returns>
        public CorralInfo ValidarCorralDestinoPuntaChica(string corralOrigen, string corralDestino, int organizacionId)
        {
            try
            {
                CorralInfo result = null;
                Logger.Info();
                var parameters = AuxReimplante.ObtenerParametrosValidarCorralDestino(corralOrigen, corralDestino, organizacionId);
                var ds         = Retrieve("ReimplanteGanado_ValidarCorralDestinoPuntaChica", parameters);

                if (ValidateDataSet(ds))
                {
                    result = MapReimplanteDAL.ObtenerExisteCorralDestinoPuntaChica(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);
            }
        }
コード例 #10
0
        private void TxtCorral_OnLostFocus(object sender, RoutedEventArgs e)
        {
            try
            {
                var corralPL       = new CorralPL();
                int organizacionID = AuxConfiguracion.ObtenerOrganizacionUsuario();

                var corral = new CorralInfo
                {
                    Codigo       = txtCorral.Text,
                    Organizacion = new OrganizacionInfo
                    {
                        OrganizacionID = organizacionID
                    }
                };

                corral = corralPL.ObtenerPorCodigoGrupo(corral);

                if (corral == null)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ImpresionCierreCorral_CorralInvalido, MessageBoxButton.OK, MessageImage.Warning);
                    txtCorral.Focus();
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ImpresionCierreCorral_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
            }
        }
コード例 #11
0
ファイル: Corral.cs プロジェクト: vijaydairyf/Prueba
        public void CorralCrear()
        {
            var random       = new Random();
            int randomNumber = random.Next(0, 100);

            var pl     = new CorralPL();
            var corral = new CorralInfo
            {
                CorralID     = 0,
                Codigo       = string.Format("C{0:D9}", randomNumber),
                Organizacion = new OrganizacionInfo {
                    OrganizacionID = 4
                },
                TipoCorral = new TipoCorralInfo {
                    TipoCorralID = 1
                },
                Operador = new OperadorInfo {
                    OperadorID = 1
                },
                UsuarioCreacionID = 1,
                Activo            = EstatusEnum.Activo
            };

            corral.CorralID = pl.Guardar(corral);
            Assert.AreNotEqual(corral.CorralID, 0);
        }
コード例 #12
0
        public static CorralInfo ObtenerDatosDelCorral(CorralInfo corralInfo, int enfermeria)
        {
            try{
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;

                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                var corralPL   = new CorralPL();
                var operadorPL = new OperadorPL();

                var corral = corralPL.ObtenerCorralPorCodigo(organizacionId, corralInfo.Codigo);

                if (corral != null)
                {
                    if (corralPL.ValidarCorralPorEnfermeria(corral.Codigo, enfermeria, organizacionId))
                    {
                        corral.Operador             = operadorPL.ObtenerPorCodigoCorral(corral.Codigo, organizacionId);
                        corral.perteneceAEnfermeria = true;
                    }
                    else
                    {
                        corral = new CorralInfo();
                        corral.perteneceAEnfermeria = false;
                    }
                }

                return(corral);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }
コード例 #13
0
 public GanadoIntensivoInfo ObtenerMuerteGanadoIntensivo(CorralInfo corral)
 {
     try
     {
         Dictionary <string, object> parameters = AuxGanadoIntensivoDAL.ObtenerParametrosMuerteGanadoIntensivo(corral);
         DataSet             ds         = Retrieve("[dbo].[MuerteGanadoIntensivo_ObtenerEntradaGanadoPorCorralID]", parameters);
         GanadoIntensivoInfo corralInfo = null;
         if (ValidateDataSet(ds))
         {
             corralInfo = new GanadoIntensivoInfo();
             //corralInfo = MapCorralDAL.ObtenerPorId(ds);
         }
         return(corralInfo);
     }
     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);
     }
 }
コード例 #14
0
        /// <summary>
        /// Guarda el cambio de un corral a otro en los corrales de recepcion
        /// </summary>
        /// <param name="corralInfoOrigen"></param>
        /// <param name="corralInfoDestino"></param>
        /// <param name="usuarioInfo"></param>
        /// <returns></returns>
        internal bool GuardarTraspasoGanadoCorralesRecepcion(CorralInfo corralInfoOrigen, CorralInfo corralInfoDestino, UsuarioInfo usuarioInfo)
        {
            try
            {
                using (var transaction = new TransactionScope())
                {
                    Logger.Info();
                    //Actualiza el corral al lote
                    var loteBl = new LotePL();
                    var lote   = loteBl.DeteccionObtenerPorCorral(corralInfoOrigen.OrganizacionId, corralInfoOrigen.CorralID);
                    loteBl.ActualizarCorral(lote, corralInfoDestino, usuarioInfo);

                    //Actualiza el corral a la entrada del lote
                    var entradaGanadoBl = new EntradaGanadoBL();
                    entradaGanadoBl.ActualizarCorral(lote, corralInfoDestino, usuarioInfo);
                    transaction.Complete();
                    return(true);
                }
            }
            catch (ExcepcionGenerica ex)
            {
                Logger.Error(ex);
                return(false);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                return(false);
            }
        }
コード例 #15
0
 internal bool GuardarTraspasoGanadoCorrales(List <AnimalInfo> aretesTotal, CorralInfo corralInfoDestino, UsuarioInfo usuarioInfo)
 {
     try
     {
         //using (var transaction = new TransactionScope())
         //{
         Logger.Info();
         //foreach (var animal in aretesTotal)
         //{
         GuardarMovimientoTraspasoGanadoCorrales(aretesTotal, corralInfoDestino, usuarioInfo);
         //}
         //transaction.Complete();
         return(true);
         //}
     }
     catch (ExcepcionGenerica ex)
     {
         Logger.Error(ex);
         return(false);
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         return(false);
     }
 }
コード例 #16
0
ファイル: Corral.cs プロジェクト: vijaydairyf/Prueba
        public void CorralObtenerPorId()
        {
            var        pl     = new CorralPL();
            CorralInfo corral = pl.ObtenerPorId(1);

            Assert.AreNotEqual(corral, null);
        }
コード例 #17
0
        /// <summary>
        /// obtiene la corraleta de sacrificio de la organizacion
        /// </summary>
        /// <param name="corral"></param>
        /// <returns></returns>
        public CorralInfo ObtenerCorraletaSacrificio(CorralInfo corral)
        {
            ResultadoInfo <CorralInfo> result;
            CorralInfo corralResultado = null;

            try
            {
                Logger.Info();
                var listaTiposCorral = new List <int> {
                    (int)TipoCorral.CorraletaSacrificio
                };
                corral.GrupoCorral = (int)GrupoCorralEnum.Corraleta;
                var corralBL = new CorralBL();
                result = corralBL.ObtenerCorralesPorTipo(corral, listaTiposCorral);

                if (result != null)
                {
                    if (result.Lista.Count > 0)
                    {
                        corralResultado = result.Lista[0];
                    }
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(corralResultado);
        }
コード例 #18
0
 private void ObtenerCorrales()
 {
     try
     {
         var corralPL = new CorralPL();
         var pagina   = new PaginacionInfo
         {
             Inicio = 1,
             Limite = 100000
         };
         var corral = new CorralInfo
         {
             Organizacion = new OrganizacionInfo
             {
                 OrganizacionID = AuxConfiguracion.ObtenerOrganizacionUsuario()
             },
             TipoCorral = new TipoCorralInfo(),
             Activo     = EstatusEnum.Activo
         };
         ResultadoInfo <CorralInfo> resultadoCorrales = corralPL.ObtenerPorPagina(pagina, corral);
         if (resultadoCorrales != null && resultadoCorrales.Lista != null &&
             resultadoCorrales.Lista.Any())
         {
             corrales = resultadoCorrales.Lista;
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                           Properties.Resources.ImpresionDistribucionAlimento_ErrorConsultarDistribuciones,
                           MessageBoxButton.OK,
                           MessageImage.Error);
     }
 }
コード例 #19
0
        /// <summary>
        /// Metodo para guardar la transferencia de ganado con compensacion de animal
        /// </summary>
        /// <param name="animal"></param>
        /// <param name="corralDestino"></param>
        /// <param name="animalCompensado"></param>
        /// <param name="corralOrigen"></param>
        /// <param name="usuario"></param>
        /// <param name="decrementarCabezas"></param>
        /// <returns></returns>
        internal bool GuardarTransferenciaGanadoCompensacion(AnimalInfo animal, CorralInfo corralDestino, AnimalInfo animalCompensado, CorralInfo corralOrigen, int usuario, bool decrementarCabezas)
        {
            bool resp = false;

            try
            {
                Logger.Info();
                var transferenciaDAL = new TransferenciaGanadoIndividualDAL();
                using (var transaccion = new TransactionScope())
                {
                    // Se envia el animal al destino
                    resp = transferenciaDAL.GuardarTransferenciaGanado(animal, corralDestino, usuario, decrementarCabezas);

                    // Se envia el animal compensado al origen
                    resp = transferenciaDAL.GuardarTransferenciaGanado(animalCompensado, corralOrigen, usuario, decrementarCabezas);

                    transaccion.Complete();
                }
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(resp);
        }
コード例 #20
0
ファイル: Corral.cs プロジェクト: vijaydairyf/Prueba
        public void CorralObtenerPorIdSinDatos()
        {
            var        pl     = new CorralPL();
            CorralInfo corral = pl.ObtenerPorId(0);

            Assert.AreEqual(corral, null);
        }
コード例 #21
0
 /// <summary>
 /// Constructor para editar una entidad Corral Existente
 /// </summary>
 /// <param name="corralInfo"></param>
 public CorralEdicion(CorralInfo corralInfo)
 {
     InitializeComponent();
     corralInfo.UsuarioModificacionID = AuxConfiguracion.ObtenerUsuarioLogueado();
     Contexto = corralInfo;
     CargarAyudas();
     CargaTiposCorral();
 }
コード例 #22
0
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new CorralInfo
     {
         Organizacion      = new OrganizacionInfo(),
         TipoCorral        = new TipoCorralInfo(),
         UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(),
     };
 }
コード例 #23
0
 private void txtCorralDestino_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.Key == Key.Enter || e.Key == Key.Tab)
     {
         if (String.IsNullOrWhiteSpace(txtCorralOrigen.Text))
         {
             txtCorralOrigen.Focus();
             e.Handled = true;
         }
         else
         {
             //Validar si el corral destino es de tipo enfermeria
             var corralPl   = new CorralPL();
             var corralInfo = new CorralInfo
             {
                 Codigo     = txtCorralDestino.Text,
                 TipoCorral = new TipoCorralInfo {
                     TipoCorralID = (int)TipoCorral.Enfermeria,
                 },
                 Organizacion = new OrganizacionInfo {
                     OrganizacionID = _organizacionId
                 }
             };
             corralInfo = corralPl.ObtenerPorCodigoCorral(corralInfo);
             if (corralInfo == null)
             {
                 SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                   Properties.Resources.TraspasoGanadoCorral_CorralInvalido,
                                   MessageBoxButton.OK,
                                   MessageImage.Warning);
                 txtCorralDestino.Focus();
                 return;
             }
             else
             {
                 corralPl   = new CorralPL();
                 corralInfo = new CorralInfo
                 {
                     Codigo       = txtCorralDestino.Text,
                     Organizacion = new OrganizacionInfo {
                         OrganizacionID = _organizacionId
                     },
                     TipoCorral = new TipoCorralInfo {
                         TipoCorralID = (int)TipoCorral.Enfermeria,
                     }
                 };
                 var animalPL = new AnimalPL();
                 _Animales = animalPL.ObtenerAnimalesPorCodigoCorral(corralInfo);
                 LlenarAretesDestino(_Animales);
                 EstablecerControlesTrue();
                 lisBoxCorralOrigen.SelectionMode  = SelectionMode.Multiple;
                 lisBoxCorralDestino.SelectionMode = SelectionMode.Multiple;
                 txtCorralDestino.IsEnabled        = false;
             }
         }
     }
 }
コード例 #24
0
        public static RepartoDetalleInfo ObtenerOrdenRepartoDetalleTarde(int loteID, int repartoID, int corralID, string fechaReparto)
        {
            IList <RepartoDetalleInfo> repartoDetalleLista = null;
            RepartoDetalleInfo         repartoDetalle      = null;
            LoteInfo    lote      = null;
            RepartoInfo reparto   = new RepartoInfo();
            RepartoPL   repartoPL = new RepartoPL();
            LotePL      lotePL    = new LotePL();
            var         corralPL  = new CorralPL();

            try
            {
                var fecha = DateTime.Parse(fechaReparto.ToString(CultureInfo.InvariantCulture));

                var seguridad = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];

                if (seguridad != null)
                {
                    lote = lotePL.ObtenerPorId(loteID);
                    CorralInfo corral = corralPL.ObtenerPorId(corralID);

                    /*DateTime fecha = new DateTime();
                     * fecha = DateTime.Now;
                     * fecha = fecha.AddDays(-1);*/
                    if (lote != null)
                    {
                        reparto = repartoPL.ObtnerPorLote(lote, fecha);
                    }
                    else
                    {
                        reparto = repartoPL.ObtnerPorFechaCorral(corral, fecha);
                    }

                    if (reparto != null)
                    {
                        repartoDetalleLista = repartoPL.ObtenerDetalle(reparto);

                        if (repartoDetalleLista != null)
                        {
                            for (int i = 0; i < repartoDetalleLista.Count; i++)
                            {
                                if (repartoDetalleLista[i].TipoServicioID == (int)TipoServicioEnum.Vespertino)
                                {
                                    repartoDetalle = repartoDetalleLista[i];
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(repartoDetalle);
        }
コード例 #25
0
 public CorralDestino(CorralInfo corralOrigen, IList <CorralInfo> CorralesDestino)
 {
     InitializeComponent();
     organizacionID   = Convert.ToInt32(Application.Current.Properties["OrganizacionID"]);
     corralOrigenInfo = corralOrigen;
     CargarAyudas();
     listaCorrales            = (List <CorralInfo>)CorralesDestino;
     gridCorrales.ItemsSource = null;
     gridCorrales.ItemsSource = listaCorrales;
 }
コード例 #26
0
ファイル: Corral.xaml.cs プロジェクト: vijaydairyf/Prueba
 /// <summary>
 /// Inicializa el Contexto
 /// </summary>
 private void InicializaContexto()
 {
     Contexto = new CorralInfo
     {
         Codigo       = string.Empty,
         Organizacion = new OrganizacionInfo(),
         TipoCorral   = new TipoCorralInfo(),
         Operador     = new OperadorInfo()
     };
 }
コード例 #27
0
        public static CorralInfo ValidarCorral(CorralInfo corralInfo)
        {
            var corral = new CorralInfo();
            var lotePl = new LotePL();

            try
            {
                var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo;

                if (seguridad != null)
                {
                    var organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                    var corralPL = new CorralPL();

                    corral = corralPL.ObtenerCorralActivoPorCodigo(organizacionId, corralInfo.Codigo);

                    if (corral != null)
                    {
                        LoteInfo lote = lotePl.ObtenerPorCorralCerrado(organizacionId, corral.CorralID);

                        if (lote != null)
                        {
                            if (lote.Activo == EstatusEnum.Inactivo)
                            {
                                corral          = new CorralInfo();
                                corral.CorralID = -3; //Corral no tiene lote activo
                            }
                            else if (corral.GrupoCorral != (int)GrupoCorralEnum.Produccion)
                            {
                                corral          = new CorralInfo();
                                corral.CorralID = -1; //Corral no es de produccion
                            }
                        }
                        else
                        {
                            corral          = new CorralInfo();
                            corral.CorralID = -3; //Corral no tiene lote activo
                        }
                    }
                }
                else
                {
                    corral          = new CorralInfo();
                    corral.CorralID = -2; //Error de session
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                corral = null;
            }

            return(corral);
        }
コード例 #28
0
        /// <summary>
        /// The validar agregar arete.
        /// </summary>
        /// <param name="animal">
        /// The animal.
        /// </param>
        /// <param name="corral">
        /// The corral.
        /// </param>
        /// <returns>
        /// The <see cref="ResultadoValidacion"/>.
        /// </returns>
        /// <exception cref="ExcepcionDesconocida">
        /// </exception>
        internal ResultadoValidacion ValidarAgregarArete(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_msgFaltaCorral;
                    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);
            }
        }
コード例 #29
0
        internal void TraerCorral(int OrganizacionID)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(Corral.Codigo))
                {
                    return;
                }
                var corralPL = new SIE.Services.Servicios.PL.CorralPL();

                // Jose Angel Rodriguez Rodriguez 20/09/2014
                //La Primera ves k se mandaba llamar esto estava con un valor en 0, por eso se cambio a que desde la pantalla se tragera la OrganizacionID
                //var corral = corralPL.ObtenerCorralPorCodigo(Lote.OrganizacionID, Corral.Codigo);
                var corral = corralPL.ObtenerCorralPorCodigo(OrganizacionID, Corral.Codigo);

                if (corral == null)
                {
                    Corral = new CorralInfo();
                    Lote   = new LoteInfo {
                        OrganizacionID = Organizacion.OrganizacionID
                    };
                    Lote.Corral        = Corral;
                    FechaInicio        = null;
                    FechaFin           = null;
                    fechaFinaReporte   = null;
                    fechaInicioReporte = null;
                    MostrarMensaje(Properties.Resources.Alimentacion_ConsumoCorral_MsgCorralNoEncontrado, MessageBoxButton.OK, MessageImage.Warning);
                    return;
                }
                Corral = corral;
                var lotePL = new SIE.Services.Servicios.PL.LotePL();
                Lote.Corral   = Corral;
                Lote.CorralID = Corral.CorralID;
                Lote          = lotePL.ObtenerLotePorCorral(Lote);
                if (Lote != null)
                {
                    TraerLote();
                }
                else
                {
                    Lote = new LoteInfo();
                    Lote.OrganizacionID = Organizacion.OrganizacionID;
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                MostrarMensaje(Properties.Resources.ReporteConsumoCorral_ErrorTraerCorral,
                               MessageBoxButton.OK, MessageImage.Error);
            }
        }
コード例 #30
0
        private bool ExisteCorralEnListaConfigurada(CorralInfo resultado)
        {
            bool resp = false;

            if (listaCorrales != null)
            {
                foreach (var corral in listaCorrales.Where(
                             corral => corral.CorralID == resultado.CorralID))
                {
                    resp = true;
                }
            }
            return(resp);
        }