Esempio n. 1
0
        //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);
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        //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);
        }
Esempio n. 5
0
 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);
     }
 }