public Boolean UpdateFeatureProfile(String oldFeatureName, String newFeatureName, String remarks) { using (DockerDBEntities dockerDBEntities = new DockerDBEntities()) { FeatureProfile fp = (from p in dockerDBEntities.FeatureProfiles where p.FeatureName == oldFeatureName select p).FirstOrDefault(); if (fp != null) { fp.FeatureName = newFeatureName; fp.FeatureRemarks = remarks; fp.LastUpdateDate = DateTime.Now; dockerDBEntities.SaveChanges(); return(true); } } return(false); }
public Boolean InsertNewFeatureProfile(String featureName, String remarks) { using (DockerDBEntities dockerDBEntities = new DockerDBEntities()) { FeatureProfile fp = (from p in dockerDBEntities.FeatureProfiles where p.FeatureName == featureName select p).FirstOrDefault(); if (fp == null) { fp = new FeatureProfile(); fp.FeatureId = Guid.NewGuid(); fp.FeatureName = featureName; fp.FeatureRemarks = remarks; fp.LastUpdateDate = DateTime.Now; dockerDBEntities.FeatureProfiles.Add(fp); dockerDBEntities.SaveChanges(); return(true); } return(false); } }
public Boolean DeleteFeatureProfile(String featureName) { using (DockerDBEntities dockerDBEntities = new DockerDBEntities()) { FeatureProfile fp = (from p in dockerDBEntities.FeatureProfiles where p.FeatureName == featureName select p).FirstOrDefault(); if (fp != null) { List <FeatureAccessProfile> accessProfilesList = (from p in dockerDBEntities.FeatureAccessProfiles where p.FeatureProfile.FeatureName == featureName select p).ToList(); foreach (var item in accessProfilesList) { dockerDBEntities.FeatureAccessProfiles.Remove(item); } dockerDBEntities.FeatureProfiles.Remove(fp); dockerDBEntities.SaveChanges(); return(true); } } return(false); }
public async Task <IActionResult> Edit(string sourceName, FeatureProfileViewModel model, string submit) { if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageTenantFeatureProfiles)) { return(Forbid()); } var featureProfilesDocument = await _featureProfilesManager.LoadFeatureProfilesDocumentAsync(); if (!featureProfilesDocument.FeatureProfiles.ContainsKey(sourceName)) { return(NotFound()); } List <FeatureRule> featureRules = null; if (ModelState.IsValid) { if (String.IsNullOrWhiteSpace(model.Name)) { ModelState.AddModelError(nameof(FeatureProfileViewModel.Name), S["The name is mandatory."]); } else if (!String.Equals(model.Name, sourceName, StringComparison.OrdinalIgnoreCase) && featureProfilesDocument.FeatureProfiles.ContainsKey(model.Name)) { ModelState.AddModelError(nameof(FeatureProfileViewModel.Name), S["A feature profile with the same name already exists."]); } if (String.IsNullOrEmpty(model.FeatureRules)) { ModelState.AddModelError(nameof(FeatureProfileViewModel.FeatureRules), S["The feature rules are mandatory."]); } else { try { featureRules = JsonConvert.DeserializeObject <List <FeatureRule> >(model.FeatureRules); } catch (Exception) { ModelState.AddModelError(nameof(FeatureProfileViewModel.FeatureRules), S["Invalid json supplied."]); } } } if (ModelState.IsValid) { var featureProfile = new FeatureProfile { FeatureRules = featureRules }; await _featureProfilesManager.RemoveFeatureProfileAsync(sourceName); await _featureProfilesManager.UpdateFeatureProfileAsync(model.Name, featureProfile); if (submit == "SaveAndContinue") { return(RedirectToAction(nameof(Edit), new { name = model.Name })); } else { return(RedirectToAction(nameof(Index))); } } // If we got this far, something failed, redisplay form return(View(model)); }