public IEnumerable <IContentChangeDetails> GetExpirationCommandChangeDetails(ChangeTaskViewModel model) { var interceptPropertyList = new List <string>() { "PageStopPublish", "PageArchiveLink" }; var contentChangeDetailsList = new List <IContentChangeDetails>(); try { var dictionary1 = JsonConvert.DeserializeObject <IDictionary <string, object> >(model.CurrentSettingsJson); var dictionary2 = JsonConvert.DeserializeObject <IDictionary <string, object> >(model.NewSettingsJson); foreach (var interceptProperty in interceptPropertyList) { if (dictionary1.ContainsKey(interceptProperty)) { contentChangeDetailsList.Add(new ContentChangeDetails() { Name = _localizationService.GetString("/gadget/changeapproval/expirationdatesettingcommand/" + interceptProperty.ToLowerInvariant()), OldValue = dictionary1[interceptProperty], NewValue = dictionary2[interceptProperty] }); } } } catch (Exception ex) { //_logger.Error(ex.Message); } return(contentChangeDetailsList); }
public IEnumerable <IContentChangeDetails> GetMovingChangeDetails(ChangeTaskViewModel byCommandId) { if (byCommandId == null) { return(null); } var contentChangeDetailsList = new List <IContentChangeDetails>(); try { var movingPayLoad1 = JsonConvert.DeserializeObject <MovingPayLoad>(byCommandId.CurrentSettingsJson); var movingPayLoad2 = JsonConvert.DeserializeObject <MovingPayLoad>(byCommandId.NewSettingsJson); var content1 = _contentLoaderService.Get <IContent>(movingPayLoad1.Destination, AccessLevel.Read); var content2 = _contentLoaderService.Get <IContent>(movingPayLoad2.Destination, AccessLevel.Read); contentChangeDetailsList.Add(new ContentChangeDetails() { Name = _localizationService.GetString(string.Format("{0}/path", _baseLanguagePath)), OldValue = content1?.Name, NewValue = content2?.Name }); } catch (Exception ex) { } return(contentChangeDetailsList); }
public ActionResult ChangeTask(string categoryName, string taskTitle) { if (string.IsNullOrWhiteSpace(categoryName) || string.IsNullOrWhiteSpace(taskTitle)) { return(PartialView(new ChangeTaskViewModel { IsValid = false })); } ApplicationUser user = UserManager.FindByName(User.Identity.Name); var category = user.Categories.FirstOrDefault(x => x.Name == categoryName); var taskToUpdate = category.Tasks.Where(x => x.Title == taskTitle).FirstOrDefault(); ChangeTaskViewModel model = new ChangeTaskViewModel { OldTitle = taskTitle, IsValid = false, RelatedCategory = categoryName, Text = taskToUpdate.Text }; if (category == null) { ModelState.AddModelError("", "Категория не найдена. Как вы это сделали?"); } else { model.RelatedCategory = category.Name; } if (taskToUpdate == null) { ModelState.AddModelError("", "Категория не найдена. Как вы это сделали?"); } else { model.Text = taskToUpdate.Text; } List <SelectListItem> categories = new List <SelectListItem>(); var tmp = user.Categories.ToList(); for (int i = 0; i < user.Categories.Count; ++i) { if (tmp[i].Name == categoryName) { categories.Add(new SelectListItem { Text = tmp[i].Name, Value = tmp[i].Name, Selected = true }); } else { categories.Add(new SelectListItem { Text = tmp[i].Name, Value = tmp[i].Name }); } } model.Categories = categories; return(PartialView(model)); }
public ActionResult ChangeTask(ChangeTaskViewModel updatedTask) { updatedTask.IsValid = ModelState.IsValid; ApplicationUser user = UserManager.FindByName(User.Identity.Name); var category = user.Categories.FirstOrDefault(x => x.Name == updatedTask.RelatedCategory); if ((updatedTask.OldTitle != updatedTask.NewTitle) && category.Tasks.Where(x => x.Title == updatedTask.NewTitle).Count() != 0) { ModelState.AddModelError("", "Задача с таким названием уже есть"); List <SelectListItem> categories = new List <SelectListItem>(); var tmp = user.Categories.ToList(); for (int i = 0; i < user.Categories.Count; ++i) { if (tmp[i].Name == updatedTask.RelatedCategory) { categories.Add(new SelectListItem { Text = tmp[i].Name, Value = tmp[i].Name, Selected = true }); } else { categories.Add(new SelectListItem { Text = tmp[i].Name, Value = tmp[i].Name }); } } updatedTask.Categories = categories; updatedTask.IsValid = false; } if (ModelState.IsValid) { var taskToUpdate = category.Tasks.Where(x => x.Title == updatedTask.OldTitle).FirstOrDefault(); if (updatedTask.NewCategory != category.Name) { category.Tasks.Remove(taskToUpdate); category = user.Categories.FirstOrDefault(x => x.Name == updatedTask.NewCategory); category.Tasks.Add(taskToUpdate); } taskToUpdate.Title = updatedTask.NewTitle; taskToUpdate.Text = updatedTask.Text; DbContext.SaveChanges(); updatedTask.IsValid = true; } return(PartialView(updatedTask)); }
public IEnumerable <IContentChangeDetails> GetLanguageChangeDetails(ChangeTaskViewModel command) { var contentChangeDetailsList = new List <IContentChangeDetails>(); var parent = GetParent(command.AppliedOnContentLink); var settingsFromJson1 = GetContentLanguageSettingsFromJson(command.CurrentSettingsJson); var settingsFromJson2 = GetContentLanguageSettingsFromJson(command.NewSettingsJson); var flag = !ContentReference.IsNullOrEmpty(parent); var dictionary = ((settingsFromJson2 == null ? 1 : settingsFromJson2.Count == 0 ? 1 : 0) & (flag ? 1 : 0)) != 0 ? GetLanguageSettings(parent) : settingsFromJson2; if (flag) { var str1 = _localizationService.GetString("/gadget/changeapproval/languagesettingcommand/yes"); var str2 = _localizationService.GetString("/gadget/changeapproval/languagesettingcommand/no"); contentChangeDetailsList.Add((IContentChangeDetails) new ContentChangeDetails() { Name = _localizationService.GetString("/gadget/changeapproval/languagesettingcommand/inheritsettingsfromtheparentpage"), OldValue = settingsFromJson1.Values.Any((Func <ContentLanguageSetting, bool>)(st => st.DefinedOnContent.CompareToIgnoreWorkID(command.AppliedOnContentLink))) ? str2 : str1, NewValue = dictionary.Values.Any((Func <ContentLanguageSetting, bool>)(st => st.DefinedOnContent.CompareToIgnoreWorkID(command.AppliedOnContentLink))) ? str2 : str1 }); } var currentLangs = settingsFromJson1.Where <KeyValuePair <string, ContentLanguageSetting> >((Func <KeyValuePair <string, ContentLanguageSetting>, bool>)(s => s.Value.IsActive)).Select <KeyValuePair <string, ContentLanguageSetting>, string>((Func <KeyValuePair <string, ContentLanguageSetting>, string>)(s => s.Value.LanguageBranch)); var newLangs = dictionary.Where((Func <KeyValuePair <string, ContentLanguageSetting>, bool>)(s => s.Value.IsActive)).Select <KeyValuePair <string, ContentLanguageSetting>, string>((Func <KeyValuePair <string, ContentLanguageSetting>, string>)(s => s.Value.LanguageBranch)); contentChangeDetailsList.Add(new ContentChangeDetails() { Name = _localizationService.GetString("/gadget/changeapproval/languagesettingcommand/availableLanguages"), OldValue = FormatLanguageSettingsChange(currentLangs, newLangs, true), NewValue = FormatLanguageSettingsChange(currentLangs, newLangs, false) }); var str3 = OldFallbackLanguagesToString(settingsFromJson1, dictionary); var str4 = NewFallbackLanguagesToString(settingsFromJson1, dictionary); contentChangeDetailsList.Add((IContentChangeDetails) new ContentChangeDetails() { Name = _localizationService.GetString("/gadget/changeapproval/languagesettingcommand/fallbacklanguages"), OldValue = str3, NewValue = str4 }); var str5 = OldReplacementLanguagesToString(settingsFromJson1, dictionary); var str6 = NewReplacementLanguagesToString(settingsFromJson1, dictionary); contentChangeDetailsList.Add(new ContentChangeDetails() { Name = _localizationService.GetString("/gadget/changeapproval/languagesettingcommand/replacementlanguages"), OldValue = str5, NewValue = str6 }); return(contentChangeDetailsList); }