コード例 #1
0
ファイル: Utils.cs プロジェクト: michaelvargas19/KallSonys-AE
        public ProductoQuery Convert_Producto_To_Query(Producto producto)
        {
            ProductoQuery p = new ProductoQuery();

            p.Id              = producto.Id;
            p.CodigoCatalogo  = producto.CodigoCatalogo;
            p.NombreCatalogo  = producto.NombreCatalogo;
            p.Nombre          = producto.Nombre;
            p.Descripcion     = producto.Descripcion;
            p.TipoProducto    = producto.TipoProducto;
            p.Proveedor       = this.Convert_Proveedor_To_ProveedorQuery(producto.Proveedor);
            p.sku             = producto.SKU;
            p.CodigoProducto  = producto.CodigoProducto;
            p.iva             = producto.iva;
            p.PesoKg          = producto.PesoKg;
            p.ValorUnitario   = producto.ValorUnitario;
            p.NivelInventario = producto.NivelInventario;
            p.Descuentos      = this.Convert_Descuento_To_DescuentoQuery(producto.Descuento);
            p.Multimedia      = this.Convert_Multimedia_To_MultimediaQuery(producto.Multimedia);
            p.Marca           = producto.Marca;
            p.EnAlmacen       = producto.EnAlmacen;
            p.IndExterno      = producto.IndExterno;
            p.Calificacion    = producto.Calificacion;



            return(p);
        }
コード例 #2
0
        public IActionResult GetProductoPaginado(string type, int currentPage)
        {
            var offset = 1;

            if (type == "p")
            {
                offset = currentPage - 1;
            }
            if (type == "n")
            {
                offset = currentPage + 1;
            }

            var query = new ProductoQuery()
            {
                OffSet = offset, PerPage = 10
            };
            var response = _productoBusiness.GetProductoPaginado(query).ToList();

            var lista = new ProductoLista(response, response.First().Total);

            ViewData["IsLastPage"]  = response.Count < 10;
            ViewData["CurrentPage"] = offset;

            return(View("Index", lista));
        }
コード例 #3
0
 public ProductoResponse GetProductos1([FromBody] ProductoQuery param)
 {
     return(new ProductoResponse
     {
         Items = _productoBusiness.GetProductoPaginado(param)
     });
 }
コード例 #4
0
 public IEnumerable <Producto> GetProductoPaginado(ProductoQuery query)
 {
     using (var con = new SqlConnection(_connectionString))
     {
         return(con.Query <Producto>("dbo.GetProductoByParams", query, commandType: CommandType.StoredProcedure));
     }
 }
コード例 #5
0
        public ProductoQuery verProductoPorSKU(string sku)
        {
            ProductoQuery productoQ = null;

            try
            {
                Producto producto = _ufwProductos.Repository <Producto>().Find(new ProductoSKUSpecification(sku)).FirstOrDefault();

                if (producto != null)
                {
                    productoQ = this._utils.Convert_Producto_To_Query(producto);

                    if (producto.IndExterno)
                    {
                        Producto p = this._ufwProductos.IIntegrationProveedores().consultarProducto(sku);

                        if (p != null)
                        {
                            productoQ = this._utils.Convert_Producto_To_Query(p);
                        }
                    }
                }
                else
                {
                    throw new Exception("No se ha encontrado el Producto");
                }
            }
            catch (Exception e)
            {
                _AuditoriaCatalogos log = new _AuditoriaCatalogos("INTEGRACIÓN REQUEST EXCEPTION", "", true, "", "", this.ToString(), e.Message, e.StackTrace, "", "");
                _log.Repository <_AuditoriaCatalogos>().InsertOne(log);
            }

            return(productoQ);
        }
コード例 #6
0
        public IActionResult Index()
        {
            var query = new ProductoQuery()
            {
                OffSet  = 1,
                PerPage = 10
            };
            var response = _productoBusiness.GetProductoPaginado(query).ToList();

            var lista = new ProductoLista(response, response.First().Total);

            ViewData["IsLastPage"]  = response.Count < 10;
            ViewData["CurrentPage"] = 1;

            return(View(lista));
        }
コード例 #7
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);
        }
コード例 #8
0
        //
        public IActionResult Index()
        {
            var query = new ProductoQuery()
            {
                //pagina 1
                Offset = 1,
                //10 Registros
                PerPage = 9
            };
            var response = _productoBusiness.GetProductoPaginado(query).ToList();

            //var response = _productoBusiness.GetProductos().ToList();
            //var responseDTO = Mapper.Map<List<Producto1>>(response);
            var lista = new ProductoLista(response, response.First().Total);

            ViewData["IsLastPage"]  = response.Count < 9;
            ViewData["CurrentPage"] = 1;
            return(View(lista));
        }
