예제 #1
0
 public void ValidatePrefix(ModelPrefix modelPrefix, ModelStateDictionary ms)
 {
     if (_context.ModelPrefixes.Any(g => g.Value == modelPrefix.Value))
     {
         ms.AddModelError("Value", "Даний префікс назви не є унікальним");
         ms["Value"].ValidationState = ModelValidationState.Invalid;
     }
 }
예제 #2
0
        public async Task OnPostCreate([Bind("Value")] ModelPrefix modelPrefix)
        {
            ValidatePrefix(modelPrefix, ModelState);
            if (ModelState.IsValid)
            {
                _context.ModelPrefixes.Add(modelPrefix);
                await _context.SaveChangesAsync();
            }

            Prefixes = await _context.ModelPrefixes.ToListAsync();
        }
예제 #3
0
        public async Task OnPostEdit([Bind("Id, Value")] ModelPrefix modelPrefix)
        {
            var oldPrefix = _context.ModelPrefixes.AsNoTracking().SingleOrDefault(p => p.Id == modelPrefix.Id);

            if (ModelState.IsValid)
            {
                if (!modelPrefix.Equals(oldPrefix) && !_context.ModelPrefixes.Any(p => p.Value == modelPrefix.Value && p.Id != modelPrefix.Id))
                {
                    oldPrefix = modelPrefix;
                    _context.ModelPrefixes.Update(oldPrefix);
                    await _context.SaveChangesAsync();
                }
                else
                {
                    ModelState.AddModelError("Value", "Даний префікс назви не є унікальним");
                    ModelState["Value"].ValidationState = ModelValidationState.Invalid;
                }
            }
            Prefixes = await _context.ModelPrefixes.ToListAsync();
        }