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);
        }
Beispiel #2
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);
        }
Beispiel #3
0
        private void Buscar()
        {
            try
            {
                var lotePL            = new LotePL();
                var corralPL          = new CorralPL();
                var checkListCorralPL = new CheckListCorralPL();
                int organizacionID    = AuxConfiguracion.ObtenerOrganizacionUsuario();

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

                corral = corralPL.ObtenerPorCodigoGrupo(corral);

                if (corral == null)
                {
                    return;
                }

                LoteInfo lote = lotePL.ObtenerPorCorralCerrado(organizacionID, corral.CorralID);

                if (lote == null)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ImpresionCierreCorral_SinLoteActivo, MessageBoxButton.OK, MessageImage.Warning);
                    return;
                }
                CheckListCorralInfo checkList = checkListCorralPL.ObtenerPorLote(organizacionID, lote.LoteID);

                if (checkList == null)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.ImpresionCierreCorral_SinCierre, MessageBoxButton.OK, MessageImage.Warning);
                    return;
                }
                GenerarArchivo(checkList);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  Properties.Resources.ImpresionCierreCorral_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error);
            }
        }
Beispiel #4
0
        //Metodo que valida que corral destino tenga capacidad y no este cerrado
        private bool ValidarCorralDestino()
        {
            var corralValido = true;
            //Verificar que corral sea grupo enfermeria
            var corralInfo = new CorralInfo
            {
                Codigo       = txtCorralDestino.Text,
                GrupoCorral  = corralInfoOrigen.GrupoCorral,
                Organizacion = new OrganizacionInfo {
                    OrganizacionID = organizacionID
                }
            };
            var corralPL = new CorralPL();

            corralInfoDestino = corralPL.ObtenerPorCodigoGrupoCorral(corralInfo);
            if (corralInfoDestino != null)
            {
                if (corralInfoDestino.TipoCorral.TipoCorralID == TipoCorral.CronicoVentaMuerte.GetHashCode())
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TraspasoGanadoCorrales_CorralCronico,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    corralValido = false;
                }
                var lotePL        = new LotePL();
                var resultadoLote = lotePL.ObtenerPorCorral(organizacionID, corralInfoDestino.CorralID);
                if (resultadoLote != null)
                {
                    //Verificar capacidad de corral destino
                    if (!(resultadoLote.Cabezas < corralInfoDestino.Capacidad))
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.CorteTransferenciaGanado_NoCapacidadCorral,
                                          MessageBoxButton.OK, MessageImage.Warning);
                        corralValido = false;
                    }
                }
                else
                {
                    var resultadoLoteCerrado = lotePL.ObtenerPorCorralCerrado(organizacionID, corralInfoDestino.CorralID);
                    if (resultadoLoteCerrado != null)
                    {
                        //Corral destino cerrado
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.CorteTransferenciaGanado_CorralDestinoCerrado,
                                          MessageBoxButton.OK, MessageImage.Warning);
                        corralValido = false;
                    }
                }
            }
            else
            {
                if (corralInfoOrigen.GrupoCorral == GrupoCorralEnum.Enfermeria.GetHashCode())
                {
                    //Corral no es de grupo enfermeria
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TraspasoGanadoCorral_CorralNoEsEnfermeria,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    corralValido = false;
                }
                else if (corralInfoOrigen.GrupoCorral == GrupoCorralEnum.Produccion.GetHashCode())
                {
                    //Corral no es de grupo produccion
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TraspasoGanadoCorral_CorralNoEsProduccion,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    corralValido = false;
                }
                else if (corralInfoOrigen.GrupoCorral == GrupoCorralEnum.Recepcion.GetHashCode())
                {
                    //Corral no es de grupo recepcion
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TraspasoGanadoCorral_CorralNoEsRecepcion,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    corralValido = false;
                }
            }
            return(corralValido);
        }
        /// <summary>
        /// Metodo para validar el corral destino
        /// </summary>
        private bool ValidarCorralDestino()
        {
            try
            {
                //Buscar el corral en el inventario
                var corralPL   = new CorralPL();
                var corralInfo = corralPL.ObtenerCorralPorCodigo(organizacionID, txtCorralDestino.Text);
                if (corralInfo != null)
                {
                    if (corralInfo.GrupoCorral == (int)GrupoCorralEnum.Enfermeria ||
                        corralInfo.GrupoCorral == (int)GrupoCorralEnum.Produccion)
                    {
                        // Obtener el lote del corral
                        var lotePL = new LotePL();
                        var lote   = lotePL.ObtenerPorCorralCerrado(organizacionID, corralInfo.CorralID);

                        if (lote != null)
                        {
                            //Si existe se obtienen los datos del corral
                            corralDestino = corralInfo;
                        }
                        else
                        {
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.TrasferenciaGanadoIndividual_GrupoCorralSinLote,
                                              MessageBoxButton.OK, MessageImage.Warning);
                            txtCorralDestino.Text      = String.Empty;
                            txtCorralDestino.Focusable = true;
                            txtCorralDestino.Focus();
                            //e.Handled = true;
                            return(false);
                        }
                    }
                    else
                    {
                        SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                          Properties.Resources.TrasferenciaGanadoIndividual_GrupoCorralInvalido,
                                          MessageBoxButton.OK, MessageImage.Warning);
                        txtCorralDestino.Focusable = true;
                        txtCorralDestino.Focus();
                        txtCorralDestino.Text = String.Empty;
                        //e.Handled = true;
                        return(false);
                    }
                }
                else
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.TrasferenciaGanadoIndividual_CorralNoExiste,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    txtCorralDestino.Focusable = true;
                    txtCorralDestino.Focus();
                    txtCorralDestino.Text = String.Empty;
                    //e.Handled = true;
                    return(false);
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
            }
            return(true);
        }