コード例 #9
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);
        }
コード例 #10
0
        public IActionResult Index()
        {
            var query = new ProductoQuery()
            {
                OffSet  = 1,
                PerPage = 10
            };

            var response = _productoBusiness.GetProductoPaginado(query).ToList();
            //var response = _productoBusiness.GetProductos().ToList();
            //var responseDTO = Mapper.Map<List<Producto1>>(response);

            var lista = new ProductoLista(response, response.First().total);

            ViewData["IsLastPage"]  = response.Count < 10;
            ViewData["CurrentPage"] = 1;
            //{
            //    Products = response,
            //    Total = response.Count
            //};
            return(View(lista));
        }
コード例 #11
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);
        }
コード例 #12
0
        public ProductoQuery verProductoPorSKU(string sku)
        {
            ProductoQuery productoQ = null;

            try
            {
                Producto producto = _ufwProductos.Repository <Producto>().Find(new ProductoSKUSpecification(sku)).FirstOrDefault();

                if (producto != null)
                {
                    productoQ = this._utils.Convert_Producto_To_Query(producto);
                }
                else
                {
                    throw new Exception("No se ha encontrado el Producto");
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(productoQ);
        }
コード例 #13
0
 public IEnumerable <Producto> GetProductos([FromBody] ProductoQuery param)
 {
     return(_productoBusiness.GetProductoPaginado(param));
 }
コード例 #14
0
        //// POST: Productos
        ///// <summary>Agregar un producto</summary>
        ///// <param name="request">Datos de la solicitud</param>
        ///// <returns>Producto Agregado</returns>
        ///// <response code="200">Solicitud procesada</response>
        ///// <response code="400">Problemas con la solicitud</response>
        ///// <response code="401">Falta de permisos</response>
        ///// <response code="500">Error Interno</response>

        //[HttpPost()]
        //public ActionResult<ProductoQuery> AgregarProducto(RequestBase<ProductoCmd> request)
        //{
        //    ResponseBase<ProductoQuery> response = new ResponseBase<ProductoQuery>();
        //    response.code = 500;

        //    try
        //    {
        //        response.data = _productosServiceCmd.AgregarProducto(request.data);
        //        //response.data = getCatalogosEjemplo().FirstOrDefault();


        //        if (response.data == null)
        //        {
        //            response.code = 202;
        //            response.message = "No se ha podido completar el proceso";
        //        }
        //        else
        //        {
        //            response.code = 200;
        //            response.message = "Catálogo creado";
        //        }

        //    }
        //    catch (Exception e)
        //    {
        //        response.message = e.Message;
        //    }

        //    response.date = DateTime.Now;

        //    ////Auditoría

        //    //var jrq = JsonConvert.SerializeObject(request);
        //    //var jrp = JsonConvert.SerializeObject(response);
        //    //var host = "";
        //    //try
        //    //{
        //    //    var remoteIpAddress = HttpContext.Connection.RemoteIpAddress.ToString();
        //    //    host = Dns.GetHostEntry(remoteIpAddress).HostName;
        //    //}
        //    //catch (Exception e) { }

        //    //try
        //    //{
        //    //    this._logServiceCmd.AgregarLog(new LogCmd { Tipo = "Request-Response", Usuario = request.usuario, Request = jrq, Response = jrp, Aplicacion = "Autenticación.API", Metodo = MethodInfo.GetCurrentMethod().Name, Entidad = this.ToString(), EsExcepcion = false, Mensaje = "", Parametros = "" });

        //    //}
        //    //catch (Exception e) { };


        //    return StatusCode(response.code, response);
        //}



        private IEnumerable <ProductoQuery> getProductosEjemplo()
        {
            List <ProductoQuery> productos = new List <ProductoQuery>();
            ProductoQuery        p         = null;

            // ---Producto 1
            p                         = new ProductoQuery();
            p.Nombre                  = "Televisor QLED - Q80R";
            p.Descripcion             = "TV con resolución 8K lanzado inicialmente en 75”, ahora también disponible 65 y 55 pulgadas tiene una resolución cuatro veces mayor al UHD 4K. Además cuenta con inteligencia artificial aplicada a imagen, sonido y modo ambiente";
            p.TipoProducto            = "Televisor";
            p.sku                     = "P001";
            p.CodigoProducto          = "001";
            p.iva                     = 0;
            p.PesoKg                  = 1;
            p.ValorUnitario           = 5000;
            p.EnAlmacen               = true;
            p.IndExterno              = false;
            p.Descuentos              = new DescuentoQuery();
            p.Descuentos.Nombre       = "";
            p.Descuentos.Descripcion  = "";
            p.Descuentos.Porcentaje   = 0;
            p.Descuentos.MediosDePago = new List <MEDIO_PAGO>()
            {
                MEDIO_PAGO.CONTRA_ENTREGA, MEDIO_PAGO.PSE
            };
            p.Multimedia = new MultimediaQuery()
            {
                Nombre      = "Imagen de ejemplo",
                Descripcion = "Esta es una imagen de pruebas",
                NombreTipo  = TIPO_MULTIMEDIA.IMAGEN.ToString(),
                Tipo        = TIPO_MULTIMEDIA.IMAGEN,
                url         = "https://cr00.epimg.net/radio/imagenes/2019/07/20/tecnologia/1563574963_042001_1563575140_noticia_normal.jpg"
            };
            p.Marca        = "Samsung";
            p.Calificacion = 1;

            productos.Add(p);

            // ---Producto 2
            p                         = new ProductoQuery();
            p.Nombre                  = "Televisor QLED - Q80R";
            p.Descripcion             = "Resolución UHD 4K con sistema HDR de 1500 nits para potenciar el brillo y Direct Full Array detallado para escenas oscuras. Tiene inteligencia artificial en imagen, audio y modo ambiente. Cuenta además con pantalla antirreflejo que reduce luz exterior hasta en un 40%. Disponible en 75 pulgadas";
            p.TipoProducto            = "Televisor";
            p.sku                     = "P002";
            p.CodigoProducto          = "002";
            p.iva                     = 0;
            p.PesoKg                  = 1;
            p.ValorUnitario           = 5000;
            p.EnAlmacen               = true;
            p.IndExterno              = false;
            p.Descuentos              = new DescuentoQuery();
            p.Descuentos.Nombre       = "";
            p.Descuentos.Descripcion  = "";
            p.Descuentos.Porcentaje   = 0;
            p.Descuentos.MediosDePago = new List <MEDIO_PAGO>()
            {
                MEDIO_PAGO.CONTRA_ENTREGA, MEDIO_PAGO.PSE
            };
            p.Multimedia = new MultimediaQuery()
            {
                Nombre      = "Imagen de ejemplo",
                Descripcion = "Esta es una imagen de pruebas",
                NombreTipo  = TIPO_MULTIMEDIA.IMAGEN.ToString(),
                Tipo        = TIPO_MULTIMEDIA.IMAGEN,
                url         = "https://olimpica.vtexassets.com/arquivos/ids/184924/Televisor-FHD-OLIMPO-100Cm-40----L40D2200S-Smartv.jpg?v=636864666579170000"
            };
            p.Marca        = "Samsung";
            p.Calificacion = 1;

            productos.Add(p);

            // ---Producto 3
            p                         = new ProductoQuery();
            p.Nombre                  = "Televisor QLED Q70R";
            p.Descripcion             = "Televisor 4K, disponible en 55 y 65 pulgadas con HDR de 1000 nits y Full Array, Procesador Quantum e inteligencia artificial para imagen, audio y modo ambiente.";
            p.TipoProducto            = "Televisor";
            p.sku                     = "P003";
            p.CodigoProducto          = "003";
            p.iva                     = 0;
            p.PesoKg                  = 1;
            p.ValorUnitario           = 5000;
            p.EnAlmacen               = true;
            p.IndExterno              = false;
            p.Descuentos              = new DescuentoQuery();
            p.Descuentos.Nombre       = "";
            p.Descuentos.Descripcion  = "";
            p.Descuentos.Porcentaje   = 0;
            p.Descuentos.MediosDePago = new List <MEDIO_PAGO>()
            {
                MEDIO_PAGO.CONTRA_ENTREGA, MEDIO_PAGO.PSE
            };
            p.Multimedia = new MultimediaQuery()
            {
                Nombre      = "Imagen de ejemplo",
                Descripcion = "Esta es una imagen de pruebas",
                NombreTipo  = TIPO_MULTIMEDIA.IMAGEN.ToString(),
                Tipo        = TIPO_MULTIMEDIA.IMAGEN,
                url         = "https://i2.wp.com/todocali.com/wp-content/uploads/2020/08/tu8000-7_1.jpg?fit=700%2C700&ssl=1"
            };
            p.Marca        = "Samsung";
            p.Calificacion = 1;

            productos.Add(p);

            return(productos);
        }
コード例 #15
0
 public IEnumerable <Producto> GetProductoPaginado(ProductoQuery query)
 {
     return(_unitofWork.productos.GetProductosPaginado(query));
 }