public IActionResult Edit(UnitEditViewModel model) { if (ModelState.IsValid) { Units unit = unitRepository.GetUnits(model.Id); unit.Name = model.Name; unit.Attack = model.Attack; unit.Defense = model.Defense; unit.min_Damage = model.min_Damage; unit.max_Damage = model.max_Damage; unit.Health = model.Health; unit.Faction = model.Faction; if (model.Photo != null) { if (model.ExistingPhotoPath != null) { string filePath = Path.Combine("wwwroot/images", model.ExistingPhotoPath); System.IO.File.Delete(filePath); } unit.PhotoPath = ProcessUpload(model); } unitRepository.Update(unit); return(RedirectToAction("list")); } return(View()); }
/// <summary> /// Оновлює одиницю виміру /// </summary> /// <param name="unitDto">Екземпляр одиниці виміру</param> public void UpdateUnit(UnitsDtoModel unitDto) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <UnitsDtoModel, UnitsModel>()).CreateMapper(); UnitsModel unit = mapper.Map <UnitsModel>(unitDto); var results = unitsValidator.Validate(unit); if (results.IsValid) { unitsRepository.Update(unit); } else { throw new Exception("Помилка валідації одиниці виміру: " + Environment.NewLine + ValidationResultsHelper.GetValidationErrors(results)); } }