public HttpResponseMessage DeleteCurrentByHandle(string handle)
        {
            BaseResponse response = null;

            try
            {
                IdentityUser user = _userService.GetCurrentUser();
                if (user != null)
                {
                    FollowerRequest  requestData = new FollowerRequest();
                    FollowNewsletter nwsInfo     = new FollowNewsletter();
                    Account          followedLG  = _accountSrv.GetAccountByHandle(handle);
                    requestData.FollowerID = user.Id;
                    requestData.ProfileUID = followedLG.UserId;
                    //requestData.FollowNewsletter = (delete.Contains("newsletter")) ? true : false;
                    nwsInfo.Email  = user.Email;
                    nwsInfo.Handle = handle;

                    _followerSevice.Delete(requestData, nwsInfo);
                    response = new SuccessResponse();
                    return(Request.CreateResponse(HttpStatusCode.OK, response));
                }
                else
                {
                    response = new ErrorResponse("User is not logged in");
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, response));
                }
            }
            catch (Exception ex)
            {
                response = new ErrorResponse(ex.Message);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, response));
            }
        }
        public HttpResponseMessage DeleteFollowerByAccount(FollowerRequest model)
        {
            SuccessResponse response = new SuccessResponse();

            _followerSevice.DeleteFollowerByAccount(model);
            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public HttpResponseMessage IsFollower(string handle)
        {
            try
            {
                IdentityUser user = _userService.GetCurrentUser();
                Account      acc  = _accountSrv.GetAccountByHandle(handle);
                if (acc != null)
                {
                    FollowerRequest  request = new FollowerRequest();
                    FollowNewsletter nwsInfo = new FollowNewsletter();
                    request.FollowerID = user.Id;
                    request.ProfileUID = acc.UserId;
                    nwsInfo.Email      = user.Email;
                    nwsInfo.Handle     = handle;

                    ItemResponse <FollowerCheck> response = new ItemResponse <FollowerCheck>();
                    response.Item = _followerSevice.IsFollower(request, nwsInfo);
                    return(Request.CreateResponse(HttpStatusCode.OK, response));
                }
                else
                {
                    throw new Exception("That Account does not exist");
                }
            }
            catch (Exception ex)
            {
                ErrorResponse response = new ErrorResponse(ex.Message);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, response));
            }
        }
Exemplo n.º 4
0
        public async Task <IActionResult> RemoveFollower([FromRoute] Guid id, [FromBody] FollowerRequest follower)
        {
            bool result = await UserService.RemoveFollower(id, follower.Id);

            if (!result)
            {
                return(BadRequest());
            }

            return(Ok());
        }
        public HttpResponseMessage InsertCurrentByHandle(string handle, FollowerRequest data)
        {
            BaseResponse response = null;

            try
            {
                if (ModelState.IsValid)
                {
                    IdentityUser user       = _userService.GetCurrentUser();
                    Account      followedLG = _accountSrv.GetAccountByHandle(handle);
                    if (followedLG != null)
                    {
                        FollowNewsletter nwsInfo = new FollowNewsletter();
                        nwsInfo.Email   = user.Email;
                        nwsInfo.Handle  = handle;
                        data.FollowerID = user.Id;
                        data.ProfileUID = followedLG.UserId;


                        _followerSevice.Insert(data, nwsInfo);
                        response = new SuccessResponse();
                        return(Request.CreateResponse(HttpStatusCode.OK, response));
                    }
                    else
                    {
                        throw new Exception("Account does not exist");
                    }
                }
                else
                {
                    return(Request.CreateResponse(HttpStatusCode.InternalServerError, ModelState));
                }
            }
            catch (Exception ex)
            {
                response = new ErrorResponse(ex.Message);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, response));
            }
        }