Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
        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);
        }