Пример #1
0
        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);
        }
Пример #2
0
        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"));
        }