public async Task <IActionResult> Create(CreateEventViewModel model) { if (ModelState.IsValid) { Worker currentWorker = await _userManager.FindByNameAsync(User.Identity.Name); if (currentWorker == null) { return(BadRequest()); } Event ev = new Event { CheckId = model.SelectedCheckId ?? 0, FailReason = model.FailReason, Description = model.Description, ResponsWorker = model.ResponseWorker, DueDate = model.DueDate, IsActive = true, IsCorrect = true, Developer = currentWorker.Id, DevelopDate = DateTime.Now }; db.Events.Add(ev); try { await db.SaveChangesAsync(); return(RedirectToAction("Index")); } catch (Exception e) { ModelState.AddModelError("", "Ошибка добавления"); } } int pageSize = 10; IQueryable <Check> checks = db.Check.Include(c => c.RegWorkerNavigation) .Include(c => c.RegWorkerNavigation.Sector) .Include(c => c.RegWorkerNavigation.Sector.Subunit) .Include(c => c.Sector) .Include(c => c.Sector.Subunit) .Include(c => c.Shows); checks = checks.Where(c => c.IsActive && c.IsCorrect && c.IsFail && c.Shows.Count > 0); var count = await checks.CountAsync(); model.Checks = await checks.Take(pageSize).ToListAsync(); model.PageViewModel = new PageViewModel(count, 1, pageSize); model.SortViewModel = new SortCheckViewModel(SortStateCheck.FailCountAsc); model.FilterViewModel = new FilterCheckViewModel(db.Subunits.ToList(), db.Sectors.ToList(), 0, 0, ""); return(View(model)); }
public async Task <IActionResult> Create(CreateCheckViewModel model) { if (ModelState.IsValid) { string checkDate = model.CheckDate.ToString("yyMMdd"); int num = 1; string failCount; do { failCount = checkDate + num.ToString().PadLeft(2, '0'); ++num; } while (db.Check.Any(c => c.FailCount == failCount)); Worker worker = await _userManager.FindByNameAsync(User.Identity.Name); if (worker == null) { return(BadRequest()); } Check check = new Check { FailCount = failCount, RegWorker = worker.Id, SectorId = model.SectorId, RegDate = DateTime.Now, CheckDate = model.CheckDate, CheckWorker = "null", TdKd = model.TDKD, ControlIndicator = model.ControlIndicator, FailDescription = model.FailDesc, IsActive = true, IsCorrect = true, IsFail = model.isFail }; db.Check.Add(check); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } model.FillLists(db); return(View(model)); }