public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var referencePoint = await _context.ReferencePoint.SingleOrDefaultAsync(m => m.Id == id); if (referencePoint == null) { return(NotFound()); } ReferencePointViewModel referencePointViewModel = new ReferencePointViewModel() { IndicatorId = referencePoint.IndicatorId, Indicator = _context.Indicator.FirstOrDefault(i => i.Id == referencePoint.IndicatorId), Min = referencePoint.Min, Max = referencePoint.Max }; ViewData["BlocId"] = new SelectList(_context.Bloc.OrderBy(b => b.NameCode), "Id", "NameCode"); ViewData["GroupId"] = new SelectList(_context.Group.OrderBy(g => g.NameCode), "Id", "NameCode"); ViewData["IndicatorId"] = new SelectList(_context.Indicator.OrderBy(g => g.NameCode), "Id", "NameCode", referencePoint.IndicatorId); return(View(referencePointViewModel)); }
public async Task <IActionResult> Edit(int id, ReferencePointViewModel referencePointViewModel, string backlink) { ViewBag.BackLink = backlink; if (id != referencePointViewModel.Id) { return(NotFound()); } if (_context.ReferencePoint.Where(r => r.IndicatorId == referencePointViewModel.IndicatorId && r.Id != referencePointViewModel.Id).Count() > 0) { ModelState.AddModelError("IndicatorId", _sharedLocalizer["ErrorDublicateValue"]); } if (ModelState.IsValid) { try { ReferencePoint referencePoint = new ReferencePoint() { Id = referencePointViewModel.Id, IndicatorId = referencePointViewModel.IndicatorId, Min = referencePointViewModel.Min, Max = referencePointViewModel.Max }; ReferencePoint referencePoint_old = _context.ReferencePoint.AsNoTracking().FirstOrDefault(r => r.Id == referencePoint.Id); _context.Log.Add(new Log() { DateTime = DateTime.Now, Email = User.Identity.Name, Operation = "Редактирование Референтной точки", New = $"{referencePoint.Min}; {referencePoint.Max}", Old = $"{referencePoint_old.Min}; {referencePoint_old.Max}" }); _context.Update(referencePoint); await _context.SaveChangesAsync(); new IndicatorsController(_context, _sharedLocalizer).CalculateIndicatorsValues((int)referencePointViewModel.IndicatorId); } catch (DbUpdateConcurrencyException) { if (!ReferencePointExists(referencePointViewModel.Id)) { return(NotFound()); } else { throw; } } if (backlink.ToLower().Contains("referencepoint")) { return(Redirect(backlink)); } return(RedirectToAction("Index")); } ViewData["IndicatorId"] = new SelectList(_context.Indicator.OrderBy(g => g.NameCode), "Id", "NameCode", referencePointViewModel.IndicatorId); referencePointViewModel.Indicator = _context.Indicator.FirstOrDefault(i => i.Id == referencePointViewModel.IndicatorId); ViewData["BlocId"] = new SelectList(_context.Bloc.OrderBy(b => b.NameCode), "Id", "NameCode", referencePointViewModel.BlocId); ViewData["GroupId"] = new SelectList(_context.Group.OrderBy(g => g.NameCode).Where(g => g.BlocId == referencePointViewModel.BlocId), "Id", "NameCode", referencePointViewModel.GroupId); ViewData["IndicatorId"] = new SelectList(_context.Indicator.OrderBy(i => i.NameCode).Where(i => i.GroupId == referencePointViewModel.GroupId), "Id", "NameCode", referencePointViewModel.IndicatorId); return(View(referencePointViewModel)); }
public async Task <IActionResult> Create(ReferencePointViewModel referencePointViewModel, string backlink) { ViewBag.BackLink = backlink; if (_context.ReferencePoint.Where(r => r.IndicatorId == referencePointViewModel.IndicatorId).Count() > 0) { ModelState.AddModelError("IndicatorId", _sharedLocalizer["ErrorDublicateValue"]); } if (ModelState.IsValid) { ReferencePoint referencePoint = new ReferencePoint() { IndicatorId = referencePointViewModel.IndicatorId, Min = referencePointViewModel.Min, Max = referencePointViewModel.Max }; _context.Add(referencePoint); _context.Log.Add(new Log() { DateTime = DateTime.Now, Email = User.Identity.Name, Operation = "Создание Референтной точки", New = $"{referencePoint.Min}; {referencePoint.Max}", Old = "" }); await _context.SaveChangesAsync(); new IndicatorsController(_context, _sharedLocalizer).CalculateIndicatorsValues((int)referencePointViewModel.IndicatorId); if (backlink.ToLower().Contains("referencepoint")) { return(Redirect(backlink)); } return(RedirectToAction("Index")); } referencePointViewModel.Indicator = _context.Indicator.FirstOrDefault(i => i.Id == referencePointViewModel.IndicatorId); ViewData["BlocId"] = new SelectList(_context.Bloc.OrderBy(b => b.NameCode), "Id", "NameCode", referencePointViewModel.BlocId); ViewData["GroupId"] = new SelectList(_context.Group.OrderBy(g => g.NameCode).Where(g => g.BlocId == referencePointViewModel.BlocId), "Id", "NameCode", referencePointViewModel.GroupId); ViewData["IndicatorId"] = new SelectList(_context.Indicator.OrderBy(i => i.NameCode).Where(i => i.GroupId == referencePointViewModel.GroupId), "Id", "NameCode", referencePointViewModel.IndicatorId); return(View(referencePointViewModel)); }