Esempio n. 1
0
        public async Task <ActionResult> AddFriend(UserDto model)
        {
            if (model == null)
            {
                throw new ArgumentNullException("Post data of add friend is null.");
            }

            var requestedFrom = await GetCurrentUser();

            var requestedTo = _userService.GetById(model.UserId);

            if (requestedTo.Username != model.Username)
            {
                throw new ArgumentException("Post data of add friend is invalid.");
            }

            //Creates a request with unique token, friendUSer will get prompted to accept the request
            //UserFriendRequest friendReq = new UserFriendRequest(user, friendUser);

            var result = _userService.SendFriendRequest(requestedTo, requestedFrom);

            if (result != null)
            {
                FriendRequestDTO res = new FriendRequestDTO();
                res.RequestedToId   = result.RequestedToId;
                res.RequestedFromId = result.RequestedFromId;
                res.Token           = result.Token;
                return(Ok(res));
            }

            return(NotFound());
        }
Esempio n. 2
0
        public bool Save(FriendRequestDTO friendRequestDTO)
        {
            if (friendRequestDTO == null)
            {
                return(false);
            }

            FriendRequest friendRequest = new FriendRequest
            {
                SenderId   = friendRequestDTO.Sender.Id,
                ReceiverId = friendRequestDTO.Receiver.Id,
                Message    = friendRequestDTO.Message,
                SentOn     = friendRequestDTO.SentOn
            };

            try
            {
                UoW.FriendRequestRepo.Insert(friendRequest);
                UoW.Save();
                return(true);
            }
            catch
            {
                return(false);
            }
        }
        public void DeclineFriendRequest(FriendRequestDTO friendRequest)
        {
            var fr = _mapper.Map <FriendRequest>(friendRequest);

            fr.FriendRequestFlag = FriendRequestFlag.Declined;
            _db.FriendsRequest.Update(fr);

            _db.Save();
        }
Esempio n. 4
0
        public string PostFriendRequest(FriendRequestDTO friendRequestDTO)
        {
            if (!friendRequestService.Save(friendRequestDTO))
            {
                return("Friend Request wasn't made");
            }

            return("Friend Request made");
        }
        public async Task <FriendRequestDTO> Create(FriendRequestDTO friendRequestDTO)
        {
            if (_context.FriendRequests.Any(b => b.Id == friendRequestDTO.Id))
            {
                throw new Exception(FRIEND_REQUEST_ALREADY_EXISTS);
            }

            _context.FriendRequests.Add(friendRequestDTO.GetFriendRequest());

            await _context.SaveChangesAsync();

            return(friendRequestDTO);
        }
Esempio n. 6
0
        public IActionResult UpdateFriendRequest(int id, FriendToAddDTO friend)
        {
            try
            {
                friend.UserId = id;
                FriendRequestDTO friendRequest = friendService.UpdateRequestStatus(friend);

                return(Ok(friendRequest));
            }
            catch (NullReferenceException)
            {
                return(NotFound());
            }
        }
        public async Task <FriendRequestDTO> Update(FriendRequestDTO friendRequestDTO)
        {
            if (await this.Exists(friendRequestDTO.SenderId, friendRequestDTO.ReceiverId))
            {
                var friendRequest = _context.FriendRequests
                                    .FirstOrDefault(fr => fr.ReceiverId == friendRequestDTO.ReceiverId &&
                                                    fr.SenderId == friendRequestDTO.SenderId);

                friendRequest.FriendRequestStatus = friendRequestDTO.FriendRequestStatus;
                await _context.SaveChangesAsync();

                return(friendRequest.GetDTO());
            }
            throw new Exception(USER_NULL);
        }
Esempio n. 8
0
 public static FriendRequest GetFriendRequest(this FriendRequestDTO item)
 {
     if (item == null)
     {
         throw new ArgumentNullException();
     }
     return(new FriendRequest
     {
         Id = item.Id,
         ReceiverId = item.ReceiverId,
         SenderId = item.SenderId,
         FriendRequestStatus = item.FriendRequestStatus,
         IsDeleted = item.IsDeleted
     });
 }
Esempio n. 9
0
        public void AcceptFriend(FriendRequestDTO friendRequest)
        {
            var fr = _mapper.Map <FriendRequest>(friendRequest);

            using (_db)
            {
                var user   = _db.Users.GetById(fr.RequestedBy_Id);
                var friend = _db.Users.GetById(fr.RequestedTo.Id);

                fr.FriendRequestFlag = FriendRequestFlag.Approved;
                _db.FriendsRequest.Update(fr);
                user.Friends.Add(friend);
                friend.Friends.Add(user);
            }
        }
Esempio n. 10
0
        public IHttpActionResult Decline(int id, [FromBody] FriendRequestDTO friendRequest)
        {
            if (_requestService.GetById(friendRequest.Id) == null)
            {
                return(NotFound());
            }
            var userId = RequestContext.Principal.Identity.GetUserId();

            if (userId != friendRequest.RequestedTo.Id)
            {
                return(StatusCode(HttpStatusCode.Forbidden));
            }

            _requestService.DeclineFriendRequest(friendRequest);
            return(Ok());
        }
Esempio n. 11
0
 public ActionResult DeclineFriend(string token)
 {
     try
     {
         var result           = _userService.DeleteFriendRequest(Guid.Parse(token));
         FriendRequestDTO res = new FriendRequestDTO();
         res.RequestedToId   = result.RequestedToId;
         res.RequestedFromId = result.RequestedFromId;
         res.Token           = result.Token;
         return(Ok(res));
     }
     catch (ArgumentException e)
     {
         _logger.LogInformation(e.Message);
         return(NotFound(e));
     }
 }
