public IHttpActionResult Post(PhotoAlbumBindingModel albumBindingModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            PhotoAlbum photoAlbum = Mapper.Map <PhotoAlbumBindingModel, PhotoAlbum>(albumBindingModel);

            var userId = User.Identity.GetUserId();

            if (userId == null)
            {
                return(BadRequest("User Not Found"));
            }

            var user = _userService.GetById(userId);

            photoAlbum.User = user;

            _photoAlbumService.Add(photoAlbum);

            var photoAlbumViewModel = Mapper.Map <PhotoAlbum, PhotoAlbumWithImagesViewModel>(photoAlbum);

            return(Ok(photoAlbumViewModel));
        }
        public IHttpActionResult Put([FromBody] PhotoAlbumBindingModel photoAlbumBindingModel)
        {
            var photoAlbum = _photoAlbumService.GetById(photoAlbumBindingModel.Id);

            var userId = User.Identity.GetUserId();

            if (ModelState.IsValid && photoAlbumBindingModel.Id == photoAlbum.Id && userId == photoAlbum.User.Id || User.IsInRole(UserRoles.Administrator))
            {
                _imageService.DeleteImages(photoAlbum.Images);

                Mapper.Map(photoAlbumBindingModel, photoAlbum);

                _photoAlbumService.UpdatePhotoAlbum(photoAlbum);
                var photoAlbumViewModel = Mapper.Map <PhotoAlbum, PhotoAlbumWithImagesViewModel>(photoAlbum);

                return(Ok(photoAlbumViewModel));
            }

            return(StatusCode(HttpStatusCode.NotModified));
        }