public async Task <ActionResult <InvoiceToReturnDto> > AddNew([FromBody] InvoiceToCreateDto newInvoicedto) { if (ModelState.IsValid) { var invoice = _mapper.Map <Invoice>(newInvoicedto); var addedInvoice = await this._invoiceService.CreateInvoiceAsync(invoice); if (addedInvoice == null) { return(BadRequest(new ApiResponse(400, "Problem creating Invoice"))); } InvoiceToReturnDto invoiceToReturn = new InvoiceToReturnDto(); return(Ok(_mapper.Map <InvoiceToReturnDto>(addedInvoice))); } return(BadRequest("failed to add new invoice")); }
public async Task <ActionResult <InvoiceToReturnDto> > UpdateInvoice(int id, [FromBody] InvoiceToCreateDto newInvoice) { var spec = new InvoiceWithCustomerAndItemsSpecification(id); var invoice = await _unitOfWork.Repository <Invoice>().GetEntityWithSpecAsync(spec); // var items = _mapper.Map<ICollection<InvoiceItem>, ICollection<InvoiceItemDto>>(GetItemsForInvoice(id)); // newInvoice.Items = items; _mapper.Map(newInvoice, invoice); _unitOfWork.Repository <Invoice>().Update(invoice); if (await _unitOfWork.Repository <Invoice>().SaveAllAsync()) { return(Ok(_mapper.Map <InvoiceToReturnDto>(invoice))); } return(BadRequest("failed to update Invoice")); }