Esempio n. 1
0
        public async Task <IActionResult> PutPhotosAlbum(int id, PhotosAlbum photosAlbum)
        {
            if (id != photosAlbum.PhotoId)
            {
                return(BadRequest());
            }
            var db = _context.photosAlbum.FirstOrDefault(s => s.PhotoId.Equals(id));

            db.AlbumName   = photosAlbum.AlbumName;
            db.AlbumTitle  = photosAlbum.AlbumTitle;
            db.CategoeryId = photosAlbum.CategoeryId;

            //_context.Entry(photosAlbum).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PhotosAlbumExists(id))
                {
                    return(NotFound(id));
                }
                else
                {
                    throw;
                }
            }

            return(NoContent( ));
        }
        public async Task <ActionResult <PhotosAlbum> > PostPhotosAlbum(PhotosAlbum photosAlbum)
        {
            _context.photosAlbum.Add(photosAlbum);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPhotosAlbum", new { id = photosAlbum.PhotoId }, photosAlbum));
        }
        public async Task <IActionResult> PutPhotosAlbum(int id, PhotosAlbum photosAlbum)
        {
            if (id != photosAlbum.PhotoId)
            {
                return(BadRequest());
            }

            _context.Entry(photosAlbum).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PhotosAlbumExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Esempio n. 4
0
        public async Task <ActionResult <PhotosAlbum> > PostPhotosAlbum(PhotosAlbum photosAlbum)
        {
            try
            {
                if (photosAlbum == null)
                {
                    return(BadRequest("User object is null"));
                }
                if (!ModelState.IsValid)
                {
                    return(BadRequest("Invalid model object"));
                }
                _context.Add(photosAlbum);
                await _context.SaveChangesAsync();

                return(StatusCode(201));

                //return CreatedAtAction("GetPhotosAlbum", new { id = photosAlbum.PhotoId }, photosAlbum);
            }
            catch (Exception ex)
            {
                return(StatusCode(500, $"Internal server error: {ex}"));
            }
        }
        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();
        }