Example #1
0
        internal static ValidacionesFolioVentaMuerte ObtenerValidacionesFolioEntrada(DataSet ds)
        {
            try
            {
                Logger.Info();
                DataTable dt = ds.Tables[ConstantesDAL.DtDatos];

                ValidacionesFolioVentaMuerte lista = new ValidacionesFolioVentaMuerte();

                lista =
                    (from info in dt.AsEnumerable()
                     select
                     new ValidacionesFolioVentaMuerte
                {
                    RegistroCondicionMuerte = info.Field <int>("RegistroCondicionMuerte") == 1 ? true : false,
                    FolioConMuertesRegistradas = info.Field <int>("FolioConMuertesRegistradas") == 1 ? true : false,
                    EstatusLote = info.Field <int>("EstatusLote") == 1 ? true : false,
                    Cabezas = info.Field <int>("Cabezas"),
                    AretesInvalidos = info.Field <string>("AretesRegistrados"),
                    AretesActivos = info.Field <string>("AretesActivos"),
                }).First();

                return(lista);
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
Example #2
0
        internal ValidacionesFolioVentaMuerte ValidarFolio(int folioEntrada, int organizacionId, List <string> aretes)
        {
            ValidacionesFolioVentaMuerte resultado = new ValidacionesFolioVentaMuerte();

            try
            {
                Logger.Info();
                Dictionary <string, object> parameters =
                    AuxMuertesEnTransitoDAL.ObtenerParametrosValidarFolioEntrada(folioEntrada, organizacionId, aretes);
                DataSet ds = Retrieve("MuertesEnTransitoVenta_ValidarFolio", parameters);
                if (ValidateDataSet(ds))
                {
                    resultado = MapMuertesEnTransitoDAL.ObtenerValidacionesFolioEntrada(ds);
                }
            }
            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);
            }

            return(resultado);
        }
