public SubCategoryViewModel(Data.Models.RaceSubCategory raceSubCategory) { if (raceSubCategory != null) { Id = raceSubCategory.Id; RaceCategoryId = raceSubCategory.RaceCategoryId; Name = raceSubCategory.Name; AgeFrom = raceSubCategory.AgeFrom; AgeTo = raceSubCategory.AgeTo; possibleGenders = new SelectList(new DropDown.EGenderDropDownModel().items, "Value", "Text"); SelectedGenders = raceSubCategory.AllowedGenders.Select(x => x.Id.ToString()).ToList(); GendersText = string.Join(",", raceSubCategory.AllowedGenders.Select(x => x.Name)); } }
public SubCategoryGridRow(Data.Models.RaceSubCategory raceSubCategory) { this.raceSubCategory = raceSubCategory; }
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)); }