//create public static PageNewsVersion MapToPageNewsViewModel(this PageNewsCreateViewModel PageNewsCreateViewModel) { PageNewsVersion viewModel = new PageNewsVersion() { EnTitle = PageNewsCreateViewModel.News.EnTitle, ArTitle = PageNewsCreateViewModel.News.ArTitle, EnDescription = PageNewsCreateViewModel.News.EnDescription, ArDescription = PageNewsCreateViewModel.News.ArDescription, EnShortDescription = PageNewsCreateViewModel.News.EnShortDescription, ArShortDescription = PageNewsCreateViewModel.News.ArShortDescription, IsActive = PageNewsCreateViewModel.News.IsActive, Date = PageNewsCreateViewModel.News.Date, NewsTypesForNewsVersions = PageNewsCreateViewModel.MapToNewsTypeForNews() }; return(viewModel); }
public PageNewsVersion Add(PageNewsVersion pagenews, int pageRouteId) { try { var pageRouteVersion = _pageRouteVersionRepository.AddOrUpdatePageRouteVersion(pageRouteId); pagenews.PageRouteVersionId = pageRouteVersion.Id; pagenews.VersionStatusEnum = VersionStatusEnum.Draft; pagenews.ChangeActionEnum = ChangeActionEnum.New; _db.PageNewsVersions.Add(pagenews); _db.SaveChanges(); return(_db.PageNewsVersions.FirstOrDefault(c => c.Id == pagenews.Id)); } catch (Exception ex) { return(null); } }
public async Task <IActionResult> Create(PageNewsCreateViewModel NewsViewModel) { List <PageNewsType> NewsTypes; NewsViewModel.News.EnDescription.ValidateHtml("EnDescription", ModelState); NewsViewModel.News.ArDescription.ValidateHtml("ArDescription", ModelState); NewsViewModel.News.EnDescription.ValidateHtml("EnDescription", ModelState); NewsViewModel.News.ArDescription.ValidateHtml("ArDescription", ModelState); if (ModelState.IsValid) { PageNewsVersion PageNews = NewsViewModel.MapToPageNewsViewModel(); if (NewsViewModel.News.Photo != null) { PageNews.Url = _fileService.UploadImageUrlNew(NewsViewModel.News.Photo); } var user = await _userManager.GetUserAsync(HttpContext.User); PageNews.CreatedById = user.Id; PageNews.CreationDate = DateTime.Now; PageNewsVersion newPageNews = _PageNewsRepository.Add(PageNews, NewsViewModel.PageRouteId); if (newPageNews != null) { _toastNotification.AddSuccessToastMessage(ToasrMessages.AddSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Static Page > News > Add", NewsViewModel.News.EnTitle); return(RedirectToAction("Index", new { pageRouteId = NewsViewModel.PageRouteId })); } else { _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Warning, "Static Page > News > Add", NewsViewModel.News.EnTitle); _toastNotification.AddErrorToastMessage(ToasrMessages.warning); NewsTypes = _PageNewsRepository.GetPageNewsTypes(); NewsViewModel = new PageNewsCreateViewModel(NewsTypes); return(View(NewsViewModel)); } } NewsTypes = _PageNewsRepository.GetPageNewsTypes(); NewsViewModel = new PageNewsCreateViewModel(NewsTypes); return(View(NewsViewModel)); }
//edit post public static PageNewsVersion MapToPageNewsVersion(this PageNewsEditViewModel PageNewsViewModel) { PageNewsVersion pageNews = new PageNewsVersion(); pageNews.Id = PageNewsViewModel.News.Id; pageNews.EnTitle = PageNewsViewModel.News.EnTitle; pageNews.ArTitle = PageNewsViewModel.News.ArTitle; pageNews.EnDescription = PageNewsViewModel.News.EnDescription; pageNews.ArDescription = PageNewsViewModel.News.ArDescription; pageNews.EnShortDescription = PageNewsViewModel.News.EnShortDescription; pageNews.ArShortDescription = PageNewsViewModel.News.ArShortDescription; pageNews.Url = PageNewsViewModel.News.url; pageNews.IsActive = PageNewsViewModel.News.IsActive; pageNews.CreationDate = PageNewsViewModel.News.CreationDate.Value; pageNews.CreatedById = PageNewsViewModel.News.CreatedById; pageNews.Date = PageNewsViewModel.News.Date; pageNews.PageNewsId = PageNewsViewModel.News.PageNewsId; pageNews.ChangeActionEnum = PageNewsViewModel.News.ChangeActionEnum; pageNews.VersionStatusEnum = PageNewsViewModel.News.VersionStatusEnum; return(pageNews); }
public PageNewsVersion Update(PageNewsVersion pagenews, int pageRouteId) { try { var pageRouteVersion = _pageRouteVersionRepository.AddOrUpdatePageRouteVersion(pageRouteId); var existingNewsVer = _db.PageNewsVersions.Find(pagenews.Id); if (existingNewsVer.VersionStatusEnum == VersionStatusEnum.Approved || existingNewsVer.VersionStatusEnum == VersionStatusEnum.Ignored) { pagenews.Id = 0; pagenews.VersionStatusEnum = VersionStatusEnum.Draft; pagenews.ChangeActionEnum = ChangeActionEnum.Update; pagenews.PageRouteVersionId = pageRouteVersion.Id; _db.PageNewsVersions.Add(pagenews); } else { pagenews.VersionStatusEnum = VersionStatusEnum.Draft; pagenews.PageRouteVersionId = pageRouteVersion.Id; pagenews.ChangeActionEnum = pagenews.ChangeActionEnum == ChangeActionEnum.New ? ChangeActionEnum.New : ChangeActionEnum.Update; _db.Entry(existingNewsVer).CurrentValues.SetValues(pagenews); var newsTypes = _db.NewsTypesForNewsVersions.Where(d => d.PageNewsVersionId == pagenews.Id).ToList(); _db.NewsTypesForNewsVersions.RemoveRange(newsTypes); foreach (var type in pagenews.NewsTypesForNewsVersions) { type.PageNewsVersionId = pagenews.Id; } _db.NewsTypesForNewsVersions.AddRange(pagenews.NewsTypesForNewsVersions); } _db.SaveChanges(); return(_db.PageNewsVersions.FirstOrDefault(s => s.Id == pagenews.Id)); } catch (Exception ex) { return(null); } }