public AlbumFullModel Get(int id, string sessionKey)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions<AlbumFullModel>(() =>
            {
                using (var context = new PictureTogetherContext())
                {
                    UsersController.ValidateSessionKey(sessionKey);

                    var album = context.Albums.Find(id);
                    var albumFullModel = new AlbumFullModel
                    {
                        Id = album.Id,
                        Name = album.Name,
                        Latitude = album.Latitude,
                        Longitude = album.Longitude,
                        Pictures = album.Pictures.Select(p => new PictureModel
                        {
                            Id = p.Id,
                            Url = p.Url
                        }).ToList()
                    };

                    return albumFullModel;
                }
            });

            return responseMsg;
        }
        public HttpResponseMessage PostAlbum(string sessionKey, AlbumFullModel albumFullModel)
        {
            var responseMsg = this.PerformOperationAndHandleExceptions<HttpResponseMessage>(() =>
            {
                using (var context = new PictureTogetherContext())
                {
                    UsersController.ValidateSessionKey(sessionKey);
                    var currentUser = context.Users.FirstOrDefault(u => u.SessionKey == sessionKey);
                    if (currentUser == null)
                    {
                        throw new ArgumentException("Expired or invalid sessionKey. Please try to relog with your account.");
                    }

                    var newAlbum = new Album
                    {
                        Name = albumFullModel.Name,
                        Latitude = albumFullModel.Latitude,
                        Longitude = albumFullModel.Longitude,
                        Users =
                        {
                            currentUser
                        }
                    };

                    currentUser.Albums.Add(newAlbum);
                    context.Albums.Add(newAlbum);
                    context.SaveChanges();

                    var albumModel = new AlbumModel
                    {
                        Id = newAlbum.Id,
                        Name = newAlbum.Name
                    };

                    var response = this.Request.CreateResponse(HttpStatusCode.Created, albumModel);
                    return response;
                }
            });

            return responseMsg;
        }