public ActionResult ConfirmFriendRequest(FriendRequestViewModel friendRequest) { var rrequestid = EncryptionHelper.Unprotect(friendRequest.request); var fRequest = unitOfWork.FriendshipRequestRepository.GetByID(rrequestid); if (fRequest.requestReceiverID == WebSecurity.CurrentUserId) { Friendship newFriendship = new Friendship(); newFriendship.userID = fRequest.requestSenderID; newFriendship.friendID = fRequest.requestReceiverID; newFriendship.friendshipDate = DateTime.UtcNow; unitOfWork.FriendshipRepository.Insert(newFriendship); unitOfWork.FriendshipRequestRepository.Delete(fRequest.requestID); unitOfWork.Save(); NotificationHelper.NotificationInsert(NotificationType.FriendRequestAccept, recId: fRequest.requestSenderID, elemId: newFriendship.frendshipId, data: fRequest.requestReceiverID.ToString()); unitOfWork.Save(); return(Json(new { Result = RenderPartialViewHelper.RenderPartialView(this, "AreFriends", null), Message = Resource.Resource.friendRequestConfirmed })); } throw new JsonCustomException(ControllerError.ajaxErrorFriendRequest); }
public async void AcceptRequest(FriendRequestViewModel model, FriendRequest request) { _repository.UpdateRequest(request, model.ReceiverID, model.SenderID, RequestStatus.ACCEPTED); _notificationRepository.AddFriendRequestNotification(model.ReceiverID, model.SenderID, "Accepted your friend request."); await _context.SaveChangesAsync(); }
public async void CancelRequest(FriendRequestViewModel model, FriendRequest request) { _repository.UpdateRequest(request, model.SenderID, model.ReceiverID, RequestStatus.CANCELED); _notificationRepository.RemoveFriendRequestNotification(model.ReceiverID, model.SenderID); await _context.SaveChangesAsync(); }
public ActionResult SendFriendRequest(User recipient) { var request = new FriendRequestViewModel(); request.Recipient = recipient; return(View(request)); }
public ActionResult AddFriend(FriendRequestViewModel friendRequest) { var onlineUser = WebSecurity.CurrentUserId; var requesteruserid = (int)EncryptionHelper.Unprotect(friendRequest.user); var formerRequests = unitOfWork.FriendshipRequestRepository.Get(); bool isFormerRequest = formerRequests.Any(u => (u.requestReceiverID == requesteruserid && u.requestSenderID == onlineUser) || (u.requestSenderID == requesteruserid && u.requestReceiverID == onlineUser)); if (ModelState.IsValid) { if (!isFormerRequest) { FriendRequest newFriendRequest = new FriendRequest(); newFriendRequest.message = friendRequest.message; newFriendRequest.requestSenderID = onlineUser; newFriendRequest.requestReceiverID = requesteruserid; newFriendRequest.requestDate = DateTime.UtcNow; unitOfWork.FriendshipRequestRepository.Insert(newFriendRequest); unitOfWork.Save(); friendRequest.request = EncryptionHelper.Protect(newFriendRequest.requestID); return(Json(new { Result = RenderPartialViewHelper.RenderPartialView(this, "FRSentBefore", friendRequest), Message = Resource.Resource.friendRequestSent })); } } throw new JsonCustomException(ControllerError.ajaxErrorFriendRequestAdd); }
public void FriendRequest_CancelRequest_NotFound() { FriendRequestViewModel model = GetInverseModel(); var result = _controller.Cancel(model); Assert.IsTrue(result.GetType().Equals(typeof(NotFoundObjectResult))); }
public ActionResult ViewFriendRequest(int profileId) { var ctx = new AppDbContext(); try { FriendRequestViewModel viewModel = new FriendRequestViewModel(); var result = (from FriendRequest in ctx.FriendRequests join Profile in ctx.Profiles on FriendRequest.SenderId equals Profile.ProfileId where FriendRequest.RecieverId == profileId select new FriendRequestViewModel { ProfileId = Profile.ProfileId, ImagePath = Profile.ImagePath, Förnamn = Profile.Förnamn, Efternamn = Profile.Efternamn, }).ToList(); return(View(result)); } catch (Exception) { return(RedirectToAction("GenericError", "ErrorHandler")); } }
public async Task <IActionResult> UpdateRequest(FriendRequestViewModel model) { var friendRequestDTO = _mapper.Map <FriendRequestDTO>(model); await _service.Update(friendRequestDTO); return(RedirectToAction(nameof(Index))); }
public void FriendRequest_RemoveRequest_NotFound() { FriendRequestViewModel model = GetModel(); var result = _controller.Remove(model); Assert.IsTrue(result.GetType().Equals(typeof(NotFoundObjectResult))); }
public void SendFriendRequest(string endUserId, string loggedInUserId) { var model = new FriendRequestViewModel() { UserId = loggedInUserId, EndUserId = endUserId }; _httpClient.PostData("User/SendFriendRequest", model); }
public IHttpActionResult GetFriendRequests() { var currentUserId = this.UserIdProvider.GetUserId(); var currentUser = this.Data.Users.Find(currentUserId); var requests = currentUser.FriendRequests .Where(r => r.FriendRequestStatus == FriendRequestStatus.AwaitingApproval) .AsQueryable() .Select(FriendRequestViewModel.Create(currentUser)); return(this.Ok(requests)); }
protected async override void OnAppearing() { base.OnAppearing(); IsBusy = true; newFriendsRequestRelationship = await App.RelationshipManager.GetNewFriendsRequest(App.mUser.ID); BindingContext = new FriendRequestViewModel(newFriendsRequestRelationship, this.Navigation); IsBusy = false; }
public IActionResult Cancel([FromBody] FriendRequestViewModel model) { var request = _repository.GetRequest(model.SenderID, model.ReceiverID); if (request == null) { return(NotFound("Friend request has not been found!")); } _service.CancelRequest(model, request); return(Ok("Friend request has been canceled.")); }
public void FriendRequest_SendRequest_Sucess() { FriendRequestViewModel model = GetModel(); var result = _controller.Send(model); Assert.IsTrue(result.GetType().Equals(typeof(OkObjectResult))); var status = _repository.GetStatus(model.ReceiverID, model.SenderID); Assert.IsNotNull(status); // If request has been succesfully added, then it's status should be PENDING Assert.AreEqual(status, RequestStatus.PENDING); }
public IActionResult FriendRequests(FriendRequest friendRequest) { if (HttpContext.Session.GetInt32("Id") == null) { return(RedirectToAction("Login", "Account")); } else { friendRequest.RecieverId = (int)HttpContext.Session.GetInt32("Id"); FriendRequestViewModel friendRequestViewModel = new FriendRequestViewModel(); friendRequestViewModel.friendRequests = new List <FriendRequest>(); friendRequestViewModel.friendRequests.AddRange(_friendRequestLogic.GetFriendRequests(friendRequest)); return(View(friendRequestViewModel)); } }
public ActionResult IgnoreFriendRequest(FriendRequestViewModel friendRequest) { var requestid = EncryptionHelper.Unprotect(friendRequest.request); var requstToIgnore = unitOfWork.FriendshipRequestRepository.GetByID(requestid); requstToIgnore.ignore = true; unitOfWork.FriendshipRequestRepository.Update(requstToIgnore); unitOfWork.Save(); return(Json(new { Success = true, Result = RenderPartialViewHelper.RenderPartialView(this, "AreFriends", null), Message = Resource.Resource.friendRequestIgnore })); }
public IActionResult GetStatus([FromBody] FriendRequestViewModel model) { RequestStatus status = _repository.GetStatus(model.ReceiverID, model.SenderID); switch (status) { case RequestStatus.NO_REQUEST: return(Ok(-1)); case RequestStatus.PENDING_INCOMING: return(Ok(200)); default: return(Ok(status)); } }
public ActionResult DenyFriendRequest(FriendRequestViewModel friendRequest) { var requestid = EncryptionHelper.Unprotect(friendRequest.request); unitOfWork.FriendshipRequestRepository.Delete(requestid); unitOfWork.Save(); friendRequest.message = null; friendRequest.request = null; return(Json(new { Success = true, Result = RenderPartialViewHelper.RenderPartialView(this, "NoFRBefore", friendRequest), Message = Resource.Resource.friendRequestDenied })); }
public ActionResult FriendsRequest(string UId) { NullChecker.NullCheck(new object[] { UId }); var userid = EncryptionHelper.Unprotect(UId); if (WebSecurity.CurrentUserId == userid) { return(new EmptyResult()); } var onlineUserID = WebSecurity.CurrentUserId; bool areFriends = unitOfWork.FriendshipRepository.Get().Any(t => (t.userID == userid && t.friendID == onlineUserID) || (t.friendID == userid && t.userID == onlineUserID)); if (areFriends) { ViewData["userToUnfriend"] = UId; return(PartialView("AreFriends")); } else { FriendRequestViewModel viewmodel = new FriendRequestViewModel(); var requestIsSent = unitOfWork.FriendshipRequestRepository.Get(t => t.requestSenderID == userid && t.requestReceiverID == onlineUserID).SingleOrDefault(); var requestISReceived = unitOfWork.FriendshipRequestRepository.Get(t => t.requestReceiverID == userid && t.requestSenderID == onlineUserID).SingleOrDefault(); var ignored = unitOfWork.FriendshipRequestRepository.Get(t => t.requestReceiverID == userid && t.requestSenderID == onlineUserID && t.ignore).SingleOrDefault(); if (ignored != null) { return(new EmptyResult()); } if (requestIsSent != null) { viewmodel.request = EncryptionHelper.Protect(requestIsSent.requestID); viewmodel.user = UId; return(PartialView("FRRecievedBefore", viewmodel)); } else if (requestISReceived != null) { viewmodel.request = EncryptionHelper.Protect(requestISReceived.requestID); viewmodel.user = UId; return(PartialView("FRSentBefore", viewmodel)); } else { viewmodel.user = UId; return(PartialView("NoFRBefore", viewmodel)); } } }
public IActionResult Remove([FromBody] FriendRequestViewModel model) { var request = _repository.GetRequest(model.SenderID, model.ReceiverID); if (request == null) { request = _repository.GetRequest(model.ReceiverID, model.SenderID); } if (request == null) { return(NotFound("Users are not friends!")); } _service.RemoveRequest(model, request); return(Ok("Friend has been removed successfully.")); }
public void SendRequest(FriendRequestViewModel model) { var request = _repository.GetRequest(model.SenderID, model.ReceiverID); if (request == null) { request = _repository.GetRequest(model.ReceiverID, model.SenderID); } if (request == null) { _repository.CreateRequest(model.SenderID, model.ReceiverID, RequestStatus.PENDING); } else { _repository.UpdateRequest(request, model.SenderID, model.ReceiverID, RequestStatus.PENDING); } }
public ActionResult CancelFriendRequest(FriendRequestViewModel friendRequest) { var requestid = EncryptionHelper.Unprotect(friendRequest.request); var sentFriendRequest = unitOfWork.FriendshipRequestRepository.GetByID(requestid); if (sentFriendRequest.requestSenderID == WebSecurity.CurrentUserId) { unitOfWork.FriendshipRequestRepository.Delete(requestid); unitOfWork.Save(); friendRequest.message = null; friendRequest.request = null; return(Json(new { Result = RenderPartialViewHelper.RenderPartialView(this, "NoFRBefore", friendRequest), Message = Resource.Resource.friendRequestCanceled })); } throw new JsonCustomException(ControllerError.ajaxErrorFriendRequest); }
public IActionResult AddFriend([FromBody] FriendRequestViewModel friendRequestVieModel) { try { var checkSuccess = _friendshipRepo.AddFriend(friendRequestVieModel.FromUserId, friendRequestVieModel.ToUserId); if (checkSuccess) { //get the UserName of the request sender and create a notification var RequestSender = _userRepo.Find(u => u.Id == friendRequestVieModel.FromUserId).SingleOrDefault(); var notification = new Notification { NotificationTypeId = (int)NotificationTypeConstants.FriendRequestSent, NotificationDetails = $"{RequestSender.FirstName + ' ' + RequestSender.LastName} sent you a friend request", NotificationAcknowledged = false, CreatedBy = friendRequestVieModel.FromUserId, CreatedDateTime = DateTime.UtcNow }; _notificationRespository.Add(notification); _notificationRespository.SaveChanges(); //get the notification id and save it in the UserNotificationRefTable int NotificationId = notification.NotificationId; var userNotificationRef = new UserNotificationRef { NotificationId = NotificationId, RecipientUserId = friendRequestVieModel.ToUserId }; _userNotificationRef.Add(userNotificationRef); _userNotificationRef.SaveChanges(); return(Ok(true)); } else { return(BadRequest()); } } catch (Exception e) { return(BadRequest()); } }
public ActionResult UnFriend(string UTU) { var onlineUserID = WebSecurity.CurrentUserId; var utuid = EncryptionHelper.Unprotect(UTU); var frienshtipToDelete = unitOfWork.FriendshipRepository.Get(f => (f.userID == onlineUserID && f.friendID == utuid) || (f.friendID == onlineUserID && f.userID == utuid)).Single(); //delete notifications //frienshtipToDelete.Notifications.Select(n => n.notificationID as object).ToList().ForEach(unitOfWork.NotificationRepository.Delete); unitOfWork.FriendshipRepository.Delete(frienshtipToDelete.frendshipId); unitOfWork.Save(); FriendRequestViewModel viewmodel = new FriendRequestViewModel(); viewmodel.user = UTU; return(Json(new { Result = RenderPartialViewHelper.RenderPartialView(this, "NoFRBefore", viewmodel), Message = Resource.Resource.friendRemoved })); }
public async void SendRequest(FriendRequestViewModel model) { var request = _repository.GetRequest(model.SenderID, model.ReceiverID); if (request == null) { request = _repository.GetRequest(model.ReceiverID, model.SenderID); } if (request == null) { _repository.CreateRequest(model.SenderID, model.ReceiverID, RequestStatus.PENDING); } else { _repository.UpdateRequest(request, model.SenderID, model.ReceiverID, RequestStatus.PENDING); } _notificationRepository.AddFriendRequestNotification(model.ReceiverID, model.SenderID, "Sent you a friend request."); await _context.SaveChangesAsync(); }
// GET : /api/friendrequests public IEnumerable <FriendRequestViewModel> GetFriendRequests() { var currentUser = userManager.FindById(User.Identity.GetUserId()); var friendRequests = _context.FriendRequests.ToList().FindAll(x => (x.TargetId == currentUser.Id) && (x.Waiting == true)); var friendRequestViewModels = new List <FriendRequestViewModel>(); foreach (var request in friendRequests) { //var user = userManager.FindById(request.InitiatorId); var friendRequestViewModel = new FriendRequestViewModel { InitiatorId = request.InitiatorId, TargetId = request.TargetId, InitiatorName = userManager.FindById(request.InitiatorId).Name }; friendRequestViewModels.Add(friendRequestViewModel); } return(friendRequestViewModels); }
private List <FriendRequestViewModel> BuildFriendRequestModel(List <FriendRequest> friendRequestEntities) { var model = new List <FriendRequestViewModel>(); friendRequestEntities.ForEach(fr => { var requester = db.Profiles.Find(fr.RequesterProfileId); var friendRequestModel = new FriendRequestViewModel() { RequesterId = requester.Id, RequesterFirstName = requester.FirstName, RequesterLastName = requester.LastName, CreatedOn = fr.CreatedOn, RequesterProfilePictureId = requester.ProfilePhotoId }; model.Add(friendRequestModel); }); return(model); }
private void MessageHandler(Message tempMessage) { switch (tempMessage.Code) { case MessageCode.C002: // Implement Later Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { _handler.DisplayName = tempMessage.MessageString; RaisePropertyChanged("ScreenDisplayName"); })); break; case MessageCode.C003: // Message from another User Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { _messageCollections.Add(tempMessage, _handler.myID); })); break; case MessageCode.C004: // Implement Later break; case MessageCode.C005: // Message sending fail Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { _messageCollections.RemoveByTimeStamp(tempMessage); })); break; case MessageCode.C006: // Implement Later break; case MessageCode.C007: // Connection Closing / Connection Test Fail Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { Handler.CloseConnection(); })); break; case MessageCode.C009: Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { FriendRequestCollection.Add(new FriendRequestViewModel(tempMessage.senderID, _handler.myID, tempMessage.MessageString, false)); })); break; case MessageCode.C010: Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { SelectedUser = null; MTObservableCollection <User> allFriends = Handler.ParseC010Message(tempMessage.MessageString); Users.Clear(); foreach (User friend in allFriends) { if (friend.IsOnline) { Users.Add(friend); } } })); break; case MessageCode.C011: // Implement Later break; case MessageCode.C012: // Implement Later break; case MessageCode.C013: // Implement Later break; case MessageCode.C016: // Implement Later break; case MessageCode.C017: // Implement Later break; case MessageCode.C018: // Friend Request Was Accepted Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { FriendRequestViewModel tempFR = FriendRequestCollection.Single(s => s.IDnumeric == tempMessage.senderID); FriendRequestCollection.Remove(tempFR); RaisePropertyChanged("FriendRequestCollection"); Users.Add(new User(tempFR.IDnumeric, tempFR.DisplayName)); SelectedFriendRequest = null; })); break; case MessageCode.C020: Dispatcher.CurrentDispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate() { for (int i = 0; i < FriendRequestCollection.Count; i++) { if (FriendRequestCollection[i].IsSent && FriendRequestCollection[i].DisplayName == "_" && FriendRequestCollection[i].IDnumeric == tempMessage.senderID) { FriendRequestCollection[i].DisplayName = tempMessage.MessageString; break; } } })); break; default: throw new Exception("Invalid Message Code"); } }
public void AcceptRequest(FriendRequestViewModel model, FriendRequest request) { _repository.UpdateRequest(request, model.ReceiverID, model.SenderID, RequestStatus.ACCEPTED); }
public void RemoveRequest(FriendRequestViewModel model, FriendRequest request) { _repository.UpdateRequest(request, model.SenderID, model.ReceiverID, RequestStatus.CANCELED); }