Пример #1
0
        //          [Productos]     -------------------------

        #region Productos

        public Producto Convert_ProductoCmd_To_Producto(ProductoCmd productoCmd)
        {
            Producto p = new Producto();

            p.CodigoCatalogo   = productoCmd.CodigoCatalogo;
            p.Nombre           = productoCmd.Nombre;
            p.Descripcion      = productoCmd.Descripcion;
            p.TipoProducto     = productoCmd.TipoProducto;
            p.Proveedor        = this.Convert_ProveedorCmd_To_Proveedor(null);
            p.Prioridad        = productoCmd.Prioridad;
            p.SKU              = productoCmd.SKU;
            p.CodigoProducto   = productoCmd.CodigoProducto;
            p.iva              = productoCmd.iva;
            p.PesoKg           = productoCmd.PesoKg;
            p.ValorUnitario    = productoCmd.ValorUnitario;
            p.TipoSeguimiento  = productoCmd.TipoSeguimiento;
            p.NivelInventario  = productoCmd.NivelInventario;
            p.NivelAdvertencia = productoCmd.NivelAdvertencia;
            p.Descuento        = this.Convert_DescuentoCmd_To_Descuento(productoCmd.Descuentos);
            p.Multimedia       = this.Convert_MultimediaCmd_To_Multimedia(productoCmd.Multimedia);
            p.Marca            = productoCmd.Marca;
            p.Estado           = productoCmd.Estado;
            p.EnAlmacen        = productoCmd.EnAlmacen();
            p.Sinonimos        = productoCmd.Sinonimos;
            p.Calificacion     = 0;
            p.Sinonimos        = p.Sinonimos.ConvertAll(d => d.ToUpper());


            return(p);
        }
Пример #2
0
        public ProductoQuery AgregarProducto(ProductoCmd productoCmd)
        {
            ProductoQuery productoQ = null;

            try
            {
                Producto producto = this._utils.Convert_ProductoCmd_To_Producto(productoCmd);
                producto.CodigoProducto = this.GenerarCodigoProducto(producto.IndExterno);
                _ufwProductos.Repository <Producto>().InsertOne(producto);
                productoQ = this._utils.Convert_Producto_To_Query(producto);
            }
            catch (Exception e)
            {
                throw e;
            }

            return(productoQ);
        }
Пример #3
0
        public ProductoQuery ActualizarProducto(ProductoCmd productoCmd)
        {
            ProductoQuery productoQ = null;

            try
            {
                Catalogo catalogo = _ufwCatalogos.Repository <Catalogo>().Find(new CatalogoSpecification(productoCmd.CodigoCatalogo)).FirstOrDefault();

                if (catalogo != null)
                {
                    Producto doc = _ufwProductos.Repository <Producto>().Find(new ProductoCodigoSpecification(productoCmd.CodigoProducto)).FirstOrDefault();

                    if (doc != null)
                    {
                        Producto producto = this._utils.Convert_ProductoCmd_To_Producto(productoCmd);
                        producto.Id             = doc.Id;
                        producto.IndExterno     = catalogo.IndExterno;
                        producto.Proveedor      = catalogo.Proveedor;
                        producto.NombreCatalogo = catalogo.Nombre;
                        _ufwProductos.Repository <Producto>().ReplaceOne(producto);
                        productoQ = this._utils.Convert_Producto_To_Query(producto);
                    }
                    else
                    {
                        throw new Exception("El producto es inváldo");
                    }
                }
                else
                {
                    throw new Exception("El catálogo es inváldo");
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(productoQ);
        }
Пример #4
0
        public ProductoQuery AgregarProducto(ProductoCmd productoCmd)
        {
            ProductoQuery productoQ = null;

            try
            {
                Catalogo catalogo = _ufwCatalogos.Repository <Catalogo>().Find(new CatalogoSpecification(productoCmd.CodigoCatalogo)).FirstOrDefault();

                if (catalogo != null)
                {
                    if (_ufwProductos.Repository <Producto>().Contains(new ProductoSKUSpecification(productoCmd.SKU)))
                    {
                        throw new Exception("Ya existe un producto con el SKU");
                    }

                    Producto producto = this._utils.Convert_ProductoCmd_To_Producto(productoCmd);
                    producto.IndExterno     = catalogo.IndExterno;
                    producto.Proveedor      = catalogo.Proveedor;
                    producto.NombreCatalogo = catalogo.Nombre;
                    producto.CodigoProducto = this.GenerarCodigoProducto(producto.IndExterno);
                    _ufwProductos.Repository <Producto>().InsertOne(producto);
                    productoQ = this._utils.Convert_Producto_To_Query(producto);

                    //_ufwCatalogos.Commit();
                }
                else
                {
                    throw new Exception("El catálogo es inváldo");
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(productoQ);
        }