public PageEventVersions Update(PageEventVersions pageEventVer, int pageRouteId) { try { var pageRouteVersion = _pageRouteVersionRepository.AddOrUpdatePageRouteVersion(pageRouteId); var existingEventVer = _db.PageEventVersions.Find(pageEventVer.Id); if (existingEventVer.VersionStatusEnum == VersionStatusEnum.Approved || existingEventVer.VersionStatusEnum == VersionStatusEnum.Ignored) { pageEventVer.Id = 0; pageEventVer.VersionStatusEnum = VersionStatusEnum.Draft; pageEventVer.ChangeActionEnum = ChangeActionEnum.Update; pageEventVer.PageRouteVersionId = pageRouteVersion.Id; _db.PageEventVersions.Add(pageEventVer); } else { pageEventVer.VersionStatusEnum = VersionStatusEnum.Draft; pageEventVer.PageRouteVersionId = pageRouteVersion.Id; pageEventVer.ChangeActionEnum = existingEventVer.ChangeActionEnum == ChangeActionEnum.New ? ChangeActionEnum.New : ChangeActionEnum.Update; _db.Entry(existingEventVer).CurrentValues.SetValues(pageEventVer); } _db.SaveChanges(); return(_db.PageEventVersions.FirstOrDefault(s => s.Id == pageEventVer.Id)); } catch (Exception ex) { return(null); } }
public static PageEventVersions MapToPageEventVersion(this PageEventVersionViewModel sectionCardCreateViewModel) { PageEventVersions pageSectionVersion = new PageEventVersions(); pageSectionVersion.EnTitle = sectionCardCreateViewModel.EnTitle; pageSectionVersion.ArTitle = sectionCardCreateViewModel.ArTitle; pageSectionVersion.EnDescription = sectionCardCreateViewModel.EnDescription; pageSectionVersion.ArDescription = sectionCardCreateViewModel.ArDescription; pageSectionVersion.EnImageAlt = sectionCardCreateViewModel.EnImageAlt; pageSectionVersion.ArImageAlt = sectionCardCreateViewModel.ArImageAlt; pageSectionVersion.EnUrl = sectionCardCreateViewModel.Url; pageSectionVersion.ArUrl = sectionCardCreateViewModel.DetailUrl; pageSectionVersion.Order = sectionCardCreateViewModel.Order; pageSectionVersion.IsActive = sectionCardCreateViewModel.IsActive; pageSectionVersion.EnAddress = sectionCardCreateViewModel.EnAddress; pageSectionVersion.ArAddress = sectionCardCreateViewModel.ArAddress; pageSectionVersion.EventLocation = sectionCardCreateViewModel.EventLocation; pageSectionVersion.EventLocationUrl = sectionCardCreateViewModel.EventLocationUrl; pageSectionVersion.EventDateColor = sectionCardCreateViewModel.EventDateColor; //if (sectionCardCreateViewModel.EventDateRange != null) //{ pageSectionVersion.EventStartDate = sectionCardCreateViewModel.EventStartDate; pageSectionVersion.EventEndDate = sectionCardCreateViewModel.EventEndDate; //} pageSectionVersion.EventSocialLinks = sectionCardCreateViewModel.EventSocialLinks; pageSectionVersion.SeoTitleEN = sectionCardCreateViewModel.SeoTitleEN; pageSectionVersion.SeoTitleAR = sectionCardCreateViewModel.SeoTitleAR; pageSectionVersion.SeoDescriptionEN = sectionCardCreateViewModel.SeoDescriptionEN; pageSectionVersion.SeoDescriptionAR = sectionCardCreateViewModel.SeoDescriptionAR; pageSectionVersion.SeoOgTitleEN = sectionCardCreateViewModel.SeoOgTitleEN; pageSectionVersion.SeoOgTitleAR = sectionCardCreateViewModel.SeoOgTitleAR; pageSectionVersion.SeoTwitterCardEN = sectionCardCreateViewModel.SeoTwitterCardEN; pageSectionVersion.SeoTwitterCardAR = sectionCardCreateViewModel.SeoTwitterCardAR; pageSectionVersion.PageRouteVersionId = sectionCardCreateViewModel.PageRouteId; if (sectionCardCreateViewModel.Id > 0) { pageSectionVersion.Id = sectionCardCreateViewModel.Id; } //else // pageSectionVersion.Id = 5; return(pageSectionVersion); }
public PageEventVersions Add(PageEventVersions pageEventVer, int pageRouteId) { try { var pageRouteVersion = _pageRouteVersionRepository.AddOrUpdatePageRouteVersion(pageRouteId); pageEventVer.PageRouteVersionId = pageRouteVersion.Id; pageEventVer.VersionStatusEnum = VersionStatusEnum.Draft; pageEventVer.ChangeActionEnum = ChangeActionEnum.New; _db.PageEventVersions.Add(pageEventVer); _db.SaveChanges(); return(_db.PageEventVersions.FirstOrDefault(c => c.Id == pageEventVer.Id)); } catch (Exception ex) { return(null); } }
public async Task <IActionResult> EditAsync(PageEventVersionViewModel eventVersionViewModel) { eventVersionViewModel.EventStartDate = Convert.ToDateTime(eventVersionViewModel.EventDateRange.Split('-')[0]); eventVersionViewModel.EventEndDate = Convert.ToDateTime(eventVersionViewModel.EventDateRange.Split('-')[1]); if (ModelState.IsValid) { PageEventVersions eventVersion = eventVersionViewModel.MapToPageEventVersion(); var user = await _userManager.GetUserAsync(HttpContext.User); eventVersion.ApprovedBy = user; eventVersion.ApprovedById = user.Id.ToString(); eventVersion.ApprovalDate = DateTime.Now; eventVersion.CreationDate = DateTime.Now; if (eventVersionViewModel.Photo != null) { eventVersion.EnUrl = _fileService.UploadImageUrlNew(eventVersionViewModel.Photo); } if (eventVersionViewModel.DetailPhoto != null) { eventVersion.ArUrl = _fileService.UploadImageUrlNew(eventVersionViewModel.DetailPhoto); } PageEventVersions newEventVer = _pageEventVersionRepository.Update(eventVersion, eventVersionViewModel.PageRouteId); if (newEventVer != null) { _toastNotification.AddSuccessToastMessage(ToasrMessages.EditSuccess); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Update, "Page Event", eventVersionViewModel.EnTitle); return(RedirectToAction("Index", new { pageRouteId = eventVersionViewModel.PageRouteId })); } else { _toastNotification.AddErrorToastMessage(ToasrMessages.warning); } } return(View(eventVersionViewModel)); }