public static PhotoArchiveEditViewModel MapToSctionCardViewModel(this PhotoArchive pgMinisty) { PhotoArchiveEditViewModel viewModel = new PhotoArchiveEditViewModel() { Id = pgMinisty.Id, EnPhotoArchiveName = pgMinisty.EnPhotoArchiveName, ArPhotoArchiveName = pgMinisty.ArPhotoArchiveName, EnPhotoArchiveDesc = pgMinisty.EnPhotoArchiveDesc, ArPhotoArchiveDesc = pgMinisty.ArPhotoArchiveDesc, IsActive = pgMinisty.IsActive, Order = pgMinisty.Order, IsDeleted = pgMinisty.IsDeleted, ImageUrl = pgMinisty.ImageUrl, SeoTitleEN = pgMinisty.SeoTitleEN, SeoTitleAR = pgMinisty.SeoTitleAR, SeoDescriptionEN = pgMinisty.SeoDescriptionEN, SeoDescriptionAR = pgMinisty.SeoDescriptionAR, SeoOgTitleEN = pgMinisty.SeoOgTitleEN, SeoOgTitleAR = pgMinisty.SeoOgTitleAR, SeoTwitterCardEN = pgMinisty.SeoTwitterCardEN, SeoTwitterCardAR = pgMinisty.SeoTwitterCardAR, EnPhotoArchiveType = pgMinisty.EnPhotoArchiveType, ArPhotoArchiveType = pgMinisty.ArPhotoArchiveType }; return(viewModel); }
private void AddPhotosAlbum(PhotoArchive photoArchive, List <PhotosAlbumVersion> photosAlbumVersion = null) { if (photosAlbumVersion == null) { var photoArchiveVersions = _db.PhotoArchiveVersions.Where(x => x.PhotoArchiveId == photoArchive.Id && !x.IsDeleted && x.IsActive && x.VersionStatusEnum != VersionStatusEnum.Ignored).Select(x => x.Id).ToList(); var photosAlbumsVersion = _db.PhotosAlbumVersions.Where(x => photoArchiveVersions.Contains(x.PhotoArchiveVersionId)).ToList(); var notMapedToAlbum = photosAlbumsVersion.Where(x => x.PhotosAlbumId == null); var mappedToAlpum = photosAlbumsVersion.Where(x => x.PhotosAlbumId != null).GroupBy(x => x.PhotosAlbumId).Select(g => g.OrderByDescending(c => c.Id).FirstOrDefault()).ToList(); mappedToAlpum.AddRange(notMapedToAlbum); foreach (var item in mappedToAlpum) { var newPhotoAlbum = new PhotosAlbum() { PhotoArchiveId = photoArchive.Id, Order = item.Order, ImageName = item.ImageName, ImagePath = item.ImagePath, SeoTwitterCardEN = item.SeoTwitterCardEN, SeoTwitterCardAR = item.SeoTwitterCardAR, SeoTitleEN = item.SeoTitleEN, SeoTitleAR = item.SeoTitleAR, SeoOgTitleEN = item.SeoOgTitleEN, SeoOgTitleAR = item.SeoOgTitleAR, SeoDescriptionEN = item.SeoDescriptionEN, SeoDescriptionAR = item.SeoDescriptionAR, IsActive = item.IsActive, ArPhotosAlbumDesc = item.ArPhotosAlbumDesc, ArPhotosAlbumName = item.ArPhotosAlbumName, CreationDate = item.CreationDate, CreatedById = item.CreatedById, IsDeleted = item.IsDeleted, EnPhotosAlbumDesc = item.EnPhotosAlbumDesc, EnPhotosAlbumName = item.EnPhotosAlbumName, }; _db.PhotosAlbum.Add(newPhotoAlbum); _db.SaveChanges(); item.PhotosAlbumId = newPhotoAlbum.Id; } } else { foreach (var item in photosAlbumVersion) { var newPhotoAlbum = new PhotosAlbum() { PhotoArchiveId = photoArchive.Id, Order = item.Order, ImageName = item.ImageName, ImagePath = item.ImagePath, SeoTwitterCardEN = item.SeoTwitterCardEN, SeoTwitterCardAR = item.SeoTwitterCardAR, SeoTitleEN = item.SeoTitleEN, SeoTitleAR = item.SeoTitleAR, SeoOgTitleEN = item.SeoOgTitleEN, SeoOgTitleAR = item.SeoOgTitleAR, SeoDescriptionEN = item.SeoDescriptionEN, SeoDescriptionAR = item.SeoDescriptionAR, IsActive = item.IsActive, ArPhotosAlbumDesc = item.ArPhotosAlbumDesc, ArPhotosAlbumName = item.ArPhotosAlbumName, CreationDate = item.CreationDate, CreatedById = item.CreatedById, IsDeleted = item.IsDeleted, EnPhotosAlbumDesc = item.EnPhotosAlbumDesc, EnPhotosAlbumName = item.EnPhotosAlbumName, }; _db.PhotosAlbum.Add(newPhotoAlbum); _db.SaveChanges(); item.PhotosAlbumId = newPhotoAlbum.Id; } } _db.SaveChanges(); }
private void DeletePhotosAlbum(PhotoArchive photoArchive) { photoArchive.PhotosAlbums.ToList().ForEach(x => x.IsDeleted = true); _db.SaveChanges(); }
public bool Approve(int id, int approvalId, string userId) { var photoarchiveVer = _db.PhotoArchiveVersions.Include(x => x.PhotosAlbumVersions).FirstOrDefault(d => d.Id == id); if (photoarchiveVer != null) { var pageRouteId = _db.PageRouteVersions.Find(photoarchiveVer.PageRouteVersionId).PageRouteId; PhotoArchive photoArchive; var photosAlbumsVersion = photoarchiveVer.PhotosAlbumVersions; if (photoarchiveVer.ChangeActionEnum == ChangeActionEnum.New) { photoArchive = new PhotoArchive { ApprovalDate = DateTime.Now, ApprovedById = userId, CreatedById = photoarchiveVer.CreatedById, CreationDate = photoarchiveVer.CreationDate, IsActive = photoarchiveVer.IsActive, SeoTwitterCardEN = photoarchiveVer.SeoTwitterCardEN, SeoTwitterCardAR = photoarchiveVer.SeoTwitterCardAR, SeoTitleEN = photoarchiveVer.SeoTitleEN, SeoTitleAR = photoarchiveVer.SeoTitleAR, SeoOgTitleEN = photoarchiveVer.SeoOgTitleEN, SeoOgTitleAR = photoarchiveVer.SeoOgTitleAR, SeoDescriptionEN = photoarchiveVer.SeoDescriptionEN, SeoDescriptionAR = photoarchiveVer.SeoDescriptionAR, Order = photoarchiveVer.Order, ArPhotoArchiveDesc = photoarchiveVer.ArPhotoArchiveDesc, ArPhotoArchiveName = photoarchiveVer.ArPhotoArchiveName, ArPhotoArchiveType = photoarchiveVer.ArPhotoArchiveType, EnPhotoArchiveDesc = photoarchiveVer.EnPhotoArchiveDesc, EnPhotoArchiveName = photoarchiveVer.EnPhotoArchiveName, EnPhotoArchiveType = photoarchiveVer.EnPhotoArchiveType, ImageUrl = photoarchiveVer.ImageUrl, IsDeleted = false, PageRouteId = pageRouteId, }; _db.PhotoArchive.Add(photoArchive); _db.SaveChanges(); photoArchive = _db.PhotoArchive.FirstOrDefault(x => x.Id == photoArchive.Id); AddPhotosAlbum(photoArchive, photoarchiveVer.PhotosAlbumVersions.ToList()); if (photoArchive.IsActive) { _photoArchiveElasticSearchService.AddAsync(photoArchive); } } else if (photoarchiveVer.ChangeActionEnum == ChangeActionEnum.Update) { photoArchive = _db.PhotoArchive.FirstOrDefault(x => x.Id == photoarchiveVer.PhotoArchiveId); photoArchive.ApprovalDate = DateTime.Now; photoArchive.ApprovedById = userId; photoArchive.ApprovalDate = DateTime.Now; photoArchive.ApprovedById = photoArchive.ApprovedById; photoArchive.CreatedById = photoarchiveVer.CreatedById; photoArchive.CreationDate = photoarchiveVer.CreationDate; photoArchive.IsActive = photoarchiveVer.IsActive; photoArchive.IsDeleted = photoarchiveVer.IsDeleted; photoArchive.SeoTwitterCardEN = photoarchiveVer.SeoTwitterCardEN; photoArchive.SeoTwitterCardAR = photoarchiveVer.SeoTwitterCardAR; photoArchive.SeoTitleEN = photoarchiveVer.SeoTitleEN; photoArchive.SeoTitleAR = photoarchiveVer.SeoTitleAR; photoArchive.SeoOgTitleEN = photoarchiveVer.SeoOgTitleEN; photoArchive.SeoOgTitleAR = photoarchiveVer.SeoOgTitleAR; photoArchive.SeoDescriptionEN = photoarchiveVer.SeoDescriptionEN; photoArchive.SeoDescriptionAR = photoarchiveVer.SeoDescriptionAR; photoArchive.Order = photoarchiveVer.Order; photoArchive.ArPhotoArchiveDesc = photoarchiveVer.ArPhotoArchiveDesc; photoArchive.ArPhotoArchiveName = photoarchiveVer.ArPhotoArchiveName; photoArchive.ArPhotoArchiveType = photoarchiveVer.ArPhotoArchiveType; photoArchive.EnPhotoArchiveDesc = photoarchiveVer.EnPhotoArchiveDesc; photoArchive.EnPhotoArchiveName = photoarchiveVer.EnPhotoArchiveName; photoArchive.EnPhotoArchiveType = photoarchiveVer.EnPhotoArchiveType; _db.PhotoArchive.Update(photoArchive); _db.SaveChanges(); photoArchive = _db.PhotoArchive.Include(x => x.PhotosAlbums).FirstOrDefault(x => x.Id == photoArchive.Id); DeletePhotosAlbum(photoArchive); AddPhotosAlbum(photoArchive); if (photoArchive.IsActive) { _photoArchiveElasticSearchService.DeleteAsync(photoArchive); _photoArchiveElasticSearchService.AddAsync(photoArchive); } else { _photoArchiveElasticSearchService.DeleteAsync(photoArchive); } } else { photoArchive = _db.PhotoArchive.Find(photoarchiveVer.PhotoArchiveId); photoArchive.IsDeleted = true; _db.PhotoArchive.Update(photoArchive); DeletePhotosAlbum(photoArchive); _photoArchiveElasticSearchService.DeleteAsync(photoArchive); } _db.SaveChanges(); photoarchiveVer.VersionStatusEnum = VersionStatusEnum.Approved; photoarchiveVer.PhotoArchiveId = photoArchive.Id; _db.PhotoArchiveVersions.Update(photoarchiveVer); var notification = _db.ApprovalNotifications.Find(approvalId); notification.VersionStatusEnum = VersionStatusEnum.Approved; _db.ApprovalNotifications.Update(notification); var submitedPhotoArchive = _db.PhotoArchiveVersions.Where(d => d.PageRouteVersionId == photoarchiveVer.PageRouteVersionId && d.Id != id & d.VersionStatusEnum == VersionStatusEnum.Submitted).Any(); if (!submitedPhotoArchive) { var pageVer = _db.PageRouteVersions.Find(photoarchiveVer.PageRouteVersionId); pageVer.ContentVersionStatusEnum = VersionStatusEnum.Approved; _db.PageRouteVersions.Update(pageVer); } _db.SaveChanges(); try { _globalElasticSearchService.DeleteAsync(pageRouteId ?? 0); _globalElasticSearchService.AddAsync(_pageRouteRepository.GetPageData(pageRouteId ?? 0)); } catch { } return(true); } return(false); }
public async Task DeleteAsync(PhotoArchive photoArchive) { await _elasticClient.DeleteAsync <PhotoArchive>(photoArchive.Id, d => d.Index(index)); }
public async Task AddAsync(PhotoArchive photoArchive) { var result = await _elasticClient.IndexAsync(photoArchive, i => i .Index(index).Id(photoArchive.Id).Refresh(Elasticsearch.Net.Refresh.True)); }