public PhotoArchiveVersion Update(PhotoArchiveVersion PhotoArchiveItem, int pageRouteId) { try { var pageRouteVersion = _pageRouteVersionRepository.AddOrUpdatePageRouteVersion(pageRouteId); var existingPhotoVer = _db.PhotoArchiveVersions.Find(PhotoArchiveItem.Id); if (existingPhotoVer.VersionStatusEnum == VersionStatusEnum.Approved || existingPhotoVer.VersionStatusEnum == VersionStatusEnum.Ignored) { PhotoArchiveItem.Id = 0; PhotoArchiveItem.VersionStatusEnum = VersionStatusEnum.Draft; PhotoArchiveItem.ChangeActionEnum = ChangeActionEnum.Update; PhotoArchiveItem.PageRouteVersionId = pageRouteVersion.Id; PhotoArchiveItem.PhotoArchiveId = existingPhotoVer.PhotoArchiveId; _db.PhotoArchiveVersions.Add(PhotoArchiveItem); } else { PhotoArchiveItem.VersionStatusEnum = VersionStatusEnum.Draft; PhotoArchiveItem.PageRouteVersionId = pageRouteVersion.Id; PhotoArchiveItem.ChangeActionEnum = PhotoArchiveItem.ChangeActionEnum == ChangeActionEnum.New ? ChangeActionEnum.New : ChangeActionEnum.Update; _db.Entry(existingPhotoVer).CurrentValues.SetValues(PhotoArchiveItem); } _db.SaveChanges(); return(_db.PhotoArchiveVersions.FirstOrDefault(s => s.Id == PhotoArchiveItem.Id)); } catch (Exception ex) { return(null); } }
public PhotoArchiveVersion AddOrUpdatePhotoArchiveVersion(int pageRouteId, int photoArchiveVersionId) { var pageRouteVersion = _pageRouteVersionRepository.AddOrUpdatePageRouteVersion(pageRouteId); var photoArchiveVersion = GetVersion(photoArchiveVersionId); if (photoArchiveVersion.VersionStatusEnum == VersionStatusEnum.Approved || photoArchiveVersion.VersionStatusEnum == VersionStatusEnum.Ignored) { var newVer = new PhotoArchiveVersion { VersionStatusEnum = VersionStatusEnum.Draft, ChangeActionEnum = ChangeActionEnum.Update, CreationDate = DateTime.Now, CreatedById = photoArchiveVersion.CreatedById, IsActive = photoArchiveVersion.IsActive, IsDeleted = false, Date = DateTime.Now, ArPhotoArchiveDesc = photoArchiveVersion.ArPhotoArchiveDesc, ArPhotoArchiveName = photoArchiveVersion.ArPhotoArchiveName, EnPhotoArchiveDesc = photoArchiveVersion.EnPhotoArchiveDesc, EnPhotoArchiveName = photoArchiveVersion.EnPhotoArchiveName, ImageUrl = photoArchiveVersion.ImageUrl, PageRouteVersionId = pageRouteVersion.Id, PhotoArchiveId = photoArchiveVersion.PhotoArchiveId, Order = photoArchiveVersion.Order, SeoDescriptionAR = photoArchiveVersion.SeoDescriptionAR, SeoDescriptionEN = photoArchiveVersion.SeoDescriptionEN, SeoOgTitleAR = photoArchiveVersion.SeoOgTitleAR, SeoOgTitleEN = photoArchiveVersion.SeoOgTitleEN, SeoTitleAR = photoArchiveVersion.SeoTitleAR, SeoTitleEN = photoArchiveVersion.SeoTitleEN, SeoTwitterCardAR = photoArchiveVersion.SeoTwitterCardAR, SeoTwitterCardEN = photoArchiveVersion.SeoTwitterCardEN, ArPhotoArchiveType = photoArchiveVersion.ArPhotoArchiveType, EnPhotoArchiveType = photoArchiveVersion.EnPhotoArchiveType }; _db.PhotoArchiveVersions.Add(newVer); _db.SaveChanges(); return(newVer); } else { photoArchiveVersion.VersionStatusEnum = VersionStatusEnum.Draft; _db.PhotoArchiveVersions.Update(photoArchiveVersion); _db.SaveChanges(); return(photoArchiveVersion); } }
public static PhotoArchiveVersion MapToPhotoArchive(this PhotoArchiveEditViewModel photoArchive) { PhotoArchiveVersion pageSectionVersion = new PhotoArchiveVersion(); pageSectionVersion.EnPhotoArchiveName = photoArchive.EnPhotoArchiveName; pageSectionVersion.ArPhotoArchiveName = photoArchive.ArPhotoArchiveName; pageSectionVersion.EnPhotoArchiveDesc = photoArchive.EnPhotoArchiveDesc; pageSectionVersion.ArPhotoArchiveDesc = photoArchive.ArPhotoArchiveDesc; pageSectionVersion.IsActive = photoArchive.IsActive; pageSectionVersion.IsDeleted = photoArchive.IsDeleted; if (photoArchive.ImageUrl != null) { pageSectionVersion.ImageUrl = photoArchive.ImageUrl; } pageSectionVersion.Order = photoArchive.Order; pageSectionVersion.EnPhotoArchiveType = photoArchive.EnPhotoArchiveType; pageSectionVersion.ArPhotoArchiveType = photoArchive.ArPhotoArchiveType; pageSectionVersion.SeoTitleEN = photoArchive.SeoTitleEN; pageSectionVersion.SeoTitleAR = photoArchive.SeoTitleAR; pageSectionVersion.SeoDescriptionEN = photoArchive.SeoDescriptionEN; pageSectionVersion.SeoDescriptionAR = photoArchive.SeoDescriptionAR; pageSectionVersion.SeoOgTitleEN = photoArchive.SeoOgTitleEN; pageSectionVersion.SeoOgTitleAR = photoArchive.SeoOgTitleAR; pageSectionVersion.SeoTwitterCardEN = photoArchive.SeoTwitterCardEN; pageSectionVersion.SeoTwitterCardAR = photoArchive.SeoTwitterCardAR; pageSectionVersion.VersionStatusEnum = photoArchive.VersionStatusEnum; pageSectionVersion.ChangeActionEnum = photoArchive.ChangeActionEnum; if (photoArchive.Id > 0) { pageSectionVersion.Id = photoArchive.Id; } return(pageSectionVersion); }
public PhotoArchiveVersion Add(PhotoArchiveVersion PhotoArchiveItem, int pageRouteId) { try { var pageRouteVersion = _pageRouteVersionRepository.AddOrUpdatePageRouteVersion(pageRouteId); PhotoArchiveItem.PageRouteVersionId = pageRouteVersion.Id; PhotoArchiveItem.VersionStatusEnum = VersionStatusEnum.Draft; PhotoArchiveItem.ChangeActionEnum = ChangeActionEnum.New; PhotoArchiveItem.Date = DateTime.Now; foreach (var photo in PhotoArchiveItem.PhotosAlbumVersions) { photo.VersionStatusEnum = VersionStatusEnum.Draft; photo.ChangeActionEnum = ChangeActionEnum.New; photo.Date = DateTime.Now; } _db.PhotoArchiveVersions.Add(PhotoArchiveItem); _db.SaveChanges(); return(_db.PhotoArchiveVersions.FirstOrDefault(c => c.Id == PhotoArchiveItem.Id)); } catch (Exception ex) { return(null); } }
private void CopyToVersion() { var photArchives = _db.PhotoArchive.Include(x => x.PhotosAlbums).ToList(); foreach (var item in photArchives) { var photoArchiveVersion = new PhotoArchiveVersion() { PageRouteVersionId = 2, ArPhotoArchiveDesc = item.ArPhotoArchiveDesc, ArPhotoArchiveName = item.ArPhotoArchiveName, ArPhotoArchiveType = item.ArPhotoArchiveType, ChangeActionEnum = ChangeActionEnum.Update, CreationDate = item.CreationDate, CreatedById = item.CreatedById, EnPhotoArchiveDesc = item.EnPhotoArchiveDesc, EnPhotoArchiveName = item.EnPhotoArchiveName, VersionStatusEnum = VersionStatusEnum.Approved, SeoTwitterCardEN = item.SeoTwitterCardEN, SeoTwitterCardAR = item.SeoTwitterCardAR, SeoTitleEN = item.SeoTitleEN, SeoTitleAR = item.SeoTitleAR, SeoOgTitleEN = item.SeoOgTitleEN, SeoOgTitleAR = item.SeoOgTitleAR, SeoDescriptionEN = item.SeoDescriptionEN, SeoDescriptionAR = item.SeoDescriptionAR, PhotoArchiveId = item.Id, Order = item.Order, IsDeleted = item.IsDeleted, IsActive = item.IsActive, ImageUrl = item.ImageUrl, EnPhotoArchiveType = item.EnPhotoArchiveType, }; _db.PhotoArchiveVersions.Add(photoArchiveVersion); _db.SaveChanges(); foreach (var innerItem in item.PhotosAlbums) { _db.PhotosAlbumVersions.Add(new PhotosAlbumVersion() { ChangeActionEnum = ChangeActionEnum.Update, CreationDate = innerItem.CreationDate, CreatedById = innerItem.CreatedById, VersionStatusEnum = VersionStatusEnum.Approved, SeoTwitterCardEN = innerItem.SeoTwitterCardEN, SeoTwitterCardAR = innerItem.SeoTwitterCardAR, SeoTitleEN = innerItem.SeoTitleEN, SeoTitleAR = innerItem.SeoTitleAR, SeoOgTitleEN = innerItem.SeoOgTitleEN, SeoOgTitleAR = innerItem.SeoOgTitleAR, SeoDescriptionEN = innerItem.SeoDescriptionEN, SeoDescriptionAR = innerItem.SeoDescriptionAR, PhotosAlbumId = innerItem.Id, Order = innerItem.Order, IsDeleted = innerItem.IsDeleted, IsActive = innerItem.IsActive, PhotoArchiveVersionId = photoArchiveVersion.Id, ImagePath = innerItem.ImagePath, ImageName = innerItem.ImageName, ArPhotosAlbumDesc = innerItem.ArPhotosAlbumDesc, ArPhotosAlbumName = innerItem.ArPhotosAlbumName, EnPhotosAlbumDesc = innerItem.EnPhotosAlbumDesc, EnPhotosAlbumName = innerItem.EnPhotosAlbumName, }); } } _db.SaveChanges(); }