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()); }
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(); }
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); }
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); }
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 }); }
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); } }
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()); }
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)); } }
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")); }
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(); } }
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(); }
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")); }
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)); }