Ejemplo n.º 1
0
        public async Task <IActionResult> Create([FromBody] CreateProductoRequest productoRequest)
        {
            var newProducto = new Producto
            {
                Nombre      = productoRequest.Nombre,
                Descripcion = productoRequest.Descripcion,
                Marca       = productoRequest.Marca,
                CategoriaId = productoRequest.Categoria,
                PromocionId = productoRequest.Promocion,
                Precio      = productoRequest.Precio
            };

            Producto result = await _productoRepository.Add(newProducto);

            if (result == null)
            {
                return(BadRequest());
            }

            var response = new ProductoResponse
            {
                ProductoId  = result.ProductoId,
                Nombre      = result.Nombre,
                Descripcion = result.Descripcion,
                Marca       = result.Marca,
                Categoria   = result.CategoriaId,
                Promocion   = result.PromocionId,
                Precio      = result.Precio
            };

            string urlBase     = $"{HttpContext.Request.Scheme}://{HttpContext.Request.Host.ToUriComponent()}";
            string locationUri = $"{urlBase}/{ApiRoutes.Productos.Get.Replace("{productoId}", response.ProductoId.ToString())}";

            return(Created(locationUri, response));
        }
Ejemplo n.º 2
0
 public static int Add(Producto _producto)
 {
     try
     {
         IProductoRepository _repository = new ProductoRepository();
         return _repository.Add(_producto);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 3
0
        private async Task GuardarProducto()
        {
            try
            {
                if (await _productoRepository.Add(_producto))
                {
                    var producto = await _productoRepository.Get(_producto.Nombre);

                    var productoId = producto.OrderByDescending(i => i.Id).FirstOrDefault(p => p.Nombre == _producto.Nombre).Id;
                    if (productoId > 0)
                    {
                        foreach (Ingrediente ing in _Ingredientes)
                        {
                            ing.ProductoId = productoId;
                            await _ingredienteRepository.Add(ing);
                        }

                        foreach (Instruccion ins in _Instrucciones)
                        {
                            ins.ProductoId = productoId;
                            await _instruccionRepository.Add(ins);
                        }
                        foreach (Imagen img in _Imagenes)
                        {
                            img.ProductoId = productoId;
                            img.Nombre     = _producto.Nombre + "_" + img.Nombre + ".jpg";
                            img.Url        = Url + img.Nombre;

                            if (await _imagenRepository.Add(img))
                            {
                                img.Img.Save(img.Url);
                            }
                        }
                    }
                    MetroFramework.MetroMessageBox.Show(this, "Se Creo un producto nuevo");
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        }