示例#1
0
        private async Task RequestSentButtonTask(FriendViewCellModel fvcm)
        {
            await _friendRequestService.DeleteFriendRequestAsync(fvcm.UserId);

            InitiatedRequestFriends.Remove(fvcm);
            FilterGroupsBySearch();
        }
示例#2
0
        private async Task MutualFriendButtonTask(FriendViewCellModel fvcm)
        {
            await _friendRequestService.DeleteFriendRequestAsync(fvcm.UserId);

            MutualFriends.Remove(fvcm);
            fvcm.Status = FriendStatus.PendingRequest;
            PendingFriends.Add(fvcm);
            FilterGroupsBySearch();
        }
示例#3
0
        private async Task ImportContactsTask()
        {
            var contacts = await _phoneContactService.GetAllContactsAsync();

            ContactSearchRequestFriends.Clear();
            foreach (var c in contacts)
            {
                if (String.IsNullOrEmpty(c.PhoneNumber))
                {
                    continue;
                }
                string formattedPhone = string.Empty;
                foreach (char pc in c.PhoneNumber)
                {
                    if (Char.IsDigit(pc))
                    {
                        formattedPhone += pc;
                    }
                }
                if (formattedPhone.Length != 10)
                {
                    continue;
                }
                var res = await _requestService.GetAsync <PhoneContactSearchContract>("api/PhoneContactSearch/" + formattedPhone);

                if (res.Found &&
                    !String.IsNullOrEmpty(res.UserName) &&
                    !String.IsNullOrEmpty(res.UserId) &&
                    !ContactSearchRequestFriends.Any(cs => cs.UserId.Equals(res.UserId)) &&
                    !MutualFriends.Any(cs => cs.UserId.Equals(res.UserId)) &&
                    !PendingFriends.Any(cs => cs.UserId.Equals(res.UserId)) &&
                    !InitiatedRequestFriends.Any(cs => cs.UserId.Equals(res.UserId)))
                {
                    var uic = new UserInfoContract()
                    {
                        Id          = res.UserId,
                        UserName    = res.UserName,
                        FirstName   = c.FirstName,
                        LastName    = c.LastName,
                        PhoneNumber = formattedPhone
                    };
                    var fvcm = new FriendViewCellModel(uic,
                                                       DateTime.Now,
                                                       FriendRequestType.Normal,
                                                       FriendStatus.FoundInContactSearch);
                    ContactSearchRequestFriends.Add(fvcm);
                }
            }
        }
示例#4
0
        private async Task ContactSearchButtonTask(FriendViewCellModel fvcm)
        {
            var frc = new FriendRequestContract()
            {
                InitiatorId = _userSelf.Id,
                TargetId    = fvcm.UserId,
                TimeStamp   = DateTime.Now,
                Type        = FriendRequestType.Normal
            };
            await _friendRequestService.PostFriendRequestAsync(frc);

            ContactSearchRequestFriends.Remove(fvcm);
            fvcm.Status = FriendStatus.PendingRequest;
            PendingFriends.Add(fvcm);
            FilterGroupsBySearch();
        }
示例#5
0
        private async Task PendingRequestButtonTask(FriendViewCellModel fvcm)
        {
            await Task.Delay(10);

            var contract = new FriendRequestContract()
            {
                InitiatorId = _userSelf.Id,
                TargetId    = fvcm.UserId,
                TimeStamp   = DateTime.Now,
                Type        = FriendRequestType.Normal
            };
            await _friendRequestService.PostFriendRequestAsync(contract);

            PendingFriends.Remove(fvcm);
            fvcm.Status = FriendStatus.Mutual;
            MutualFriends.Add(fvcm);
            FilterGroupsBySearch();
        }
示例#6
0
 private void UserProfileButtonTask(FriendViewCellModel fvcm)
 {
     UserFrameVisibility = true;
     // TODO: had issues trying to resolve the zone that a current
     //       user was in. need to refactor the zone-resolution services
     //if (fvcm != null)
     //{
     //    string zid = _layerService.FindZoneContainingUser(fvcm.UserId);
     //    ZoneContract zc = null;
     //    if (!String.IsNullOrEmpty(zid))
     //    {
     //        zc = await _zoneService.GetZoneContractAsync(zid);
     //    }
     //    if (zc != null)
     //    {
     //        fvcm.ZoneDescription = zc.Description;
     //    }
     //}
     SelectedFriendViewModel = fvcm;
 }