/// <summary> /// Método para guardar los valores del contexto /// </summary> private void Guardar() { bool guardar = ValidaGuardar(); if (guardar) { try { var claseCostoProductoBL = new ClaseCostoProductoBL(); claseCostoProductoBL.Guardar(Contexto); SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK, MessageImage.Correct); if (Contexto.ClaseCostoProductoID != 0) { confirmaSalir = false; Close(); } else { InicializaContexto(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(this, Properties.Resources.ClaseCostoProducto_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(this, Properties.Resources.ClaseCostoProducto_ErrorGuardar, MessageBoxButton.OK, MessageImage.Error); } } }
/// <summary> /// Obtiene la información de la CostoProducto de acuerdo al almacen y producto /// </summary> /// <param name="almacenID">Identificador del almacen donde se encuentra la mercancia del producto</param> /// <param name="producto">Identificacador del producto</param> /// <returns>ClaseCostoProductoInfo</returns> public ClaseCostoProductoInfo ObtenerCostoAlmacenProducto(int almacenID, int producto) { ClaseCostoProductoInfo costo = null; try { Logger.Info(); var costoProductoBL = new ClaseCostoProductoBL(); costo = costoProductoBL.ObtenerPorProductoAlmacen(producto, almacenID); } catch (Exception ex) { Logger.Error(ex); throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } return(costo); }
/// <summary> /// Obtiene la lista para mostrar en el grid /// </summary> private void ObtenerListaClaseCostoProducto(int inicio, int limite) { try { if (ucPaginacion.ContextoAnterior != null) { bool contextosIguales = ucPaginacion.CompararObjetos(Contexto, ucPaginacion.ContextoAnterior); if (!contextosIguales) { ucPaginacion.Inicio = 1; inicio = 1; } } var claseCostoProductoBL = new ClaseCostoProductoBL(); ClaseCostoProductoInfo filtros = ObtenerFiltros(); var pagina = new PaginacionInfo { Inicio = inicio, Limite = limite }; ResultadoInfo <ClaseCostoProductoInfo> resultadoInfo = claseCostoProductoBL.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; ucPaginacion.AsignarValoresIniciales(); gridDatos.ItemsSource = new List <ClaseCostoProducto>(); } } catch (ExcepcionGenerica) { SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ClaseCostoProducto_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } catch (Exception ex) { Logger.Error(ex); SkMessageBox.Show(Application.Current.Windows[ConstantesVista.WindowPrincipal], Properties.Resources.ClaseCostoProducto_ErrorBuscar, MessageBoxButton.OK, MessageImage.Error); } }
/// <summary> /// Metodo que valida los datos para guardar /// </summary> /// <returns></returns> private bool ValidaGuardar() { bool resultado = true; string mensaje = string.Empty; try { if (string.IsNullOrWhiteSpace(txtClaseCostoProductoID.Text)) { resultado = false; mensaje = Properties.Resources.ClaseCostoProductoEdicion_MsgClaseCostoProductoIDRequerida; txtClaseCostoProductoID.Focus(); } else if (Contexto.Almacen == null || Contexto.Almacen.AlmacenID == 0) { resultado = false; mensaje = Properties.Resources.ClaseCostoProductoEdicion_MsgAlmacenIDRequerida; skAyudaAlmacen.AsignarFoco(); } else if (Contexto.Producto == null || Contexto.Producto.ProductoId == 0) { resultado = false; mensaje = Properties.Resources.ClaseCostoProductoEdicion_MsgProductoIDRequerida; skAyudaProducto.AsignarFoco(); } else if (Contexto.CuentaSAP == null || Contexto.CuentaSAP.CuentaSAPID == 0) { resultado = false; mensaje = Properties.Resources.ClaseCostoProductoEdicion_MsgCuentaSAPIDRequerida; skAyudaCuentaSAP.AsignarFoco(); } else if (cmbActivo.SelectedItem == null) { resultado = false; mensaje = Properties.Resources.ClaseCostoProductoEdicion_MsgActivoRequerida; cmbActivo.Focus(); } else { var claseCostoProductoBL = new ClaseCostoProductoBL(); IList <ClaseCostoProductoInfo> claseCostoProductoAlmacen = claseCostoProductoBL.ObtenerPorAlmacen(Contexto.Almacen.AlmacenID); ClaseCostoProductoInfo claseCostoProducto = claseCostoProductoAlmacen.FirstOrDefault( clase => clase.Producto.ProductoId == Contexto.Producto.ProductoId); if (claseCostoProducto != null && (Contexto.ClaseCostoProductoID == 0 || Contexto.ClaseCostoProductoID != claseCostoProducto.ClaseCostoProductoID)) { resultado = false; mensaje = string.Format(Properties.Resources.ClaseCostoProductoEdicion_MsgRegistroDuplicado, claseCostoProducto.ClaseCostoProductoID); } } } catch (Exception ex) { throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex); } if (!string.IsNullOrWhiteSpace(mensaje)) { SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning); } return(resultado); }