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);
            }
        }
Ejemplo n.º 3
0
        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();
        }