Ejemplo n.º 1
0
        public void ObtenerTipoGanadoPorId()
        {
            var            tipoGanadoPL = new TipoGanadoPL();
            TipoGanadoInfo tipoGanado   = tipoGanadoPL.ObtenerPorID(1);

            Assert.IsNotNull(tipoGanado);
            Assert.IsTrue(tipoGanado.Descripcion.Length > 0);
        }
        public static ResultadoInfo <CorralInfo> ExisteCorraletaDeSacrificioConfigurada(string arete)
        {
            ResultadoInfo <CorralInfo> corraletas = null;

            try
            {
                var animalPL     = new AnimalPL();
                var tipoGanadoPL = new TipoGanadoPL();
                var parametroOrg = new ParametroOrganizacionPL();
                var corralPL     = new CorralPL();

                var seguridad      = (SeguridadInfo)HttpContext.Current.Session["Seguridad"];
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID;

                // Se obtiene el animal
                var animal = animalPL.ObtenerAnimalPorArete(arete, organizacionId);

                if (animal != null)
                {
                    // Obtener el tipo de ganado
                    animal.TipoGanado = tipoGanadoPL.ObtenerPorID(animal.TipoGanadoID);
                    // Se obtiene el tipo de corraletaSacrificio a Buscar
                    var paramTipoCorraletaSacrificio = animal.TipoGanado.Sexo == Sexo.Macho ?
                                                       ParametrosEnum.CorraletaSacrificioMacho : ParametrosEnum.CorraletaSacrificioHembra;
                    var parametroOrganizacionInfo =
                        parametroOrg.ObtenerPorOrganizacionIDClaveParametro(organizacionId, paramTipoCorraletaSacrificio.ToString());
                    // Si se tiene configurado el parametro
                    if (parametroOrganizacionInfo != null)
                    {
                        //Obtener info de las corraletas configuradas
                        corraletas =
                            corralPL.ObtenerInformacionCorraletasDisponiblesSacrificio(organizacionId, parametroOrganizacionInfo.Valor);
                        if (corraletas != null && corraletas.Lista.Count > 0)
                        {
                            var corral = new CorralInfo {
                                Codigo = "Seleccione", CorralID = 0
                            };
                            corraletas.Lista.Insert(0, corral);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }

            return(corraletas);
        }
        private bool ValidarAreteMetalico()
        {
            try
            {
                var animalInfo = new AnimalInfo
                {
                    AreteMetalico         = txtAreteMetalico.Text,
                    OrganizacionIDEntrada = organizacionID
                };
                //Buscar el animal en el inventario
                var corteGanadoPl = new CorteGanadoPL();
                animalInfo = corteGanadoPl.ExisteAreteMetalicoEnPartida(animalInfo);
                if (animalInfo != null)
                {
                    //Se obtiene el ultimo movimiento
                    var animalPL         = new AnimalPL();
                    var ultimoMovimiento = animalPL.ObtenerUltimoMovimientoAnimal(animalInfo);
                    if (ultimoMovimiento != null)
                    {
                        //Se obtiene el corral en el que se encuentra
                        var corralPL   = new CorralPL();
                        var corralInfo = corralPL.ObtenerPorId(ultimoMovimiento.CorralID);
                        if (corralInfo != null)
                        {
                            //Se obtiene el Corral Origen
                            txtCorralOrigen.Text = corralInfo.Codigo;
                            var lotePL = new LotePL();
                            //var loteOrigen = new LoteInfo
                            //                 {
                            //                     CorralID = corralInfo.CorralID,
                            //                     OrganizacionID = organizacionID
                            //                 };
                            LoteInfo loteOrigen = lotePL.ObtenerPorId(ultimoMovimiento.LoteID);
                            if (loteOrigen == null || loteOrigen.Activo == EstatusEnum.Inactivo)
                            {
                                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                                  Properties.Resources.TrasferenciaGanadoIndividual_LoteInactivo,
                                                  MessageBoxButton.OK, MessageImage.Warning);
                                txtAreteMetalico.Focusable = true;
                                txtAreteMetalico.Focus();
                                txtAreteMetalico.Clear();
                                return(false);
                            }
                        }

                        //Si existe se obtienen los datos del animal
                        txtPesoOrigen.Text = animalInfo.PesoCompra.ToString(CultureInfo.InvariantCulture);
                        var tipoGanadoPl = new TipoGanadoPL();
                        var tipoGanado   = tipoGanadoPl.ObtenerPorID(animalInfo.TipoGanadoID);
                        if (tipoGanado != null)
                        {
                            //Se obtiene el tipo de ganado y sexo
                            txtSexo.Text = tipoGanado.Sexo.ToString();
                        }
                        //Se inicializa la info del animal de forma global
                        animal        = animalInfo;
                        corralOrigen  = corralInfo;
                        txtArete.Text = animal.Arete;
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.TrasferenciaGanadoIndividual_AreteNoExiste,
                                          MessageBoxButton.OK, MessageImage.Warning);
                        txtAreteMetalico.Focusable = true;
                        txtAreteMetalico.Focus();
                        txtAreteMetalico.Clear();
                        return(false);
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TrasferenciaGanadoIndividual_AreteNoExiste,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    txtAreteMetalico.Focusable = true;
                    txtAreteMetalico.Focus();
                    txtAreteMetalico.Clear();
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(true);
        }