public override Lfx.Types.OperationResult Ok() { Lbl.Articulos.Articulo Art = EntradaArticulo.Elemento as Lbl.Articulos.Articulo; Lfx.Types.OperationResult Res = new Lfx.Types.SuccessOperationResult(); if (Art == null) { Res.Message += "Por favor seleccione un artículo." + Environment.NewLine; Res.Success = false; } if (EntradaDesdeSituacion.ValueInt != EntradaDesdeSituacion.ValueInt) { Res.Message += @"Por favor indique ""Desde"" y ""Hacia""." + Environment.NewLine; Res.Success = false; } if (EntradaCantidad.ValueDecimal <= 0) { Res.Message += "Por favor escriba la cantidad." + Environment.NewLine; Res.Success = false; } if (Res.Success) { if (Art != null && Art.ObtenerSeguimiento() != Lbl.Articulos.Seguimientos.Ninguno) { if (EntradaArticulo.DatosSeguimiento == null || EntradaArticulo.DatosSeguimiento.Count == 0) { return(new Lfx.Types.FailureOperationResult("Debe ingresar los datos de seguimiento (Ctrl-S) del artículo '" + Art.Nombre + "' para poder realizar movimientos de stock.")); } else { if (EntradaArticulo.DatosSeguimiento.CantidadTotal < EntradaArticulo.Cantidad) { return(new Lfx.Types.FailureOperationResult("Debe ingresar los datos de seguimiento (Ctrl-S) de todos los artículos '" + Art.Nombre + "' para poder realizar movimientos de stock.")); } } } } if (Res.Success) { IDbTransaction Trans = this.Connection.BeginTransaction(IsolationLevel.Serializable); decimal Cantidad = EntradaCantidad.ValueDecimal; Lbl.Articulos.Situacion Origen, Destino; Origen = EntradaDesdeSituacion.Elemento as Lbl.Articulos.Situacion; Destino = EntradaHaciaSituacion.Elemento as Lbl.Articulos.Situacion; Art.MoverExistencias(null, Cantidad, EntradaObs.Text, Origen, Destino, EntradaArticulo.DatosSeguimiento); Trans.Commit(); } return(Res); }
protected override void OnLeave(EventArgs e) { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; if (this.Cantidad != 0 && Art != null && Art.ObtenerSeguimiento() != Lbl.Articulos.Seguimientos.Ninguno && (this.DatosSeguimiento == null || this.DatosSeguimiento.Count != this.Cantidad)) { this.ObtenerDatosSeguimientoSiEsNecesario(); } base.OnLeave(e); }
public override void ActualizarElemento() { Lbl.Articulos.Articulo Art = this.Elemento as Lbl.Articulos.Articulo; Art.Codigo1 = EntradaCodigo1.Text; Art.Codigo2 = EntradaCodigo2.Text; Art.Codigo3 = EntradaCodigo3.Text; Art.Codigo4 = EntradaCodigo4.Text; Art.Categoria = EntradaCategoria.Elemento as Lbl.Articulos.Categoria; Art.Marca = EntradaMarca.Elemento as Lbl.Articulos.Marca; Art.Caja = EntradaCaja.Elemento as Lbl.Cajas.Caja; Art.Modelo = EntradaModelo.Text; Art.Serie = EntradaSerie.Text; Art.Nombre = EntradaNombre.Text; Art.Url = EntradaUrl.Text; Art.Proveedor = EntradaProveedor.Elemento as Lbl.Personas.Persona; Art.Descripcion = EntradaDescripcion.Text; Art.Descripcion2 = EntradaDescripcion2.Text; Art.Destacado = EntradaDestacado.ValueInt != 0; Art.Costo = EntradaCosto.ValueDecimal; if (EntradaMargen.ValueInt > 0) { Art.Margen = this.Margenes.GetById(EntradaMargen.ValueInt); } else { Art.Margen = null; } Art.Pvp = EntradaPvp.ValueDecimal; Art.TipoDeArticulo = (Lbl.Articulos.TiposDeArticulo)(EntradaTipoDeArticulo.ValueInt); Art.Seguimiento = (Lbl.Articulos.Seguimientos)(EntradaSeguimiento.ValueInt); Art.Periodicidad = (Lbl.Articulos.Periodicidad)(EntradaPeriodicidad.ValueInt); Art.PuntoDeReposicion = Lfx.Types.Parsing.ParseStock(EntradaStockMinimo.Text); Art.Unidad = EntradaUnidad.TextKey; Art.Rendimiento = Rendimiento; Art.UnidadRendimiento = UnidadRendimiento; Art.Estado = 1; Art.Garantia = EntradaGarantia.ValueInt; Art.Publicacion = ((Lbl.Articulos.Publicacion)(EntradaWeb.ValueInt)); if (Art.Existe == false) { Art.ExistenciasInicial = EntradaStockActual.ValueDecimal; } Lbl.Articulos.Seguimientos Seg = Art.ObtenerSeguimiento(); if (Seg != Lbl.Articulos.Seguimientos.Ninguno) { // Verificar que los datos de seguimiento actual coincidan con el stock actual } base.ActualizarElemento(); }
private void Actualizar() { string Ayuda; if (m_Articulo != null) { Ayuda = "Proporcione los datos de " + Articulo.ToString(); switch (m_Articulo.ObtenerSeguimiento()) { case Lbl.Articulos.Seguimientos.NumerosDeSerie: VariacionesCantidades.EsNumeroDeSerie = true; break; case Lbl.Articulos.Seguimientos.TallesYColores: VariacionesCantidades.EsNumeroDeSerie = false; break; } } else { Ayuda = "Seguimiento"; } EtiquetaArticulo.Text = Ayuda; }