Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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;
        }