Example #3
0
        public ValidacionesFolioVentaMuerte ValidarFolio(int folioEntrada, int organizacionId, List <string> aretes)
        {
            ValidacionesFolioVentaMuerte result = new ValidacionesFolioVentaMuerte();

            try
            {
                Logger.Info();
                var muertesDAL = new MuertesEnTransitoDAL();
                result = muertesDAL.ValidarFolio(folioEntrada, organizacionId, aretes);
                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
        private void BtnGuardar_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                MuertesEnTransitoPL          muertePl     = new MuertesEnTransitoPL();
                ValidacionesFolioVentaMuerte validaciones = new ValidacionesFolioVentaMuerte();
                List <string> aretes = new List <string>();
                if (muertesEnTransitoInfoSeleccionado == null)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_msgFolioEntrada,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    txtArete.Clear();
                    skAyudaFolioEntrada.AsignarFoco();
                    return;
                }
                if (Animales.Count < muertesEnTransitoInfoSeleccionado.MuertesTransito)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_msgNroAretesEsMenor,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    txtArete.Focus();
                    return;
                }
                if (muertesEnTransitoInfoSeleccionado.MuertesTransito > muertesEnTransitoInfoSeleccionado.CabezasLote)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_msgNoTieneExistencia,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    return;
                }
                if (Contexto.Cliente == null || Contexto.Cliente.CodigoSAP.Length == 0)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_msgSeleccionarProveedor,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    return;
                }
                foreach (AnimalInfo arete in dgAretes.ItemsSource)
                {
                    aretes.Add(arete.Arete);
                }
                validaciones = muertePl.ValidarFolio(muertesEnTransitoInfoSeleccionado.FolioEntrada, organizacionID, aretes);

                if (!validaciones.RegistroCondicionMuerte)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_FolioSinCondicionMuerte,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                    return;
                }

                if (validaciones.FolioConMuertesRegistradas)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_FolioConRegistroMuertes,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                    return;
                }

                if (!validaciones.EstatusLote)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_LoteInactivo,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                    return;
                }

                if (validaciones.Cabezas == 0)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_LoteSinCabezas,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                    return;
                }
                if (validaciones.AretesInvalidos.Length > 0)
                {
                    var mensajeError = string.Empty;
                    mensajeError = string.Format(Properties.Resources.MuertesEnTransito_AreteConRegistroVentaMuerteTransito, validaciones.AretesInvalidos);
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      mensajeError,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    return;
                }
                if (validaciones.AretesActivos.Length > 0)
                {
                    var mensajeError = string.Empty;
                    mensajeError = string.Format(Properties.Resources.MuertesEnTransito_AreteActivoEnInventario, validaciones.AretesActivos);
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      mensajeError,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    return;
                }

                muertesEnTransitoInfoSeleccionado.Proveedor       = muertesEnTransitoInfoSeleccionado.Cliente.Descripcion;
                muertesEnTransitoInfoSeleccionado.CodigoProveedor = muertesEnTransitoInfoSeleccionado.Cliente.CodigoSAP;

                var    muertesEnTrasnsitoPl = new MuertesEnTransitoPL();
                var    folio   = skAyudaFolioEntrada.Clave;
                string mensaje = string.Empty;
                muertesEnTransitoInfoSeleccionado.UsuarioCreacionID = usuarioID;
                muertesEnTransitoInfoSeleccionado.OrganizacionID    = AuxConfiguracion.ObtenerOrganizacionUsuario();
                MemoryStream stream = muertesEnTrasnsitoPl.Guardar(muertesEnTransitoInfoSeleccionado, Animales);
                mensaje = string.Format(Properties.Resources.MuertesEnTransito_msgGuardar, folio.ToString());

                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  mensaje, MessageBoxButton.OK, MessageImage.Correct);

                try
                {
                    if (stream != null)
                    {
                        var exportarPoliza = new ExportarPoliza();
                        exportarPoliza.ImprimirPoliza(stream,
                                                      string.Format("{0} {1}", "Poliza Salida Folio No.",
                                                                    folio));
                    }
                }
                catch
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.SalidaIndividualGanado_MensajeErrorAlImprimirPoliza,
                                      MessageBoxButton.OK, MessageImage.Warning);
                }

                InicializarFormulario();
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                  String.Format("{0}: {1}", Properties.Resources.MuertesEnTransito_msgErrorGuardar, ex.Message),
                                  MessageBoxButton.OK, MessageImage.Error);
            }
        }
        /// <summary>
        /// Obtiene los datos del elemento seleccionado en la ayuda Folio de Entrada.
        /// </summary>
        /// <param name="filtro"></param>
        private void ObtenerDatosAyudaFolioEntrada(string filtro)
        {
            List <string> aretes = new List <string>();

            muertesEnTransitoInfoSeleccionado = skAyudaFolioEntrada.Info;
            InicializarAyudaFolioEntrada();
            skAyudaCliente.LimpiarCampos();
            MuertesEnTransitoPL          muertePl     = new MuertesEnTransitoPL();
            ValidacionesFolioVentaMuerte validaciones = new ValidacionesFolioVentaMuerte();

            if (muertesEnTransitoInfoSeleccionado != null && muertesEnTransitoInfoSeleccionado.EntradaGanadoID != 0)
            {
                foreach (AnimalInfo arete in dgAretes.Items)
                {
                    aretes.Add(arete.Arete);
                }
                validaciones = muertePl.ValidarFolio(muertesEnTransitoInfoSeleccionado.FolioEntrada, organizacionID, aretes);
                if (!validaciones.RegistroCondicionMuerte)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_FolioSinCondicionMuerte,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                }
                else if (validaciones.FolioConMuertesRegistradas)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_FolioConRegistroMuertes,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                }
                else if (muertesEnTransitoInfoSeleccionado.MuertesTransito == 0)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_msgNoTieneMuertes,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                }
                else if (muertesEnTransitoInfoSeleccionado.MuertesRegistradas != 0)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_msgMuertesRegistradas,
                                      MessageBoxButton.OK, MessageImage.Warning);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                }
                else if (!validaciones.EstatusLote)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_LoteInactivo,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                }
                else if (validaciones.Cabezas == 0)
                {
                    SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                      Properties.Resources.MuertesEnTransito_LoteSinCabezas,
                                      MessageBoxButton.OK,
                                      MessageImage.Stop);
                    InicializarFormulario();
                    skAyudaFolioEntrada.AsignarFoco();
                }
                else
                {
                    muertesEnTransitoInfoSeleccionado.OrganizacionID = organizacionID;
                    txtArete.IsEnabled    = true;
                    chkSinArete.IsChecked = false;
                    if (muertesEnTransitoInfoSeleccionado.TipoOrigenID == (int)TipoOrganizacion.CompraDirecta)
                    {
                        txtArete.IsEnabled    = false;
                        chkSinArete.IsChecked = true;
                    }
                    else
                    {
                        AnimalesDelCorral = new List <AnimalInfo>();
                        var muertesEnTransitoPl = new MuertesEnTransitoPL();
                        AnimalesDelCorral = muertesEnTransitoPl.ObtenerAretesPorFolioEntrada(muertesEnTransitoInfoSeleccionado);
                    }

                    if (ProveedoresAsignadosAlEmbarque(muertesEnTransitoInfoSeleccionado.EmbarqueID) <= 1)
                    {
                        var pl          = new ProveedorPL();
                        var cl          = new ClientePL();
                        var clienteInfo = new ClienteInfo();
                        var info        = new ProveedorInfo()
                        {
                            CodigoSAP = muertesEnTransitoInfoSeleccionado.CodigoProveedor
                        };

                        clienteInfo        = cl.ObtenerPorDescripcion(muertesEnTransitoInfoSeleccionado.Proveedor);
                        Contexto.Proveedor = pl.ObtenerPorCodigoSAP(info);
                        if (clienteInfo != null)
                        {
                            skAyudaCliente.IsEnabled = false;
                            muertesEnTransitoInfoSeleccionado.Cliente = clienteInfo;
                            skAyudaCliente.Clave       = muertesEnTransitoInfoSeleccionado.Cliente.CodigoSAP;
                            skAyudaCliente.Descripcion = muertesEnTransitoInfoSeleccionado.Cliente.Descripcion;
                            Contexto.Cliente           = clienteInfo;
                        }
                        else
                        {
                            skAyudaCliente.IsEnabled   = true;
                            skAyudaCliente.Clave       = string.Empty;
                            skAyudaCliente.Descripcion = string.Empty;
                            SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal],
                                              Properties.Resources.MuertesEnTransito_ProveedorNoEsCliente,
                                              MessageBoxButton.OK, MessageImage.Warning);
                            skAyudaCliente.Focus();
                        }
                    }
                    else
                    {
                        skAyudaCliente.IsEnabled = true;
                    }

                    Contexto.Proveedor.EmbarqueID = muertesEnTransitoInfoSeleccionado.EmbarqueID;
                    countAreteGenerico            = muertesEnTransitoInfoSeleccionado.MuertesRegistradas + 1;
                    txtOrigen.Text            = muertesEnTransitoInfoSeleccionado.Origen;
                    txtTipoOrigen.Text        = muertesEnTransitoInfoSeleccionado.TipoOrigen;
                    txtCorral.Text            = muertesEnTransitoInfoSeleccionado.Corral;
                    txtLote.Text              = muertesEnTransitoInfoSeleccionado.Lote;
                    txtCabezas.Text           = muertesEnTransitoInfoSeleccionado.Cabezas.ToString();
                    txtMuertesEnTransito.Text = muertesEnTransitoInfoSeleccionado.MuertesTransito.ToString();
                    Animales.Clear();
                    dgAretes.Items.Refresh();
                    txtArete.Clear();
                    txtArete.Focus();
                }
            }
        }