public async Task <IActionResult> Edit(int id, InvoiceClientProjectViewModel model) { if (id != model.Invoice.InvoiceID) { return(NotFound()); } if (ModelState.IsValid) { var invoiceFromDB = await _context.Invoice.FindAsync(model.Invoice.InvoiceID); invoiceFromDB.InvoicePrice = model.Invoice.InvoicePrice; invoiceFromDB.InvoiceDate = model.Invoice.InvoiceDate; invoiceFromDB.InvoiceExpiry = model.Invoice.InvoiceExpiry; invoiceFromDB.InvoiceNumber = model.Invoice.InvoiceNumber; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } InvoiceClientProjectViewModel modelVM = new InvoiceClientProjectViewModel() { ProjectList = await _context.Project.ToListAsync(), Invoice = model.Invoice }; return(View(modelVM)); }
public async Task <IActionResult> Create() { InvoiceClientProjectViewModel model = new InvoiceClientProjectViewModel() { ProjectList = await _context.Project.ToListAsync(), Invoice = new Models.Invoice() }; return(View(model)); }
public async Task <IActionResult> Create(Invoice invoice) { if (ModelState.IsValid) { DateTime dDate = new DateTime(0001, 01, 01); DateTime nDate = DateTime.Today; if (invoice.InvoiceDate == dDate) { if (invoice.InvoiceExpiry == dDate) { var clientID = _context.Project.Where(s => s.ProjectID == invoice.ProjectID).Select(s => s.ClientID).FirstOrDefault(); var invoicePrice = _context.Project.Where(s => s.ProjectID == invoice.ProjectID).Select(s => s.OffertePrice).FirstOrDefault(); invoice.InvoicePrice = invoicePrice; invoice.ClientID = clientID; invoice.InvoiceExpiry = nDate.AddMonths(1); invoice.InvoiceDate = nDate; _context.Add(invoice); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } else { var clientID = _context.Project.Where(s => s.ProjectID == invoice.ProjectID).Select(s => s.ClientID).FirstOrDefault(); var invoicePrice = _context.Project.Where(s => s.ProjectID == invoice.ProjectID).Select(s => s.OffertePrice).FirstOrDefault(); invoice.InvoiceDate = nDate; invoice.InvoicePrice = invoicePrice; invoice.ClientID = clientID; _context.Add(invoice); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } else { var clientID = _context.Project.Where(s => s.ProjectID == invoice.ProjectID).Select(s => s.ClientID).FirstOrDefault(); var invoicePrice = _context.Project.Where(s => s.ProjectID == invoice.ProjectID).Select(s => s.OffertePrice).FirstOrDefault(); invoice.InvoicePrice = invoicePrice; invoice.ClientID = clientID; _context.Add(invoice); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } InvoiceClientProjectViewModel model = new InvoiceClientProjectViewModel() { ProjectList = await _context.Project.ToListAsync(), Invoice = invoice }; return(View(model)); }