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)); }
public static int Add(Producto _producto) { try { IProductoRepository _repository = new ProductoRepository(); return _repository.Add(_producto); } catch (Exception e) { throw e; } }
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); } }