public async Task <IActionResult> Edit(int id, [Bind("WarrantyDetailID,Date,DefectInfo,Status,WarrantyCardID")] WarrantyDetail warrantyDetail) { if (id != warrantyDetail.WarrantyDetailID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(warrantyDetail); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!WarrantyDetailExists(warrantyDetail.WarrantyDetailID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["WarrantyCardID"] = new SelectList(_context.WarrantyCard, "WarrantyCardID", "NumberOfWarranty", warrantyDetail.WarrantyCardID); return(View(warrantyDetail)); }
public async Task <IActionResult> Create([Bind("WarrantyDetailID,Date,DefectInfo,Status,WarrantyCardID")] WarrantyDetail warrantyDetail) { if (ModelState.IsValid) { _context.Add(warrantyDetail); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["WarrantyCardID"] = new SelectList(_context.WarrantyCard, "WarrantyCardID", "NumberOfWarranty", warrantyDetail.WarrantyCardID); return(View(warrantyDetail)); }
public async Task <IActionResult> CreateWarrantyDetail(WarrantyCardViewModel warrantyCardVm) { var warrantyCard = await _context.WarrantyCard.Include(m => m.Item).ThenInclude(m => m.Model).SingleOrDefaultAsync(m => m.WarrantyCardID == warrantyCardVm.WarrantyDetail.WarrantyCardID); if (warrantyCard == null) { return(NotFound()); } if (ModelState.IsValid) { var returnDeadline = await _context.Constant.SingleAsync(m => m.ConstantID == 1); var anyReturnItem = await _context.ReturnItem.Where(m => m.OldItemID == warrantyCard.ItemID).AnyAsync(); var anyWatingWarrant = await _context.WarrantyDetail.Where(m => ( (m.WarrantyCardID == warrantyCard.WarrantyCardID) && ( m.Status == WarrantyDetailStatus.Fixing || m.Status == WarrantyDetailStatus.Fixed))).AnyAsync(); if (warrantyCard.CanWarrant() && !anyReturnItem && !anyWatingWarrant && warrantyCard.IsPrinted) { var warrantyDetail = new WarrantyDetail(); warrantyDetail.Date = DateTime.Now; warrantyDetail.DefectInfo = warrantyCardVm.WarrantyDetail.DefectInfo; warrantyDetail.ExpectedDate = warrantyCardVm.WarrantyDetail.ExpectedDate; warrantyDetail.ReturnedDate = null; warrantyDetail.Status = WarrantyDetailStatus.Fixing; warrantyDetail.WarrantyCardID = warrantyCardVm.WarrantyDetail.WarrantyCardID; warrantyDetail.WarrantyDate = null; warrantyDetail.IsPrinted = false; warrantyDetail.ApplicationUserID = _userManager.GetUserId(User); warrantyCard.NumberOfWarranty += 1; _context.Update(warrantyCard); _context.Update(warrantyDetail); await _context.SaveChangesAsync(); } else { ViewData["ErrorText"] = "Khong the them chi tiet bao hanh"; return(View("ErrorPage")); } } return(RedirectToAction(nameof(Detail), "WarrantyCards", new { id = warrantyCardVm.WarrantyDetail.WarrantyCardID })); }