public ActionResult SubCategoryEdit(int?id, int raceCategoryId) { Models.Race.RaceCategory.SubCategory.SubCategoryViewModel model; if (id.HasValue) { model = new Models.Race.RaceCategory.SubCategory.SubCategoryViewModel(RaceSubCategoryRepository.GetById(id.Value)); } else { model = new Models.Race.RaceCategory.SubCategory.SubCategoryViewModel() { RaceCategoryId = raceCategoryId } }; return(PartialView("/Views/Race/Category/SubCategory/Edit.cshtml", model)); }
public ActionResult SubCategoryEdit(Models.Race.RaceCategory.SubCategory.SubCategoryViewModel model) { if (ModelState.IsValid) { Data.Models.RaceSubCategory raceSubCategory; if (!model.Id.HasValue) { raceSubCategory = new Data.Models.RaceSubCategory(); raceSubCategory.RaceCategoryId = model.RaceCategoryId; } else { raceSubCategory = RaceSubCategoryRepository.GetById(model.Id.Value); } raceSubCategory.Name = model.Name; raceSubCategory.AgeFrom = model.AgeFrom; raceSubCategory.AgeTo = model.AgeTo; if (model.SelectedGenders != null) { var items = raceSubCategory.AllowedGenders.ToList(); foreach (var item in items) { if (!model.SelectedGenders.Contains(item.Id.ToString())) { raceSubCategory.AllowedGenders.Remove(item); } } foreach (var item in model.SelectedGenders) { if (raceSubCategory.AllowedGenders.Count(x => x.Id == Convert.ToInt32(item)) == 0) { raceSubCategory.AllowedGenders.Add(EGenderRepository.GetById(Convert.ToInt32(item))); } } } else { var items = raceSubCategory.AllowedGenders.ToList(); foreach (var item in items) { raceSubCategory.AllowedGenders.Remove(item); } } if (model.Id.HasValue) { RaceSubCategoryRepository.Update(raceSubCategory, true); } else { RaceSubCategoryRepository.Create(raceSubCategory, true); } return(Content("OK")); } return(PartialView("/Views/Race/Category/SubCategory/Edit.cshtml", model)); }