Ejemplo n.º 1
0
 public HttpResponseMessage Delete(Guid playlistGuid)
 {
     try
     {
         if (_playlistContext.DeleteById(playlistGuid) > 0)
         {
             return(new HttpResponseMessage(HttpStatusCode.OK));
         }
         return(new HttpResponseMessage(HttpStatusCode.BadRequest));
     }
     catch (ContextException e)
     {
         HttpContext.Current.Response.StatusCode = (Int32)HttpStatusCode.BadRequest;
         throw new ContextException(e.Message, e);
     }
 }
Ejemplo n.º 2
0
        // todo: all requests, beside Register should use userId or userName? End client should keep his Id?
        // userName, userEmail are considered to be UNIQUE
        public HttpResponseMessage Unregister(Guid userId)
        {
            try
            {
                //create full path for the uploaded file
                CUser         user       = _userContext.GetById(userId);
                string        userFolder = HttpContext.Current.Server.MapPath($@"~/App_Data/UserFiles/{user.Name}/");
                DirectoryInfo dInfo      = new DirectoryInfo(userFolder);

                //delete PHYSICAL folder & files on user delete
                if (dInfo != null)
                {
                    Directory.Delete(userFolder, true);
                }

                // todo: delete all files on user delete - for now they are CASCADE DELETE on USER DELETE

                // delete all user playlists
                List <CPlaylist> userPlaylists = _playlistContext.GetByUserId(userId).ToList();
                foreach (CPlaylist playlist in userPlaylists)
                {
                    if (_playlistContext.DeleteById(playlist.Guid) <= 0)
                    {
                        Request.CreateResponse(HttpStatusCode.BadRequest, $"Couldn't delete playlist:{playlist.Name} for user:{userId}");
                    }
                }

                // delete user from DB
                if (_userContext.Delete(userId) <= 0)
                {
                    Request.CreateResponse(HttpStatusCode.BadRequest, $"Couldn't delete user:{userId}");
                }


                return(Request.CreateResponse(HttpStatusCode.OK, $"User:{userId} successfully deleted from Media Server!"));
            }
            catch (ContextException e)
            {
                HttpContext.Current.Response.StatusCode = (Int32)HttpStatusCode.BadRequest;
                throw new ContextException(e.Message, e);
            }
        }