예제 #1
0
        public ActionResult NewsAddEdit(int?id)
        {
            BackEndNewsAddEdit backEndNewsAddEdit = new BackEndNewsAddEdit();

            News       news = new News();
            SingleNews singleNews;

            BackEndNewsLanguagesAddEdit backEndNewsLanguagesAddEdit;

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

            if (allActiveLanguages.IsNotNull() && allActiveLanguages.Count > 0)
            {
                if (id.IsNotNull())
                {
                    List <SingleNews> backEndNewsList = news.GetNews((int)id);
                    if (backEndNewsList.IsNotNull() && backEndNewsList.Count > 0)
                    {
                        backEndNewsAddEdit.NewsId            = id;
                        backEndNewsAddEdit.NewsDate          = backEndNewsList[0].NewsDate.ToDateTimeString();
                        backEndNewsAddEdit.IsActive          = backEndNewsList[0].IsActive;
                        backEndNewsAddEdit.CategoryId        = backEndNewsList[0].CategoryId;
                        backEndNewsAddEdit.MainImageFilePath = backEndNewsList[0].MainImageFilePath;

                        foreach (Language language in allActiveLanguages)
                        {
                            backEndNewsLanguagesAddEdit = new BackEndNewsLanguagesAddEdit();
                            backEndNewsLanguagesAddEdit.LanguageCode = language.LanguageCode;
                            backEndNewsLanguagesAddEdit.LanguageName = language.LanguageName;

                            singleNews = news.GetSingleNews(id, language.LanguageCode);
                            if (singleNews.IsNotNull())
                            {
                                backEndNewsLanguagesAddEdit.NewsTitle   = singleNews.NewsTitle;
                                backEndNewsLanguagesAddEdit.NewsContent = singleNews.NewsContent;
                            }

                            backEndNewsAddEdit.NewsLanguages.Add(backEndNewsLanguagesAddEdit);
                        }
                    }
                    else
                    {
                        ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.ItemDoesNotExist);
                        ViewData.IsFormVisible(false);
                    }
                }
                else
                {
                    foreach (Language language in allActiveLanguages)
                    {
                        backEndNewsLanguagesAddEdit = new BackEndNewsLanguagesAddEdit();
                        backEndNewsLanguagesAddEdit.LanguageCode = language.LanguageCode;
                        backEndNewsLanguagesAddEdit.LanguageName = language.LanguageName;

                        backEndNewsAddEdit.NewsLanguages.Add(backEndNewsLanguagesAddEdit);
                    }
                }
            }
            else
            {
                ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
            }

            return(View(backEndNewsAddEdit));
        }
예제 #2
0
        public ActionResult NewsAddEdit(BackEndNewsAddEdit backEndNewsAddEdit)
        {
            if (ModelState.IsValidOrRefresh())
            {
                News news = new News();
                int? result;
                bool isLoopSuccessful = true;
                int? lastInsertedId   = null;
                int? currentId        = backEndNewsAddEdit.NewsId;
                foreach (BackEndNewsLanguagesAddEdit backEndNewsLanguagesAddEdit in backEndNewsAddEdit.NewsLanguages)
                {
                    if (currentId.IsNull())
                    {
                        currentId = lastInsertedId;
                    }
                    result = news.AddEdit(currentId,
                                          backEndNewsAddEdit.NewsDate.ToDateTime(),
                                          BackEndSessions.CurrentUser.UserName,
                                          backEndNewsAddEdit.IsActive,
                                          backEndNewsAddEdit.CategoryId,
                                          backEndNewsAddEdit.MainImageFilePath,
                                          backEndNewsLanguagesAddEdit.LanguageCode,
                                          backEndNewsLanguagesAddEdit.NewsTitle,
                                          backEndNewsLanguagesAddEdit.NewsContent,
                                          out lastInsertedId);
                    switch (result)
                    {
                    case 0:
                        //success
                        break;

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

                    default:
                        isLoopSuccessful = false;
                        ModelState.AddResult(ViewData, ModelStateResult.Error, Resources.Strings.UnexpectedError);
                        break;
                    }
                    if (!isLoopSuccessful)
                    {
                        break;
                    }
                }
                if (isLoopSuccessful)
                {
                    if (backEndNewsAddEdit.NewsId.IsNull())
                    {
                        ModelState.Clear();
                        backEndNewsAddEdit = new BackEndNewsAddEdit();
                        BackEndNewsLanguagesAddEdit backEndNewsLanguagesAddEdit;
                        List <Language>             allActiveLanguages = new Languages().GetAllLanguages(isActive: true);
                        foreach (Language language in allActiveLanguages)
                        {
                            backEndNewsLanguagesAddEdit = new BackEndNewsLanguagesAddEdit();
                            backEndNewsLanguagesAddEdit.LanguageCode = language.LanguageCode;
                            backEndNewsLanguagesAddEdit.LanguageName = language.LanguageName;

                            backEndNewsAddEdit.NewsLanguages.Add(backEndNewsLanguagesAddEdit);
                        }

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

            return(View(backEndNewsAddEdit));
        }