public async Task <IActionResult> PutRequest(int id, Request request) { if (id != request.Id) { return(BadRequest()); } _context.Entry(request).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RequestExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public async Task <IActionResult> PutRequestLines(int id, RequestLines requestLines) { if (id != requestLines.Id) { return(BadRequest()); } _context.Entry(requestLines).State = EntityState.Modified; try { var success = RecalcuateRequestTotal(requestLines.RequestId); await _context.SaveChangesAsync(); if (!success) { return(this.StatusCode(500)); } } catch (DbUpdateConcurrencyException) { if (!RequestLinesExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\ // CUSTOM METHODS || //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// public async Task Recalc(int id) { var request = _context.Requests.Find(id); if (request == null) { throw new Exception("Request Id not found"); } request.Total = _context.RequestLines.Where(rl => rl.RequestId == id).Sum(rl => rl.Product.Price * rl.Quantity); await _context.SaveChangesAsync(); }
public async Task <IActionResult> Create([Bind("Id,Username,Password,Firstname,Lastname,Phone,Email,IsReviewer,IsAdmin")] Users users) { if (ModelState.IsValid) { _context.Add(users); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(users)); }
public async Task <IActionResult> Create([Bind("Id,Code,Name,Address,City,State,Zip,Phone,Email")] Vendors vendors) { if (ModelState.IsValid) { _context.Add(vendors); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(vendors)); }
public async Task <IActionResult> Create([Bind("Id,PartNbr,Name,Price,Unit,PhotoPath,VendorId")] Products products) { if (ModelState.IsValid) { _context.Add(products); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["VendorId"] = new SelectList(_context.Vendors, "Id", "Name", products.VendorId); return(View(products)); }
public async Task <IActionResult> Create([Bind("Id,RequestId,ProductId,Quantity")] RequestLines requestLines) { if (ModelState.IsValid) { _context.Add(requestLines); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ProductId"] = new SelectList(_context.Products, "Id", "Name", requestLines.ProductId); ViewData["RequestId"] = new SelectList(_context.Requests, "Id", "DeliveryMode", requestLines.RequestId); return(View(requestLines)); }
public async Task <IActionResult> Create([Bind("Id,Description,Justification,DeliveryMode,Status,Total,UserId")] Requests requests) { if (ModelState.IsValid) { _context.Add(requests); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["UserId"] = new SelectList(_context.Users, "Id", "Firstname", requests.UserId); return(View(requests)); }
private async Task RecalculateTotal(int requestId) { var request = await _context.Request.FindAsync(requestId); if (request == null) { throw new Exception("Request not found."); } request.Total = (from rl in request.Requestlines select new { Subtotal = rl.Quantity * rl.Product.Price }).Sum(x => x.Subtotal); await _context.SaveChangesAsync(); }
public async Task <ActionResult <Requests> > SetStatusReview(int id) { var requests = await _context.Requests.FindAsync(id); if (requests == null) { return(NotFound()); } RecalcuateRequestTotal(id); requests.Status = (requests.Total < 50) ? "Approved" : "Review"; await _context.SaveChangesAsync(); return(Ok()); }