public async Task <string> CreateInvoiceNoteOut(InvoiceNoteOutInputModel input) { var invoice = this.invoiceOuts.All().FirstOrDefault(i => i.Id == input.InvoiceOut.Id); if (invoice is null) { throw new ArgumentNullException(); } var noteInvoice = new InvoiceOut(); noteInvoice.Number = input.Number; noteInvoice.CreateDate = input.CreateDate; noteInvoice.DueDays = input.DueDays; noteInvoice.BankDetailsId = input.BankDetailsId; noteInvoice.VATReasonId = input.VATReasonId; noteInvoice.NoteInfo = this.mapper.Map <NoteInfo>(input.Note); noteInvoice.NoteInfo.AdminId = invoice.AdminId; await this.invoiceOuts.AddAsync(noteInvoice); invoice.NoteInvoices.Add(noteInvoice); await this.invoiceOuts.SaveChangesAsync(); return(noteInvoice.Id); }
public async Task <IActionResult> InvoiceNoteOut(InvoiceNoteOutInputModel input) { try { var noteInvoiceId = await this.invoicesService.CreateInvoiceNoteOut(input); await this.invoicesService.UpdateInvoiceOutStatusAsync(noteInvoiceId, InvoiceStatusNames.AwaitingApproval.ToString()); } catch (Exception ex) { this.notyfService.Error(ex.Message); return(this.View(this.invoicesService.LoadInvoiceNoteOutModel(input.InvoiceOut.Id))); } return(this.RedirectToAction("AwaitingPayment")); }