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());
        }
Exemple #2
0
        public static string ToContext(this UpdateDraftInvoiceModel model)
        {
            var context = Mapper.Map <UpdateDraftInvoiceModel>(model);

            context.ClientEmail = context.ClientEmail.SanitizeEmail();

            return(context.ToJson());
        }
Exemple #3
0
        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));
 }