예제 #1
0
        public async Task <IActionResult> Create(/*[Bind("Id,RefNumber,CreationDate,DueDate,IsPaid,Supplier,Recipient,InvoiceItems")] */ Invoice invoice)
        {
            if (ModelState.IsValid)
            {
                invoice.CreationDate = DateTime.UtcNow;
                invoice.RefNumber    = DateTime.Now.ToString("yyyyMMddHHmmss");
                invoice.IsPaid       = false;

                _dbContext.Add(invoice);
                await _dbContext.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(invoice));
        }
예제 #2
0
        public async Task <IActionResult> PayInvoice(int invoiceId)
        {
            var invoice = _dbContext.GetInvoice(invoiceId);

            if (invoice == null)
            {
                return(NotFound(new BaseResponse(404, "Invoice was not found.")));
            }

            if (invoice.IsPaid)
            {
                return(BadRequest(new BaseResponse(400, "Invoice is already paid.")));
            }

            invoice.IsPaid = true;

            await _dbContext.SaveChangesAsync();

            return(Ok(new BaseResponse(200, "Invoice was successfuly paid.")));
        }