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;
             }
         }
     }
 }
        public static CorralInfo TraerCorral(CorralInfo corralInfo, int embarqueId)
        {
            try
            {
                var seguridad      = (SeguridadInfo)ObtenerSeguridad();
                int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; //corralInfo.Organizacion.OrganizacionID;

                var corralPL = new CorralPL();
                corralInfo.Organizacion = new OrganizacionInfo {
                    OrganizacionID = organizacionId
                };
                corralInfo.TipoCorral = new TipoCorralInfo {
                    TipoCorralID = 1
                };                                                               //TipoCorral = 1 Recepción

                CorralInfo corral = corralPL.ObtenerPorCodigoCorral(corralInfo);

                if (corral != null)
                {
                    int corralId    = corral.CorralID;
                    int lotesActivo = TraerLoteObtenerActivosPorCorral(corralId);
                    if (lotesActivo > 0)
                    {
                        //Obtener programaciones por corral
                        var entradaGanadoPL = new EntradaGanadoPL();
                        int total           = entradaGanadoPL.ObtenerPorCorralDisponible(organizacionId, corralId, embarqueId);
                        if (total > 0)
                        {
                            //si la condición se cumple el corral ya tiene un lote asignado
                            corral = new CorralInfo();
                        }
                    }
                }

                return(corral);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw;
            }
        }