/// <summary> /// Adiciona o movimento no contexto e atualiza o saldo do produto. /// </summary> /// <param name="movimento">Movimento que está sendo criado.</param> /// <returns>O movimento que foi criado.</returns> public MovimentoEstoque CriarMovimento(MovimentoEstoque movimento) { Context.MovimentosEstoque.Add(movimento); movimento.Produto.Saldo += movimento.Quantidade; Context.Entry(movimento.Produto).State = EntityState.Modified; return(movimento); }
public async Task <IHttpActionResult> Delete(int id) { var produto = await Context.Produtos.FindAsync(id); if (produto == null) { return(NotFound()); } try { Context.Entry <Produto>(produto).State = EntityState.Deleted; await Context.SaveChangesAsync(); } catch (DbUpdateException) { throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Produto não pode ser excluído pois já há vendas para este produto.")); } return(Ok()); }