Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }