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)); }
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)); }