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(); } } }