コード例 #1
0
        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());
        }
コード例 #2
0
        /// <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));
            }
        }