public ActionResult Create(FranchiseSet franchiseset) { if (ModelState.IsValid) { franchisesetRepository.InsertOrUpdate(franchiseset); franchisesetRepository.Save(); return RedirectToAction("Index"); } else { return View(); } }
public void InsertOrUpdate(FranchiseSet franchiseset) { if (franchiseset.FranchiseSetID == default(int)) { // New entity context.FranchiseSets.Add(franchiseset); } else { // Existing entity context.Entry(franchiseset).State = EntityState.Modified; } }
private void UpdateFranchiseSetFeatures(string[] selectedFeatures, FranchiseSet franchiseSetToUpdate) { if (selectedFeatures == null) { franchiseSetToUpdate.Features = new List<Feature>(); return; } var selectedFeaturesHS = new HashSet<string>(selectedFeatures); var franchiseSetFeatures = new HashSet<int> (franchiseSetToUpdate.Features.Select(c => c.FeatureID)); foreach (var feature in db.Features) { if (selectedFeaturesHS.Contains(feature.FeatureID.ToString())) { if (!franchiseSetFeatures.Contains(feature.FeatureID)) { franchiseSetToUpdate.Features.Add(feature); } } else { if (franchiseSetFeatures.Contains(feature.FeatureID)) { franchiseSetToUpdate.Features.Remove(feature); } } } }
//*********** PRIVATE METHODS *************8 private void PopulateAssignedFeatureData(FranchiseSet franchiseSet) { var allFeatures = db.Features; var franchiseSetFranchises = new HashSet<int>(franchiseSet.Features.Select(c => c.FeatureID)); var viewModel = new List<AssignedFeatureData>(); foreach (var feature in allFeatures) { viewModel.Add(new AssignedFeatureData { FeatureID = feature.FeatureID, Name = feature.FeatureName, Assigned = franchiseSetFranchises.Contains(feature.FeatureID) }); } ViewBag.Features = viewModel; }