示例#1
0
        public ActionResult NewsCategoriesAddEdit(BackEndNewsCategoryAddEdit backEndNewsCategoryAddEdit)
        {
            if (ModelState.IsValidOrRefresh())
            {
                NewsCategories newsCategories = new NewsCategories();
                int?           result;
                bool           isLoopSuccessful = true;
                int?           lastInsertedId   = null;
                int?           currentId        = backEndNewsCategoryAddEdit.CategoryId;
                foreach (BackEndNewsCategoryLanguagesAddEdit backEndNewsCategoryLanguagesAddEdit in backEndNewsCategoryAddEdit.NewsCategoryLanguages)
                {
                    if (currentId.IsNull())
                    {
                        currentId = lastInsertedId;
                    }
                    result = newsCategories.AddEdit(currentId,
                                                    backEndNewsCategoryLanguagesAddEdit.LanguageCode,
                                                    backEndNewsCategoryAddEdit.IsActive,
                                                    backEndNewsCategoryLanguagesAddEdit.CategoryName,
                                                    out lastInsertedId);
                    switch (result)
                    {
                    case 0:
                        //success
                        break;

                    case 2:
                        isLoopSuccessful = false;
                        ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                        ViewData.IsFormVisible(false);
                        break;

                    case 3:
                        isLoopSuccessful = false;
                        ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings_News.CategoryNameAlreadyExists + " (" + backEndNewsCategoryLanguagesAddEdit.LanguageName + ")");
                        break;

                    default:
                        isLoopSuccessful = false;
                        ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
                        break;
                    }
                    if (!isLoopSuccessful)
                    {
                        break;
                    }
                }
                if (isLoopSuccessful)
                {
                    News news = new News();
                    news.ForceCache();

                    if (backEndNewsCategoryAddEdit.CategoryId.IsNull())
                    {
                        ModelState.Clear();
                        backEndNewsCategoryAddEdit = new BackEndNewsCategoryAddEdit();
                        BackEndNewsCategoryLanguagesAddEdit backEndNewsCategoryLanguagesAddEdit;
                        List <Language> allActiveLanguages = new Languages().GetAllLanguages(isActive: true);
                        foreach (Language language in allActiveLanguages)
                        {
                            backEndNewsCategoryLanguagesAddEdit = new BackEndNewsCategoryLanguagesAddEdit();
                            backEndNewsCategoryLanguagesAddEdit.LanguageCode = language.LanguageCode;
                            backEndNewsCategoryLanguagesAddEdit.LanguageName = language.LanguageName;

                            backEndNewsCategoryAddEdit.NewsCategoryLanguages.Add(backEndNewsCategoryLanguagesAddEdit);
                        }

                        ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.ItemSuccessfullyAdded);
                    }
                    else
                    {
                        ModelState.AddResult(ViewData, ModelStateResult.Success, Resources.Strings.ItemSuccessfullyEdited);
                    }
                }
            }

            return(View(backEndNewsCategoryAddEdit));
        }
示例#2
0
        public ActionResult NewsCategoriesAddEdit(int?id)
        {
            BackEndNewsCategoryAddEdit backEndNewsCategoryAddEdit = new BackEndNewsCategoryAddEdit();

            NewsCategories newsCategories = new NewsCategories();
            NewsCategory   newsCategory;

            BackEndNewsCategoryLanguagesAddEdit backEndNewsCategoryLanguagesAddEdit;

            List <Language> allActiveLanguages = new Languages().GetAllLanguages(isActive: true);

            if (allActiveLanguages.IsNotNull() && allActiveLanguages.Count > 0)
            {
                if (id.IsNotNull())
                {
                    List <NewsCategory> backEndNewsCategoryList = newsCategories.GetNewsCategories(id);
                    if (backEndNewsCategoryList.IsNotNull() && backEndNewsCategoryList.Count > 0)
                    {
                        backEndNewsCategoryAddEdit.CategoryId = id;
                        backEndNewsCategoryAddEdit.IsActive   = backEndNewsCategoryList[0].IsActive;

                        foreach (Language language in allActiveLanguages)
                        {
                            backEndNewsCategoryLanguagesAddEdit = new BackEndNewsCategoryLanguagesAddEdit();
                            backEndNewsCategoryLanguagesAddEdit.LanguageCode = language.LanguageCode;
                            backEndNewsCategoryLanguagesAddEdit.LanguageName = language.LanguageName;

                            newsCategory = newsCategories.GetNewsCategory(id, language.LanguageCode);
                            if (newsCategory.IsNotNull())
                            {
                                backEndNewsCategoryLanguagesAddEdit.CategoryName = newsCategory.CategoryName;
                            }

                            backEndNewsCategoryAddEdit.NewsCategoryLanguages.Add(backEndNewsCategoryLanguagesAddEdit);
                        }
                    }
                    else
                    {
                        ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                        ViewData.IsFormVisible(false);
                    }
                }
                else
                {
                    foreach (Language language in allActiveLanguages)
                    {
                        backEndNewsCategoryLanguagesAddEdit = new BackEndNewsCategoryLanguagesAddEdit();
                        backEndNewsCategoryLanguagesAddEdit.LanguageCode = language.LanguageCode;
                        backEndNewsCategoryLanguagesAddEdit.LanguageName = language.LanguageName;

                        backEndNewsCategoryAddEdit.NewsCategoryLanguages.Add(backEndNewsCategoryLanguagesAddEdit);
                    }
                }
            }
            else
            {
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
            }

            return(View(backEndNewsCategoryAddEdit));
        }