Esempio n. 12
0
        public ActionResult Refuse(int Id)
        {
            if (Session["loggedUser"] == null)
            {
                return(RedirectToAction("Login", "Home"));
            }

            UserDTO currentUser = (UserDTO)Session["loggedUser"];

            Service1Client service = new Service1Client();

            FriendRequestDTO refused = service.GetFriendRequestByUserId(currentUser.Id)
                                       .Where(u => u.Sender.Id == Id).FirstOrDefault();

            service.DeleteFriendRequest(refused.Id);

            return(RedirectToAction("Index", "Friends"));
        }
Esempio n. 13
0
        public IHttpActionResult AcceptFriend(int id, [FromBody] FriendRequestDTO friendRequest)
        {
            var request = _requestService.GetById(id);

            if (request == null)
            {
                return(NotFound());
            }
            var userId = RequestContext.Principal.Identity.GetUserId();

            if (userId != request.RequestedTo.Id)
            {
                return(StatusCode(HttpStatusCode.Forbidden));
            }

            _requestService.AcceptFriend(request);
            return(Ok());
        }
        public void AcceptFriend(FriendRequestDTO friendRequest)
        {
            var fr = _mapper.Map <FriendRequest>(friendRequest);

            var user   = _db.Users.GetById(fr.RequestedBy_Id);
            var friend = _db.Users.GetById(fr.RequestedTo.Id);

            if (user != null && friend != null)
            {
                fr.FriendRequestFlag = FriendRequestFlag.Approved;
                _db.FriendsRequest.Update(fr);
                user.Friends.Add(friend);
                friend.Friends.Add(user);

                _db.Save();
            }
            else
            {
                throw new ObjectNotFoundException();
            }
        }
Esempio n. 15
0
        public ActionResult FriendRequest(FriendRequestVM item)
        {
            if (Session["loggedUser"] == null)
            {
                return(RedirectToAction("Login", "Home"));
            }

            UserDTO current = (UserDTO)Session["loggedUser"];

            Service1Client service = new Service1Client();

            FriendRequestDTO request = new FriendRequestDTO()
            {
                Sender   = service.GetUserById(current.Id),
                Receiver = service.GetUserById(item.FriendId),
                Message  = item.Message,
                SentOn   = DateTime.UtcNow
            };

            service.PostFriendRequest(request);

            return(RedirectToAction("Index", "User"));
        }
        public void FriendAdd(FriendRequestDTO item)
        {
            var Id     = Database.Persons.GetAll().FirstOrDefault(x => x.Login == item.FriendLogin2).InvitesList.FirstOrDefault(x => x.Inviter_Login == item.FriendLogin1).InviteId;
            var person = Database.Persons.GetAll().FirstOrDefault(x => x.Login == item.FriendLogin2);

            if (person.FriendsList.FirstOrDefault(x => x.Friend2_Login == item.FriendLogin1) == null)
            {
                Database.Persons.GetAll().FirstOrDefault(x => x.Login == item.FriendLogin2).FriendsList.Add(new Friend()
                {
                    Friend1_Login = item.FriendLogin2, Friend2_Login = item.FriendLogin1
                });
                Database.Persons.GetAll().FirstOrDefault(x => x.Login == item.FriendLogin1).FriendsList.Add(new Friend()
                {
                    Friend1_Login = item.FriendLogin1, Friend2_Login = item.FriendLogin2
                });
                if (person.InvitesList.FirstOrDefault(x => x.Inviter_Login == item.FriendLogin1) != null)
                {
                    Database.Persons.GetAll().FirstOrDefault(x => x.Login == item.FriendLogin2).InvitesList = Database.Persons.GetAll().FirstOrDefault(x => x.Login == item.FriendLogin2).InvitesList.Where(x => x.Inviter_Login != item.FriendLogin1).ToList();
                }
            }


            Database.Save();
        }
Esempio n. 17
0
        public ActionResult Accept(int Id)
        {
            if (Session["loggedUser"] == null)
            {
                return(RedirectToAction("Login", "Home"));
            }

            UserDTO currentUser = (UserDTO)Session["loggedUser"];

            Service1Client service = new Service1Client();

            FriendRequestDTO accepted = service.GetFriendRequestByUserId(currentUser.Id)
                                        .Where(u => u.Sender.Id == Id).FirstOrDefault();

            FriendDTO friend = new FriendDTO()
            {
                User      = service.GetUserById(Id),
                Friend    = service.GetUserById(currentUser.Id),
                CreatedOn = DateTime.UtcNow
            };

            service.PostFriend(friend);

            FriendDTO friend2 = new FriendDTO()
            {
                User      = service.GetUserById(currentUser.Id),
                Friend    = service.GetUserById(Id),
                CreatedOn = DateTime.UtcNow
            };

            service.PostFriend(friend2);

            service.DeleteFriendRequest(accepted.Id);

            return(RedirectToAction("Index", "Friends"));
        }
Esempio n. 18
0
 public static FriendRequest ToEntity(this FriendRequestDTO friendRequest)
 {
     return(new FriendRequest(friendRequest.RequestTimestamp, new UserInfo(friendRequest.User.UserId, friendRequest.User.UserName, friendRequest.User.Muted), friendRequest.Direction));
 }