public static ProductoInfo ObtenerProducto(int pedidoID, int productoID) { var productoPL = new ProductoPL(); ProductoInfo producto = productoPL.ObtenerPorPedidoID(pedidoID, productoID); return(producto); }
/// <summary> /// Obtiene los productos /// </summary> private void ObtenerProductos() { try { var productoPl = new ProductoPL(); IList <ProductoInfo> productos = productoPl.ObtenerPorEstados(EstatusEnum.Activo); IList <ProductoInfo> productosFiltrados = null; //Se filtran productos para las subfamilias especificadas en el requerimiento Administrar Contrato if (productos != null) { productosFiltrados = productos.Where(productoInfoT => productoInfoT.FamiliaId == FamiliasEnum.MateriaPrimas.GetHashCode() || productoInfoT.SubfamiliaId == (int)SubFamiliasEnum.Pacas).ToList(); } // if (productosFiltrados != null && productosFiltrados.Any()) { AgregarElementoInicialProducto(productosFiltrados); Contexto.ListaProductos = productosFiltrados; } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AdministrarContrato_MensajeErrorProductos, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Agrega un producto al grid principal /// </summary> private void AgregarProducto() { //Falta try catch try { var random = new Random(); var productoPl = new ProductoPL(); var productoInfo = new ProductoInfo() { ProductoId = Convert.ToInt32(skAyudaProducto.Clave) }; productoInfo = productoPl.ObtenerPorID(productoInfo); var premezclaDetalleInfo = new PremezclaDetalleInfo() { PremezclaDetalleID = random.Next(999999999), Producto = productoInfo, Porcentaje = Convert.ToDecimal(TxtPorcentajeAjuste.Value.ToString()), UsuarioCreacionId = usuario }; listaPremezclaDetalle.Add(premezclaDetalleInfo); GridPremezclaDetalle.ItemsSource = null; GridPremezclaDetalle.ItemsSource = listaPremezclaDetalle; skAyudaProducto.LimpiarCampos(); TxtPorcentajeAjuste.Value = 0; skAyudaProducto.AsignarFoco(); } catch (Exception exg) { Logger.Error(exg); } }
private void CargarAyudaProductos() { var productoInfo = new ProductoInfo { ProductoId = 0, Activo = EstatusEnum.Activo }; ProductoPL AyudaPL = new ProductoPL(); skAyudaProductos = new SKAyuda <ProductoInfo>(200, false, productoInfo , "PropiedadProductoID" , "PropiedadDescripcionMuestreoTamanoFibra", "", false, 80, 9, true) { AyudaPL = new ProductoPL(), MensajeClaveInexistente = Properties.Resources.RegistrarProgramacionFletesInterna_AyudaProductoInvalido, MensajeBusquedaCerrar = Properties.Resources.RegistrarProgramacionFletesInterna_AyudaProductoSalirSinSeleccionar, MensajeBusqueda = Properties.Resources.Proveedor_Busqueda, MensajeAgregar = Properties.Resources.RegistrarProgramacionFletesInterna_AyudaProductoSeleccionar, TituloEtiqueta = Properties.Resources.RegistrarProgramacionFletesInterna_AyudaLeyendaProducto, TituloPantalla = Properties.Resources.RegistrarProgramacionFletesInterna_AyudaProductoTitulo, }; skAyudaProductos.MetodoPorId = "ObtenerPorID"; skAyudaProductos.MetodoPaginadoBusqueda = "ObtenerPorPagina"; skAyudaProductos.ObtenerDatos += ObtenerDatosProducto; SplAyudaProducto.Children.Clear(); SplAyudaProducto.Children.Add(skAyudaProductos); }
public static EntradaProductoInfo ConsultarEntradaProducto(int folio) { try { var entradaProductoPl = new EntradaProductoPL(); var productoPl = new ProductoPL(); var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; var organizacionId = 0; if (seguridad != null) { organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; } var entradaProducto = entradaProductoPl.ObtenerEntradaProductoPorFolio(folio, organizacionId); if (entradaProducto != null) { var productoForraje = productoPl.ObtenerProductoForraje(entradaProducto.Producto); if (productoForraje != null) { entradaProducto.Producto.Forraje = true; } } return(entradaProducto); } catch (Exception ex) { Logger.Error(ex); throw new SystemException(ex.Message); } }
/// <summary> /// Obtiene la existencia de productos. /// </summary> /// <param name="productoId"></param> /// <returns></returns> private decimal ObtenerExistencia(int productoId) { decimal existencia = decimal.Zero; if (productoId > 0) { var productos = new List <ProductoInfo> { new ProductoInfo { ProductoId = productoId } }; IList <AlmacenInventarioInfo> almacenInventario = new ProductoPL().ObtenerExistencia(almacen.AlmacenID, productos); if (almacenInventario != null) { var almacenInventarioInfo = almacenInventario.FirstOrDefault(); if (almacenInventarioInfo != null) { existencia = almacenInventarioInfo.Cantidad; } } } return(existencia); }
public static RegistroVigilanciaInfo ObtenerTicket(int ticket) { RegistroVigilanciaInfo registroVigilancia = null; var registroVigilanciaPL = new RegistroVigilanciaPL(); try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { registroVigilancia = new RegistroVigilanciaInfo { FolioTurno = ticket, Organizacion = new OrganizacionInfo { OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID } }; registroVigilancia = registroVigilanciaPL.ObtenerRegistroVigilanciaPorFolioTurnoActivoInactivo(registroVigilancia); if (registroVigilancia != null) { bool tieneFechaSalida = (registroVigilancia.FechaSalida != new DateTime(1900, 01, 01)); var entradaProductoPl = new EntradaProductoPL(); //valida que el folio ingresado del registro de vigilancia sea de un producto "MicroIngrediente" EntradaProductoInfo entradaProducto = entradaProductoPl.ObtenerEntradaProductoPorRegistroVigilanciaID(registroVigilancia.RegistroVigilanciaId, registroVigilancia.Organizacion.OrganizacionID); // if (entradaProducto == null) { var productoPl = new ProductoPL(); //Valida que el registro de vigilancia sea de un producto forraje configurado en la TB ParametroGeneral var producto = productoPl.ObtenerProductoForraje(registroVigilancia.Producto); if (producto != null)//si es forraje: { registroVigilancia = null; } // } else { registroVigilancia = null; } if (tieneFechaSalida) { return(registroVigilancia); } } } } catch (Exception ex) { Logger.Error(ex); } return(registroVigilancia); }
public static List <ProductoInfo> ObtenerProductosProveedor(int proveedorId) { var listaProductos = new List <ProductoInfo>(); var contratoPL = new ContratoPL(); try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { List <ContratoInfo> listaContratos = contratoPL.ObtenerContratosPorProveedorId(proveedorId, seguridad.Usuario.Organizacion.OrganizacionID); if (listaContratos != null) { listaContratos = listaContratos.Where( registro => registro.Producto.Familia.FamiliaID == (int)FamiliasEnum.MateriaPrimas) .ToList(); if (listaContratos.Count > 0) { var productoPl = new ProductoPL(); var listaProductosInvalidos = productoPl.ObtenerProductosValidosForraje(); listaContratos = (from contrato in listaContratos where !(from productos in listaProductosInvalidos select productos.ProductoId).ToList() .Contains(contrato.Producto.ProductoId) select contrato).ToList(); if (listaContratos.Count > 0) { if (listaContratos.Select(contrato => contrato.Producto).Any()) { listaProductos.AddRange(listaContratos.Select(contrato => contrato.Producto)); } else { listaProductos = null; } } } } } } catch (Exception ex) { Logger.Error(ex); } return(listaProductos); }
public static List <EntradaProductoInfo> ObtenerEntradaProductosPendiente(int folio) { List <EntradaProductoInfo> listaEntradaProductoPendiente = null; try { var entradaProductoPl = new EntradaProductoPL(); var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { int organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; var entrada = new EntradaProductoInfo { Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }, Estatus = new EstatusInfo { EstatusId = (int)Estatus.PendienteAutorizar } }; listaEntradaProductoPendiente = entradaProductoPl.ObtenerEntradaProductosTodosPorEstatusIdAyudaForraje(entrada, folio); if (folio > 0 && listaEntradaProductoPendiente != null) { //Filtra todos los folios que contengan el numero de folio capturado listaEntradaProductoPendiente = listaEntradaProductoPendiente.Where( registro => registro.Folio.ToString(CultureInfo.InvariantCulture) .Contains(folio.ToString(CultureInfo.InvariantCulture))).ToList(); } if (listaEntradaProductoPendiente != null) { var productoPl = new ProductoPL(); var listaProductosInvalidos = productoPl.ObtenerProductosValidosForraje(); listaEntradaProductoPendiente = (from contrato in listaEntradaProductoPendiente where !(from productos in listaProductosInvalidos select productos.ProductoId).ToList() .Contains(contrato.Producto.ProductoId) select contrato).ToList(); } } } catch (Exception ex) { Logger.Error(ex); } return(listaEntradaProductoPendiente); }
public static PedidoDetalleInfo ObtenerProgramacionPedidoDetalle(int folioDetallePedido, int folioPedido) { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; int organizacionId = 0; var pedidosPl = new PedidosPL(); try { if (seguridad != null) { organizacionId = seguridad.Usuario.Organizacion.OrganizacionID; } List <PedidoInfo> listaPedidos = pedidosPl.ObtenerPedidosProgramadosYParciales(new PedidoInfo { FolioPedido = folioPedido, // 0 Regresa todos los folios. Organizacion = new OrganizacionInfo { OrganizacionID = organizacionId }, Activo = EstatusEnum.Activo }); PedidoDetalleInfo pedidoDetalleInfo = null; if (listaPedidos != null) { PedidoInfo pedido = listaPedidos.First(); foreach (PedidoDetalleInfo pedidoDetalle in pedido.DetallePedido) { if (pedidoDetalle.PedidoDetalleId == folioDetallePedido) { var productoPl = new ProductoPL(); var productoForraje = productoPl.ObtenerProductoForraje(pedidoDetalle.Producto); if (productoForraje != null) { pedidoDetalle.Producto.Forraje = true; } pedidoDetalleInfo = pedidoDetalle; break; } } } return(pedidoDetalleInfo); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
public static List <FiltroProductoProduccionMolino> ObtenerValoresProduccionMolino(ProductoInfo productoInfo) { try { var productoPL = new ProductoPL(); List <FiltroProductoProduccionMolino> valoresProduccion = productoPL.ObtenerValoresProduccionMolino(productoInfo); return(valoresProduccion); } catch (Exception ex) { Logger.Error(ex); throw; } }
public static List <ContratoInfo> ObtenerProveedorContratos(int proveedorId, int productoId) { List <ContratoInfo> listaContratos = null; var contratoPL = new ContratoPL(); try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { listaContratos = contratoPL.ObtenerContratosPorProveedorId(proveedorId, seguridad.Usuario.Organizacion.OrganizacionID); if (listaContratos != null) { var productoPl = new ProductoPL(); var listaProductosInvalidos = productoPl.ObtenerProductosValidosForraje(); listaContratos = (from contrato in listaContratos where !(from productos in listaProductosInvalidos select productos.ProductoId).ToList().Contains(contrato.Producto.ProductoId) select contrato).ToList(); if (listaContratos.Count > 0) { listaContratos = listaContratos.Where( registro => registro.Producto.ProductoId == productoId).ToList(); //Tipos de contrato Normal,Terceros, Transito listaContratos = listaContratos.Where( registro => registro.TipoContrato.TipoContratoId == (int)TipoContratoEnum.BodegaNormal || registro.TipoContrato.TipoContratoId == (int)TipoContratoEnum.BodegaTercero || registro.TipoContrato.TipoContratoId == (int)TipoContratoEnum.EnTransito).ToList(); } else { listaContratos = null; } } } } catch (Exception ex) { Logger.Error(ex); } return(listaContratos); }
public static PedidoDetalleInfo ObtenerProgramacionPedidoDetalleTicket(int folioDetallePedido, int ticket) { try { PedidoDetalleInfo pedidoDetalleInfo = null; var pedidoDetallePl = new PedidoDetallePL(); var pedidoDetalle = pedidoDetallePl.ObtenerDetallePedidoPorId(folioDetallePedido); if (pedidoDetalle.ProgramacionMateriaPrima != null) { foreach (var programacion in pedidoDetalle.ProgramacionMateriaPrima) { if (programacion.PesajeMateriaPrima != null) { foreach ( var pesajeMateriaPrima in programacion.PesajeMateriaPrima.Where( pesajeMateriaPrima => pesajeMateriaPrima.Ticket == ticket)) { var listapesajeTicket = new List <PesajeMateriaPrimaInfo>(); var listaProgramacionTicket = new List <ProgramacionMateriaPrimaInfo>(); listapesajeTicket.Add(pesajeMateriaPrima); programacion.PesajeMateriaPrima = listapesajeTicket; listaProgramacionTicket.Add(programacion); pedidoDetalle.ProgramacionMateriaPrima = listaProgramacionTicket; var productoPl = new ProductoPL(); var productoForraje = productoPl.ObtenerProductoForraje(pedidoDetalle.Producto); if (productoForraje != null) { pedidoDetalle.Producto.Forraje = true; } pedidoDetalleInfo = pedidoDetalle; break; } } } } return(pedidoDetalleInfo); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } }
/// <summary> /// Guarda un Producto /// </summary> private void Guardar() { try { bool guardar = ValidaCamposGuardar(); if (guardar) { int productoId = Contexto.ProductoId; var productoPL = new ProductoPL(); productoPL.Guardar(Contexto); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); if (productoId != 0) { confirmaSalir = false; Close(); } else { //InicializaContexto(true); Contexto.ProductoId = 0; Contexto.ManejaLote = false; Contexto.SubfamiliaId = 0; Contexto.UnidadId = 0; Contexto.ProductoDescripcion = string.Empty; cboFamilia.SelectedIndex = 0; cboSubFamilia.SelectedIndex = 0; cboUnidad.SelectedIndex = 0; chkManejaLote.IsChecked = false; txtDescripcion.Focus(); //Contexto = new ProductoInfo { UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado() }; BloquearDesbloquearModificacion(true); } } } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.Producto_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.Producto_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } }
private void ConsultarProductos() { try { var productoPL = new ProductoPL(); listaProductos = productoPL.ObtenerPorEstados(EstatusEnum.Activo); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecibirProductoAlmacen_MsgProductos, MessageBoxButton.OK, MessageImage.Warning); } }
public static string ActualizaFechaDescargaEnPatio(EntradaProductoInfo entrada) { try { bool guardarFecha = true; var entradaProductoPl = new EntradaProductoPL(); var productoPl = new ProductoPL(); var productoForraje = productoPl.ObtenerProductoForraje(entrada.Producto); if (productoForraje != null) { var entradaproducto = entradaProductoPl.ObtenerEntradaProductoPorId(entrada.EntradaProductoId); if (entradaproducto != null) { if (entradaproducto.ProductoDetalle != null) { foreach (var entradaDetalle in entradaproducto.ProductoDetalle) { if (entradaDetalle.ProductoMuestras != null) { if (entradaDetalle.ProductoMuestras.Count < 30) { guardarFecha = false; } } } } } } if (guardarFecha) { return(entradaProductoPl.ActualizaFechaDescargaPiezasEnPatio(entrada)); } else { return("ErrorForraje"); } } catch (Exception ex) { Logger.Error(ex); throw new SystemException(ex.Message); } }
public static List <ProductoInfo> ObtenerProductos(ProductoInfo productoInfo) { try { var productoPL = new ProductoPL(); productoInfo.SubfamiliaId = SubFamiliasEnum.Forrajes.GetHashCode(); List <ProductoInfo> listaProductos = productoPL.ObtenerPorSubFamilia(productoInfo); List <ProductoInfo> productosValidos = listaProductos.Where(pro => productosForraje.Contains(pro.ProductoId)).ToList(); return(productosValidos); } catch (Exception ex) { Logger.Error(ex); throw; } }
/// <summary> /// Obtiene una Lista de Productos /// </summary> /// <param name="inicio"></param> /// <param name="limite"></param> private void ObtenerProductos(int inicio, int limite) { try { var productoPL = new ProductoPL(); ProductoInfo filtros = ObtenerFiltros(); if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <ProductoInfo> resultadoInfo = productoPL.ObtenerPorPagina(pagina, filtros); if (resultadoInfo != null && resultadoInfo.Lista != null && resultadoInfo.Lista.Count > 0) { gridDatos.ItemsSource = resultadoInfo.Lista; ucPaginacion.TotalRegistros = resultadoInfo.TotalRegistros; } else { ucPaginacion.TotalRegistros = 0; gridDatos.ItemsSource = new List <ProductoInfo>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Producto_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.Producto_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
public string ValidarCodigoProducto(ProcesarArchivoInfo renglonArchivo) { var resultado = GetLocalResourceObject("OK").ToString(); var productos = new ProductoPL(); var prod = new ProductoInfo(); prod.ProductoId = int.Parse(renglonArchivo.Codigo); prod = productos.ObtenerPorID(prod); if (prod == null) { resultado = GetLocalResourceObject("producto").ToString(); } else { renglonArchivo.ProductoID = prod.ProductoId; } return(resultado); }
public static IList <ProductoInfo> ObtenerProductos(string productoDescripcion, int pedidoID) { var pagina = new PaginacionInfo { Inicio = 1, Limite = 100000 }; var producto = new ProductoInfo { ProductoDescripcion = productoDescripcion }; var productoPL = new ProductoPL(); ResultadoInfo <ProductoInfo> productos = productoPL.ObtenerPorPedidoPaginado(pagina, producto, pedidoID); var resultado = new List <ProductoInfo>(); if (productos != null) { resultado.AddRange(productos.Lista); } return(resultado); }
public static EntradaProductoInfo ObtenerFolio(int folio) { var entradaProductoPL = new EntradaProductoPL(); EntradaProductoInfo entradaProducto = null; try { var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { entradaProducto = entradaProductoPL.ObtenerEntradaProductoPorFolio(folio, seguridad.Usuario.Organizacion.OrganizacionID); if (entradaProducto != null) { var productoPl = new ProductoPL(); var producto = productoPl.ObtenerProductoForraje(entradaProducto.Producto); if (producto != null) { entradaProducto = null; } else { if (entradaProducto.Activo != EstatusEnum.Activo) { entradaProducto = null; } } } } } catch (Exception ex) { Logger.Error(ex); throw new SystemException(ex.Message); } return(entradaProducto); }
private void ObtenerDatosProducto(string filtro) { try { var productoPl = new ProductoPL(); ProductoInfo producto = productoPl.ObtenerPorID(new ProductoInfo() { ProductoId = Convert.ToInt32(filtro) }); if (producto != null) { if (producto.Familia.FamiliaID == (int)FamiliasEnum.MaterialEmpaque || producto.Familia.FamiliaID == (int)FamiliasEnum.Medicamento) { txtUnidad.Text = producto.DescripcionUnidad; skAyudaProducto.Info = new ProductoInfo() { FiltroFamilia = (int)FamiliasEnum.Medicamento + "|" + (int)FamiliasEnum.MaterialEmpaque, Activo = EstatusEnum.Activo }; } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_ProductoFamiliaInvalida, MessageBoxButton.OK, MessageImage.Stop); LimpiarTodoProductos(); skAyudaProducto.AsignarFoco(); } } } catch (Exception ex) { Logger.Error(ex); } }
/// <summary> /// Valida que los campos requeridos contengan valor /// </summary> /// <returns></returns> private bool ValidaCamposGuardar() { var guardar = true; var mensaje = string.Empty; if (Contexto.ProductoId == 0) { guardar = false; txtProductoId.Focus(); mensaje = Properties.Resources.ProductoEdicion_CodigoMayorCero; } else if (string.IsNullOrWhiteSpace(Contexto.ProductoDescripcion)) { guardar = false; txtDescripcion.Focus(); mensaje = Properties.Resources.ProductoEdicion_Descripcion_Requerida; } else { int familiaId = Extensor.ValorEntero(Convert.ToString(cboFamilia.SelectedValue)); if (familiaId == 0) { guardar = false; cboFamilia.Focus(); mensaje = Properties.Resources.ProductoEdicion_Familia_Requerida; } else { int subFamiliaId = Extensor.ValorEntero(Convert.ToString(cboSubFamilia.SelectedValue)); if (subFamiliaId == 0) { guardar = false; cboSubFamilia.Focus(); mensaje = Properties.Resources.ProductoEdicion_SubFamilia_Requeria; } else { int unidadId = Extensor.ValorEntero(Convert.ToString(cboUnidad.SelectedValue)); if (unidadId == 0) { guardar = false; cboUnidad.Focus(); mensaje = Properties.Resources.ProductoEdicion_Unidad_Requerida; } } } } if (guardar) { var productoPL = new ProductoPL(); ProductoInfo producto = productoPL.ObtenerPorDescripcion(Contexto.ProductoDescripcion); if (producto != null && Contexto.UsuarioModificacionID == null) { mensaje = string.Format(Properties.Resources.ProductoEdicion_Descripcion_Existente, producto.ProductoId); txtDescripcion.Focus(); guardar = false; } if (producto == null) { producto = productoPL.ObtenerPorIDSinActivo(Contexto); } if (producto != null && Contexto.UsuarioModificacionID == null) { mensaje = string.Format(Properties.Resources.ProductoEdicion_Codigo_Existente, producto.Descripcion); txtProductoId.Focus(); guardar = false; } producto = productoPL.ObtenerPorMaterialSAP(Contexto.MaterialSAP); if (producto != null && Contexto.ProductoId != producto.ProductoId) { mensaje = string.Format(Properties.Resources.ProductoEdicion_Material_Existente, producto.ProductoId); txtMaterialSAP.Focus(); guardar = false; } } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(guardar); }
public static ResultadoValidacion GuardarEntradaProducto(EntradaProductoInfo entradaProducto, int Bandera) { try { var productoPl = new ProductoPL(); var resultado = new ResultadoValidacion(); var boletaRecepcionPl = new BoletaRecepcionForrajePL(); var seguridad = HttpContext.Current.Session["Seguridad"] as SeguridadInfo; if (seguridad != null) { var entradaProductoPl = new EntradaProductoPL(); if (entradaProducto.Justificacion == null) { entradaProducto.Organizacion = new OrganizacionInfo { OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID }; entradaProducto.Producto = productoPl.ObtenerPorID(entradaProducto.Producto); var tmpRegistro = new RegistroVigilanciaInfo { Producto = entradaProducto.Producto, Organizacion = entradaProducto.Organizacion }; foreach (EntradaProductoDetalleInfo tmpDetalle in entradaProducto.ProductoDetalle) { var enumIndicador = (IndicadoresEnum)tmpDetalle.Indicador.IndicadorId; foreach (var tmpIndicador in tmpDetalle.ProductoMuestras.Where(mue => mue.EsOrigen == EsOrigenEnum.Destino)) { RegistroVigilanciaInfo registroVigelancia = boletaRecepcionPl.ObtenerRangos(tmpRegistro, enumIndicador); if (registroVigelancia == null) { resultado.Resultado = false; resultado.Mensaje = boletaRecepcionPl.ObtenerMensajeRango() + " " + entradaProducto.Producto.ProductoDescripcion; return(resultado); } if (registroVigelancia.porcentajePromedioMin > tmpIndicador.Porcentaje || registroVigelancia.porcentajePromedioMax < tmpIndicador.Porcentaje) { Bandera = 2; } } } //Bandera = 1.- Aprobada:2.- Pendiente por Autorizar;3.- Autorizado: entradaProducto.Estatus = new EstatusInfo(); if (Bandera == 1) { entradaProducto.Estatus.EstatusId = (int)Estatus.Aprobado; } else { entradaProducto.Estatus.EstatusId = (int)Estatus.PendienteAutorizar; } entradaProducto.PesoBonificacion = 0; var registroVigilanciaPl = new RegistroVigilanciaPL(); var registroVigilancia = new RegistroVigilanciaInfo { FolioTurno = entradaProducto.RegistroVigilancia.FolioTurno, Organizacion = new OrganizacionInfo { OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID } }; entradaProducto.RegistroVigilancia = registroVigilanciaPl.ObtenerRegistroVigilanciaPorFolioTurno(registroVigilancia); entradaProducto.UsuarioCreacionID = seguridad.Usuario.UsuarioID; entradaProducto.OperadorAnalista = new OperadorInfo { OperadorID = seguridad.Usuario.Operador.OperadorID }; entradaProducto = entradaProductoPl.GuardarEntradaProducto(entradaProducto, (int)TipoFolio.EntradaProducto); resultado.Resultado = true; resultado.Control = entradaProducto; return(resultado); } entradaProducto.Organizacion = new OrganizacionInfo { OrganizacionID = seguridad.Usuario.Organizacion.OrganizacionID }; entradaProducto.Estatus = new EstatusInfo { EstatusId = (int)Estatus.Autorizado }; entradaProducto.UsuarioModificacionID = seguridad.Usuario.UsuarioID; entradaProducto.OperadorAutoriza = new OperadorInfo { OperadorID = seguridad.Usuario.Operador.OperadorID }; } } catch (Exception ex) { Logger.Error(ex); } return(null); }
/// <summary> /// Cargar los datos del folio para la cancelacion /// </summary> private void CargarDatosCancelacion() { try { var organizacionPL = new OrganizacionPL(); var tipoAlmacenPL = new TipoAlmacenPL(); var productoPL = new ProductoPL(); Contexto.OrganizacionOrigen = organizacionPL.ObtenerPorID(Contexto.AlmacenOrigen.Organizacion.OrganizacionID); Contexto.OrganizacionDestino = organizacionPL.ObtenerPorID(Contexto.AlmacenDestino.Organizacion.OrganizacionID); Contexto.TipoAlmacenOrigen = tipoAlmacenPL.ObtenerPorID(Contexto.AlmacenOrigen.TipoAlmacen.TipoAlmacenID); Contexto.TipoAlmacenDestino = tipoAlmacenPL.ObtenerPorID(Contexto.AlmacenDestino.TipoAlmacen.TipoAlmacenID); Contexto.ProductoOrigen = productoPL.ObtenerPorID(Contexto.ProductoOrigen); Contexto.ProductoDestino = Contexto.ProductoOrigen; if (tiposAlmacenMedicamentos.Contains(Contexto.TipoAlmacenOrigen.TipoAlmacenID)) { var almacenInventarioPL = new AlmacenInventarioPL(); List <AlmacenInventarioInfo> inventarios = almacenInventarioPL.ObtienePorAlmacenIdLlenaProductoInfo(Contexto.AlmacenOrigen); Contexto.AlmacenInventarioOrigen = inventarios.FirstOrDefault( inven => inven.Producto.ProductoId == Contexto.ProductoOrigen.ProductoId); } stpControles.IsEnabled = false; btnGuardar.IsEnabled = false; btnCancelarFolio.IsEnabled = true; MostrarControlesCantidades(); if (stpControlesMEDOrigen.IsVisible) { var almacenInventarioPL = new AlmacenInventarioPL(); List <AlmacenInventarioInfo> inventariosDestino = almacenInventarioPL.ObtienePorAlmacenIdLlenaProductoInfo(Contexto.AlmacenDestino); Contexto.AlmacenInventarioDestino = inventariosDestino.FirstOrDefault( inven => inven.Producto.ProductoId == Contexto.ProductoOrigen.ProductoId); if (Contexto.AlmacenInventarioDestino != null) { if (Contexto.CantidadTraspasarDestino > Contexto.AlmacenInventarioDestino.Cantidad) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoMPPAMED_CancelacionSinInventario, MessageBoxButton.OK, MessageImage.Warning); btnCancelarFolio.IsEnabled = false; } } } } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.TraspasoMPPAMED_ErrorCargarDatosCancelacion, MessageBoxButton.OK, MessageImage.Error); } }
private void btnGuardar_Click(object sender, RoutedEventArgs e) { ProductoTiempoEstandarInfo productoTiempo = new ProductoTiempoEstandarInfo(); ProductoTiempoEstandarPL productoTiempoPl = new ProductoTiempoEstandarPL(); ProductoPL productoPl = new ProductoPL(); ProductoInfo productoInfo = new ProductoInfo(); try { if (ValidarCamposObligatorios()) { productoTiempo.Tiempo = string.Format("{0}:{1}:00", cmbHora.Text.ToString().PadLeft(2, '0'), cmbMinutos.Text.ToString().PadLeft(2, '0')); productoTiempo.Estatus = (EstatusEnum)cmbEstatus.SelectedItem; productoTiempo.UsuarioCreacionID = AuxConfiguracion.ObtenerUsuarioLogueado(); productoTiempo.Producto.ProductoId = int.Parse(skAyudaProductos.Clave); productoInfo = productoPl.ObtenerPorID(productoTiempo.Producto); if (productoInfo != null && productoInfo.ProductoId != 0) { if (esEdicion) { productoTiempo.ProductoTiempoEstandarID = int.Parse(txtID.Text); if (productoTiempoPl.ActualizarProductoTiempoEstandar(productoTiempo)) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgGuardar, MessageBoxButton.OK, MessageImage.Correct); confirmacion = false; this.Close(); } } else { var productoTiempoExistenteInfo = productoTiempoPl.ObtenerPorProductoID(productoTiempo); if (productoTiempoExistenteInfo == null || productoTiempoExistenteInfo.ProductoTiempoEstandarID == 0) { if (productoTiempoPl.GuardarProductoTiempoEstandar(productoTiempo)) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgGuardar, MessageBoxButton.OK, MessageImage.Correct); confirmacion = false; this.Close(); } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], string.Format(Properties.Resources.AdministracionProductoTiempoEstandar_EdicionMsgProductoTiempoEstandarYaRegistrado, productoTiempoExistenteInfo.Producto.Descripcion, productoTiempoExistenteInfo.ProductoTiempoEstandarID), MessageBoxButton.OK, MessageImage.Error); cmbHora.SelectedIndex = 0; cmbMinutos.SelectedIndex = 0; skAyudaProductos.LimpiarCampos(); skAyudaProductos.AsignarFoco(); } } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.AdministracionProductoTiempoEstandar_EdicionProductoNoValido, MessageBoxButton.OK, MessageImage.Error); } } } catch (Exception ex) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], ex.Message.ToString(), MessageBoxButton.OK, MessageImage.Error); } }
// Obtiene los datos del producto seleccionado private void ObtenerDatosProducto(string filtro) { try { var productoPl = new ProductoPL(); ProductoInfo productoActual = skAyudaProducto.Info; productoActual = productoPl.ObtenerPorIDSinActivo(productoActual); if (productoActual != null) { if (productoActual.Familia.FamiliaID == (int)FamiliasEnum.MateriaPrimas || productoActual.Familia.FamiliaID == (int)FamiliasEnum.Premezclas) { if (productoActual.Activo == EstatusEnum.Activo) { skAyudaProducto.Info = productoActual; skAyudaProducto.Info.Familias = new List <FamiliaInfo>() { new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.MateriaPrimas }, new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.Premezclas } }; } else { skAyudaProducto.LimpiarCampos(); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MonitoreoSilos_ProductoInactivo, MessageBoxButton.OK, MessageImage.Stop); skAyudaProducto.Info = new ProductoInfo() { ProductoId = 0, Familia = new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.MateriaPrimas }, Familias = new List <FamiliaInfo>() { new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.MateriaPrimas }, new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.Premezclas } }, Activo = EstatusEnum.Activo }; } } else { skAyudaProducto.LimpiarCampos(); skAyudaProducto.Info = new ProductoInfo() { ProductoId = 0, Familia = new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.MateriaPrimas }, Familias = new List <FamiliaInfo>() { new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.MateriaPrimas }, new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.Premezclas } }, Activo = EstatusEnum.Activo }; SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MonitoreoSilos_MsgProductoInvalido, MessageBoxButton.OK, MessageImage.Stop); } } else { skAyudaProducto.LimpiarCampos(); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.MonitoreoSilos_MsgProductoInvalido, MessageBoxButton.OK, MessageImage.Stop); skAyudaProducto.Info = new ProductoInfo() { ProductoId = 0, Familia = new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.MateriaPrimas }, Familias = new List <FamiliaInfo>() { new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.MateriaPrimas }, new FamiliaInfo() { FamiliaID = (int)FamiliasEnum.Premezclas } }, Activo = EstatusEnum.Activo }; } } catch (Exception ex) { Logger.Error(ex); } }
private void CargarArchivoImportar() { try { var almacenPL = new AlmacenPL(); var almacenInventarioPL = new AlmacenInventarioPL(); var almacenInventarioLotePL = new AlmacenInventarioLotePL(); var productoPL = new ProductoPL(); List <AlmacenInfo> almacenesOrganizacion = almacenPL.ObtenerAlmacenesPorOrganizacion(Contexto.Organizacion.OrganizacionID); List <ProductoInfo> productos = productoPL.ObtenerPorEstados(EstatusEnum.Activo); if (almacenesOrganizacion == null) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CargaMPPA_SinAlmacenes, MessageBoxButton.OK, MessageImage.Warning); return; } IList <AlmacenInventarioInfo> almacenesInventario = almacenInventarioPL.ObtenerPorAlmacenXML(almacenesOrganizacion) ?? new List <AlmacenInventarioInfo>(); IList <AlmacenInventarioLoteInfo> almacenesInventarioLote = almacenInventarioLotePL.ObtenerLotesPorAlmacenInventarioXML(almacenesInventario.ToList()) ?? new List <AlmacenInventarioLoteInfo>(); var archivoCarga = new FileInfo(Contexto.Ruta); // Open and read the XlSX file. using (var excel = new ExcelPackage(archivoCarga)) { ExcelWorkbook libro = excel.Workbook; if (libro == null || libro.Worksheets.Count == 0) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CargaMPPA_ArchivoSinDatos, MessageBoxButton.OK, MessageImage.Warning); return; } // Get the first worksheet ExcelWorksheet hojaExcel = libro.Worksheets.First(); if (!hojaExcel.Name.ToUpper().Equals(Properties.Resources.CargaMPPA_NombreHoja.ToUpper(), StringComparison.InvariantCultureIgnoreCase)) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CargaMPPA_NombreIncorrectoHoja, MessageBoxButton.OK, MessageImage.Warning); return; } if (!ValidarEncabezado(hojaExcel)) { return; } for (int renglon = RenglonEncabezados + 1; renglon <= hojaExcel.Dimension.End.Row; renglon++) { var carga = new CargaMPPAModel(); object columnaVacia = hojaExcel.Cells[renglon, 1].Value; if (columnaVacia == null || string.IsNullOrWhiteSpace(columnaVacia.ToString())) { continue; } #region AsignarPropiedades var propiedades = carga.GetType().GetProperties(); foreach (var propInfo in propiedades) { dynamic customAttributes = carga.GetType().GetProperty(propInfo.Name).GetCustomAttributes(typeof(AtributoCargaMPPA), true); if (customAttributes.Length > 0) { for (var indexAtributos = 0; indexAtributos < customAttributes.Length; indexAtributos++) { var atributos = (AtributoCargaMPPA)customAttributes[indexAtributos]; int celdaArchivo = atributos.Celda; TypeCode tipoDato = atributos.TipoDato; bool aceptaVacio = atributos.AceptaVacio; object dato = hojaExcel.Cells[renglon, celdaArchivo].Value; switch (tipoDato) { case TypeCode.Int32: int valorInt; int.TryParse(dato == null ? "" : dato.ToString(), out valorInt); if (valorInt == 0) { if (aceptaVacio) { propInfo.SetValue(carga, 0, null); } else { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_ErrorColumna, renglon, propInfo.Name); break; } } propInfo.SetValue(carga, valorInt, null); break; case TypeCode.Decimal: decimal valorDecimal; decimal.TryParse(dato == null ? "" : dato.ToString(), out valorDecimal); if (valorDecimal == 0) { if (aceptaVacio) { propInfo.SetValue(carga, 0, null); } else { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_ErrorColumna, renglon, propInfo.Name); break; } } propInfo.SetValue(carga, valorDecimal, null); break; case TypeCode.DateTime: DateTime valorFecha; DateTime.TryParse(dato == null ? "" : dato.ToString(), out valorFecha); if (valorFecha == DateTime.MinValue) { if (aceptaVacio) { propInfo.SetValue(carga, DateTime.MinValue, null); } else { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_ErrorColumna, renglon, propInfo.Name); break; } } propInfo.SetValue(carga, valorFecha, null); break; default: propInfo.SetValue(carga, null, null); break; } } } } #endregion AsignarPropiedades #region Validaciones AlmacenInfo almacenCarga = almacenesOrganizacion.FirstOrDefault(alm => alm.AlmacenID == carga.AlmacenID); ProductoInfo producto = productos.FirstOrDefault(pro => pro.ProductoId == carga.ProductoID); AlmacenInventarioInfo almacenInventario = almacenesInventario.FirstOrDefault( ai => ai.AlmacenID == carga.AlmacenID && ai.ProductoID == carga.ProductoID); if (almacenCarga == null) { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_NoExisteAlmacen, carga.AlmacenID, renglon); } carga.Almacen = almacenCarga; if (producto == null) { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_NoExisteProducto, carga.ProductoID, renglon); } carga.Producto = producto; if (almacenInventario != null && almacenInventario.Cantidad > 0) { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_ExisteInventario, carga.ProductoID, carga.AlmacenID, renglon); } carga.AlmacenInventario = almacenInventario; if (carga.AlmacenInventario != null && carga.AlmacenInventario.AlmacenInventarioID > 0) { List <AlmacenInventarioLoteInfo> lotesInventario = almacenesInventarioLote.Where( ail => ail.AlmacenInventario.AlmacenInventarioID == carga.AlmacenInventario.AlmacenInventarioID).ToList(); if (lotesInventario.Any()) { AlmacenInventarioLoteInfo lote = lotesInventario.FirstOrDefault(ail => ail.Lote == carga.Lote); if (lote != null) { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_ExisteLote, carga.Lote, carga.AlmacenID, renglon); } } } CargaMPPAModel cargaRepetida = listaInventariosValidos.FirstOrDefault(car => car.ProductoID == carga.ProductoID && car.AlmacenID == carga.AlmacenID && car.Lote == carga.Lote); if (cargaRepetida != null) { carga.MensajeAlerta = string.Format(Properties.Resources.CargaMPPA_ExisteRenglonRepetido, renglon); } if (!string.IsNullOrWhiteSpace(carga.MensajeAlerta)) { listaInventariosInvalidos.Add(carga); } else { listaInventariosValidos.Add(carga); } #endregion Validaciones } } if (listaInventariosInvalidos.Any()) { gridDatos.ItemsSource = listaInventariosInvalidos; btnGuardar.IsEnabled = false; SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], string.Format(Properties.Resources.CargaMPPA_RegistroProblemas, listaInventariosInvalidos.Count), MessageBoxButton.OK, MessageImage.Warning); return; } if (listaInventariosValidos.Any()) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], string.Format(Properties.Resources.CargaMPPA_RegistroSinProblemas, listaInventariosValidos.Count), MessageBoxButton.OK, MessageImage.Correct); } btnGuardar.IsEnabled = true; } catch (Exception ex) { SkMessageBox.Show(System.Windows.Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.CargaMPPA_ErrorValidar, MessageBoxButton.OK, MessageImage.Error); Logger.Error(ex); } }
private void BtnAgregar_OnClick(object sender, RoutedEventArgs e) { if (skAyudaProveedor.Clave != "") { if (txtFactura.Text != "") { if (skAyudaProducto.Clave != "") { if (txtCantidad.Value != null) { if (txtCantidad.Value != 0) { if (txtImporte.Value != null) { if (txtImporte.Value != 0) { if (renglon < 0) { skAyudaProveedor.IsEnabled = false; txtFactura.IsEnabled = false; contador++; var recepcionProductoDetalle = new RecepcionProductoDetalleInfo { Producto = new ProductoInfo() { ProductoId = int.Parse(skAyudaProducto.Clave) } }; var productoPl = new ProductoPL(); recepcionProductoDetalle.Producto = productoPl.ObtenerPorID(recepcionProductoDetalle.Producto); recepcionProductoDetalle.Cantidad = (decimal)txtCantidad.Value; decimal importe = ObtenerImporte(); if (importe == 0) { MensajeTipoCambio(); return; } recepcionProductoDetalle.Importe = importe; recepcionProductoDetalle.PrecioPromedio = recepcionProductoDetalle.Importe / recepcionProductoDetalle.Cantidad; recepcionProducto.ListaRecepcionProductoDetalle.Add(recepcionProductoDetalle); dgRecepcion.ItemsSource = new List <RecepcionProductoDetalleInfo>(); dgRecepcion.ItemsSource = recepcionProducto.ListaRecepcionProductoDetalle; btnGuardar.IsEnabled = true; } else { var recepcionProductoDetalle = new RecepcionProductoDetalleInfo { Producto = new ProductoInfo() { ProductoId = int.Parse(skAyudaProducto.Clave) } }; var productoPl = new ProductoPL(); recepcionProductoDetalle.Producto = productoPl.ObtenerPorID(recepcionProductoDetalle.Producto); recepcionProductoDetalle.Cantidad = (decimal)txtCantidad.Value; decimal importe = ObtenerImporte(); if (importe == 0) { MensajeTipoCambio(); return; } recepcionProductoDetalle.Importe = importe; recepcionProductoDetalle.PrecioPromedio = recepcionProductoDetalle.Importe / recepcionProductoDetalle.Cantidad; recepcionProducto.ListaRecepcionProductoDetalle[renglon] = recepcionProductoDetalle; dgRecepcion.ItemsSource = new List <RecepcionProductoDetalleInfo>(); dgRecepcion.ItemsSource = recepcionProducto.ListaRecepcionProductoDetalle; } chkDll.IsEnabled = false; LimpiarCampos(); } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_IngreseImporte, MessageBoxButton.OK, MessageImage.Stop); txtImporte.Focus(); } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_IngreseImporte, MessageBoxButton.OK, MessageImage.Stop); txtImporte.Focus(); } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_IngreseCantidad, MessageBoxButton.OK, MessageImage.Stop); txtCantidad.Focus(); } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_IngreseCantidad, MessageBoxButton.OK, MessageImage.Stop); txtCantidad.Focus(); } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_IngreseProducto, MessageBoxButton.OK, MessageImage.Stop); skAyudaProducto.AsignarFoco(); } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_IngresarFactura, MessageBoxButton.OK, MessageImage.Stop); txtFactura.Focus(); } } else { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.RecepcionProducto_IngresarProveedor, MessageBoxButton.OK, MessageImage.Stop); skAyudaProveedor.AsignarFoco(); } }