public async Task <IActionResult> UpdateDraftAsync([FromBody] UpdateDraftInvoiceModel model) { if (!ModelState.IsValid) { return(BadRequest(ErrorResponse.Create("Invalid model.", ModelState))); } try { await _invoiceService.UpdateDraftAsync(Mapper.Map <Invoice>(model)); } catch (InvoiceNotFoundException exception) { await _log.WriteErrorAsync(nameof(InvoiceController), nameof(UpdateDraftAsync), model.ToContext(), exception); return(NotFound(ErrorResponse.Create(exception.Message))); } catch (InvalidOperationException exception) { await _log.WriteErrorAsync(nameof(InvoiceController), nameof(UpdateDraftAsync), model.ToContext(), exception); return(BadRequest(ErrorResponse.Create(exception.Message))); } return(NoContent()); }
public static string ToContext(this UpdateDraftInvoiceModel model) { var context = Mapper.Map <UpdateDraftInvoiceModel>(model); context.ClientEmail = context.ClientEmail.SanitizeEmail(); return(context.ToJson()); }
public void AutoMapper_OK() { var context = new UpdateDraftInvoiceModel { Currency = "a", Amount = 10, ClientEmail = "*****@*****.**", ClientName = "c", DueDate = "d", InvoiceId = "v", InvoiceNumber = "n", MerchantId = "n" }.ToContext(); Assert.IsTrue(true); }
public async Task UpdateDraftInvoiceAsync(UpdateDraftInvoiceModel model) { await _runner.RunAsync(() => _invoiceApi.UpdateDraftAsync(model)); }