コード例 #1
0
        public HttpResponseMessage GetUserBySessionKey(string sessionKey)
        {
            try
            {
                var userService = new UserService();
                var user        = userService.GetUserBySessionKey(sessionKey);

                Validator.ValidateUser(user, NOT_LOGGED);

                //if (user == null)
                //{
                //    throw new Exception(NOT_LOGGED);
                //}

                var userToReturn = ModelCreator.CreateUserModel(user);

                var response = this.Request.CreateResponse(HttpStatusCode.OK, userToReturn);

                return(response);
            }
            catch (Exception ex)
            {
                var response = this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
                return(response);
            }
        }
コード例 #2
0
        public HttpResponseMessage PostCreateAlbum(AlbumModel albumModel, string sessionKey)
        {
            try
            {
                var userService = new UserService();
                var user        = userService.GetUserBySessionKey(sessionKey);

                Validator.ValidateUser(user, USER_ACCESS_DENIED);

                var albumService = new AlbumService();
                var newAlbum     = albumService.CreateAlbum(albumModel, user);

                var userModel = ModelCreator.CreateUserModel(user);

                albumModel           = new AlbumModel();
                albumModel.Title     = newAlbum.Title;
                albumModel.Id        = newAlbum.Id;
                albumModel.User      = userModel;
                albumModel.CreatedAt = newAlbum.CreatedAt;

                return(this.Request.CreateResponse(HttpStatusCode.Created, albumModel));
            }
            catch (Exception ex)
            {
                return(this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
コード例 #3
0
        public HttpResponseMessage PostLoginUser(UserModel userModel)
        {
            try
            {
                var userService = new UserService();
                var user        = userService.AuthenticateUser(userModel.UserName, userModel.AuthCode);

                var userToReturn = ModelCreator.CreateUserModel(user);
                var response     = this.Request.CreateResponse(HttpStatusCode.OK, userToReturn);
                return(response);
            }
            catch (Exception ex)
            {
                var response = this.Request.CreateResponse(HttpStatusCode.BadRequest,
                                                           ex.Message);
                return(response);
            }
        }
コード例 #4
0
        public HttpResponseMessage PostRegisterUser(UserModel userModel)
        {
            try
            {
                var userService = new UserService();

                var newUser      = userService.RegisterUser(userModel);
                var userToReturn = ModelCreator.CreateUserModel(newUser);

                var response = this.Request.CreateResponse(HttpStatusCode.OK, userToReturn);

                return(response);
            }
            catch (Exception ex)
            {
                var response = this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message);
                return(response);
            }
        }
コード例 #5
0
        public HttpResponseMessage PutEditAlbum(int albumId, AlbumModel albumModel, string sessionKey)
        {
            try
            {
                var userService = new UserService();
                var user        = userService.GetUserBySessionKey(sessionKey);

                Validator.ValidateUser(user, "Cannot edit album");

                var albumService = new AlbumService();
                var album        = albumService.GetAlbumById(albumId);

                Validator.ValidateAlbum(album, ALBUM_NOT_FOUND);

                if (album.User.Id != user.Id)
                {
                    throw new Exception(USER_ACCESS_DENIED);
                }

                var userModel = ModelCreator.CreateUserModel(user);

                var newAlbum = albumService.EditAlbum(album, albumModel);

                var albumToReturn = new AlbumModel();
                albumToReturn.Title     = newAlbum.Title;
                albumToReturn.User      = userModel;
                albumToReturn.Id        = newAlbum.Id;
                albumToReturn.CreatedAt = newAlbum.CreatedAt;


                return(this.Request.CreateResponse(HttpStatusCode.OK, albumToReturn));
            }
            catch (Exception ex)
            {
                return(this.Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }