public static void ChangeGroupMessage(SocketAsyncEventArgs e) { MClient mClient = MClient.CreateInstance(); AsyncUserToken token = (AsyncUserToken)e.UserToken; //得到一个完整的包的数据,放入新list,第二个参数是数据长度,所以要减去8 List <byte> onePackage = token.receiveBuffer.GetRange(8, token.packageLen - 8); //将复制出来的数据从receiveBuffer旧list中删除 token.receiveBuffer.RemoveRange(0, token.packageLen); //list要先转换成数组,再转换成字符串 String jsonStr = Encoding.Default.GetString(onePackage.ToArray()); //得到用户名和密码 JArray jArray = JArray.Parse(jsonStr); //先保存好友信息 if (jArray[0]["isOk"].ToString().Equals("True")) { Console.WriteLine("保存好友信息"); foreach (var obj in jArray) { SqliteConnect.SaveFriendInfo(obj["id"].ToString(), obj["Group"].ToString(), obj["UserName"].ToString(), obj["RealName"].ToString(), obj["Sex"].ToString(), obj["BirthDay"].ToString(), obj["Address"].ToString(), obj["Email"].ToString(), obj["PhoneNumber"].ToString(), obj["Remarks"].ToString()); } } //然后删除原分组List中的好友 Application.Current.Dispatcher.Invoke( new Action(() => { FriendListViewModel friendListViewModel = FriendListViewModel.CreateInstance(); FriendEntity.InGroupListDelete(friendListViewModel.friendGroups, jArray[0]["id"].ToString()); }) ); }
public AcceptFriendRequestCommand(FriendListViewModel friendListViewModel, Action updateFriendAction, IFriendService friendService, ILogger logger) { _friendListViewModel = friendListViewModel; _updateFriendAction = updateFriendAction; _friendService = friendService; _logger = logger; }
// GET: Friends public ActionResult Index(string DistanceSearch, string FromWhere, string FromWhereCity) { GoogleMapsAPI maps = GoogleMapsAPI.getInstance(); // retrieve the current Client's IP string clientIp = getUsersIP(); // use IpApi to retrieve the client's location // or use search city string lat = null, lng = null; if (!String.IsNullOrEmpty(FromWhere) && FromWhere == "other" && !String.IsNullOrEmpty(FromWhereCity)) { string[] location = maps.getAddressInfoByStreet(FromWhereCity); if (location != null) { lat = location[0]; lng = location[1]; } } if (String.IsNullOrEmpty(lat) || String.IsNullOrEmpty(lng)) { string location = new WebClient().DownloadString(String.Format("https://ipapi.co/{0}/latlong/", clientIp)); lat = location.Substring(0, location.IndexOf(",")).Trim(); lng = location.Substring(lat.Length + 1).Trim(); } // check distance from search double dist = 10000; if (!String.IsNullOrEmpty(DistanceSearch)) { Double.TryParse(DistanceSearch, out dist); } //set up for query call var pLat = new SqlParameter("p_lat", lat); var pLng = new SqlParameter("p_lng", lng); var pDist = new SqlParameter("p_dist", dist); // call the procedure var friendList = db.Database.SqlQuery <FriendWithDistanceViewModel>("exec geodist @p_lat, @p_lng, @p_dist", pLat, pLng, pDist); // setup info for display string address = maps.getAddressInfoByLocation(lat, lng); ViewBag.IntellisenseScript = GoogleMapsAPI.getIntellisenseScriptURL(); FriendListViewModel viewModel = new FriendListViewModel() { friendList = friendList, clientIp = clientIp, lat = lat, lng = lng, location = address }; return(View(viewModel)); }
public static void DeleteFriendMessage(SocketAsyncEventArgs e) { MClient mClient = MClient.CreateInstance(); AsyncUserToken token = (AsyncUserToken)e.UserToken; //得到一个完整的包的数据,放入新list,第二个参数是数据长度,所以要减去8 List <byte> onePackage = token.receiveBuffer.GetRange(8, token.packageLen - 8); //将复制出来的数据从receiveBuffer旧list中删除 token.receiveBuffer.RemoveRange(0, token.packageLen); //list要先转换成数组,再转换成字符串 String jsonStr = Encoding.Default.GetString(onePackage.ToArray()); //得到用户名和密码 Console.WriteLine("jsonStr = " + jsonStr); JObject obj = JObject.Parse(jsonStr); //先从数据库中删除 SqliteConnect.DeleteFriendById(obj["Id"].ToString()); //然后从好友队列中删除 Application.Current.Dispatcher.Invoke( new Action(() => { FriendListViewModel friendListViewModel = FriendListViewModel.CreateInstance(); FriendEntity.InGroupListDelete(friendListViewModel.friendGroups, obj["Id"].ToString()); }) ); }
//更新好友状态 public static void FriendStatusMessage(SocketAsyncEventArgs e) { MClient mClient = MClient.CreateInstance(); AsyncUserToken token = (AsyncUserToken)e.UserToken; //得到一个完整的包的数据,放入新list,第二个参数是数据长度,所以要减去8 List <byte> onePackage = token.receiveBuffer.GetRange(8, token.packageLen - 8); //将复制出来的数据从receiveBuffer旧list中删除 token.receiveBuffer.RemoveRange(0, token.packageLen); //list要先转换成数组,再转换成字符串 String jsonStr = Encoding.Default.GetString(onePackage.ToArray()); //得到用户名和密码 Console.WriteLine("jsonStr = " + jsonStr); JArray jArray = JArray.Parse(jsonStr); foreach (var obj in jArray) { //修改好友状态 Application.Current.Dispatcher.Invoke( new Action(() => { FriendListViewModel friendListViewModel = FriendListViewModel.CreateInstance(); try { FriendEntity.UpdateFriendStatus(friendListViewModel.friendGroups, obj["id"].ToString(), obj["Group"].ToString(), obj["Status"].ToString()); } catch (Exception ex) { Console.Write(ex); } }) ); } }
public RemoveFriendCommand(FriendListViewModel friendListViewModel, Action updateFriendAction, IFriendService friendService, ILogger logger) { _friendListViewModel = friendListViewModel; _updateFriendAction = updateFriendAction; _friendService = friendService; _logger = logger; }
public IActionResult GetAllFriends([FromBody] GetMoodByUserViewModel user) { List <User> friends = new List <User>(); List <FriendListViewModel> friendList = new List <FriendListViewModel>(); try { friends = _friendshipRepo.GetAllFriendsByUserId(user.UserId); if (friends != null) { foreach (var friend in friends) { FriendListViewModel friendListViewModel = new FriendListViewModel { FirstName = friend.FirstName, LastName = friend.LastName, UserId = friend.Id, Phone = friend.PhoneNumber }; friendList.Add(friendListViewModel); } } return(Ok(friendList)); } catch (Exception e) { return(BadRequest()); } }
public ActionResult ViewFriendList(int profileId) { try { var ctx = new AppDbContext(); FriendListViewModel viewModel = new FriendListViewModel(); var result = (from Friend in ctx.Friends join Category in ctx.Categories on Friend.CategoryId equals Category.CategoryId join Profile in ctx.Profiles on Friend.SenderId equals Profile.ProfileId where Friend.RecieverId == profileId && Profile.Active == true select new FriendListViewModel { ProfileId = Profile.ProfileId, Förnamn = Profile.Förnamn, Efternamn = Profile.Efternamn, CategoryId = Category.CategoryId, CategoryName = Category.CategoryName, ImagePath = ctx.Images.FirstOrDefault(a => a.ProfileId == Profile.ProfileId).ImgPath }).ToList(); var categories = ctx.Categories.ToList(); ViewBag.Category = new SelectList(categories, "CategoryId", "CategoryName"); return(View(result)); } catch (Exception) { return(RedirectToAction("GenericError", "ErrorHandler")); } }
//private readonly UserViewModel _userViewModel; #endregion #region Ctor public FriendList(IUserService userService, string userName) { InitializeComponent(); var friendListView = new FriendListViewModel(userService, userName); DataContext = friendListView; FriendListBox.ItemsSource = friendListView.FriendList; }
public FriendListViewModel GetFriendsCtrl(int id) { FriendListViewModel fvm = new FriendListViewModel(); FriendsBusinessLayer fbl = new FriendsBusinessLayer(); List <PersonalDetails> f = fbl.getAllFriends(id); fvm.friendListViewModel = f; return(fvm); }
public ActionResult UserFriends(string id) { FriendListViewModel model = new FriendListViewModel(); model.ProfileDisplayed = UserService.Service.GetUserById(id); model.FriendRequests = UserService.Service.GetFriendRequestsForUser(id); model.Friends = UserService.Service.GetFriendsForUser(id); model.UserDisplayed = UserService.Service.GetUserById(User.Identity.GetUserId()); return(View(model)); }
public static void AddFriendRetMessage(SocketAsyncEventArgs e) { MClient mClient = MClient.CreateInstance(); AsyncUserToken token = (AsyncUserToken)e.UserToken; //得到一个完整的包的数据,放入新list,第二个参数是数据长度,所以要减去8 List <byte> onePackage = token.receiveBuffer.GetRange(8, token.packageLen - 8); //将复制出来的数据从receiveBuffer旧list中删除 token.receiveBuffer.RemoveRange(0, token.packageLen); //list要先转换成数组,再转换成字符串 String jsonStr = Encoding.Default.GetString(onePackage.ToArray()); //得到用户名和密码 Console.WriteLine("jsonStr = " + jsonStr); JArray jArray = JArray.Parse(jsonStr); if (jArray[0]["isOk"].ToString().Equals("True")) { AddFriendViewModel addFriendViewModel = AddFriendViewModel.CreateInstance(); Console.WriteLine("显示模糊搜索到的用户信息"); FriendListViewModel friendListViewModel = FriendListViewModel.CreateInstance(); MClientViewModel mClientViewModel = MClientViewModel.CreateInstance(); foreach (var obj in jArray) { //如果这个用户已经是好友了,那么就继续看下一个 if (friendListViewModel.isFriendList(obj["Id"].ToString())) { continue; } //把自己的id也排除出去 if (mClientViewModel.UserName.Equals(obj["UserName"].ToString())) { continue; } FriendInfo friendInfo = new FriendInfo(); friendInfo.Id = obj["Id"].ToString(); friendInfo.FriendName = obj["UserName"].ToString(); //把搜索到的好友数据添加进去 Application.Current.Dispatcher.Invoke( new Action(() => { //更新查询到的好友信息 addFriendViewModel.FrienInfoGroup.Add(friendInfo); }) ); } } else { MessageBox.Show("没有查询到接近的用户"); } }
public async Task <ActionResult> Index() { var friends = (await _friendAppService.GetAll(new PagedResultRequestDto { MaxResultCount = int.MaxValue })).Items; // Paging not implemented yet var model = new FriendListViewModel { Friends = friends, }; return(View(model)); }
public async Task <List <UserViewModel> > GetFriendsAsync(string username) { var client = _twitterConnection.GetTwitterClient(); string url = $"1.1/friends/list.json?screen_name={username}&include_user_entities=false"; HttpResponseMessage response = await client.GetAsync(url); response.EnsureSuccessStatusCode(); var responseBody = await response.Content.ReadAsStringAsync(); FriendListViewModel friends = JsonConvert.DeserializeObject <FriendListViewModel>(responseBody); return(friends.Users); }
public async Task Navigate_to_chat_command_null_selected_friend() { var _userRepository = new Mock <IUserRepository>(); var _chatRepository = new Mock <IChatRepository>(); var _navigationService = new Mock <IMvxNavigationService>(); var friendListViewModel = new FriendListViewModel( _userRepository.Object, _chatRepository.Object, _navigationService.Object ); await friendListViewModel.NavigateToSelectedFriendChat(); _userRepository.Verify(x => x.GetUser(It.IsAny <string>()), Times.Never()); _chatRepository.Verify(x => x.GetChat(It.IsAny <User>(), It.IsAny <User>()), Times.Never()); _navigationService.Verify(x => x.Navigate <ChatViewModel, ChatParameters>(It.IsAny <ChatParameters>(), null), Times.Never()); }
public FriendListViewModel GetFriendsByMessageRegime(long accountId, MessageRegime?messageRegime, int pageNumber, int pageSize) { var account = _accountManager.GetAccountById(accountId); var friends = new GetFriendsByMessageRegimeQueryHandler(new DataBaseContext()).Handle(new GetFriendsByMessageRegimeQuery { AccountId = accountId, GroupSettingsId = account.GroupSettingsId, MessageRegime = messageRegime, Page = new PageModel { PageNumber = pageNumber, PageSize = pageSize } }); var pageInfo = new PageInfoModel { PageNumber = pageNumber, PageSize = pageSize, TotalItems = friends.CountAllFriends }; var result = new FriendListViewModel { AccountId = accountId, Friends = friends.Friends.Select(model => new FriendViewModel { AddDateTime = model.AddedDateTime, Id = model.Id, Deleted = model.Deleted, FacebookId = model.FacebookId, MessagesEnded = model.DialogIsCompleted, Name = model.FriendName, Href = model.Href, IsAddedToGroups = model.IsAddedToGroups, IsAddedToPages = model.IsAddedToPages, IsWinked = model.IsWinked, MessageRegime = model.MessageRegime, AddedToRemoveDateTime = model.AddedToRemoveDateTime, CountWinksToFriends = model.CountWinksToFriends }).ToList(), PageInfo = pageInfo }; return(result); }
public async Task Add_user_to_friend_list_command_success() { var _userRepository = new Mock <IUserRepository>(); User user = new User(); var friendListViewModel = new FriendListViewModel( _userRepository.Object, null, null ); await friendListViewModel.PrepareAsync(user); friendListViewModel.SelectedNewFriend = new UserViewModel(user); friendListViewModel.SelectedNewFriend.EmailAddress = "*****@*****.**";; await friendListViewModel.AddUserToFriendList(); _userRepository.Verify(x => x.AddUserToFriendList(It.IsAny <User>(), It.IsAny <Friend>())); }
public async Task Search_for_user_command_success() { var _userRepository = new Mock <IUserRepository>(); var _chatRepository = new Mock <IChatRepository>(); var _navigationService = new Mock <IMvxNavigationService>(); var friendListViewModel = new FriendListViewModel( _userRepository.Object, _chatRepository.Object, _navigationService.Object ); List <User> userList = new List <User>(); userList.Add(new User()); userList.Add(new User()); userList.Add(new User()); _userRepository.Setup(x => x.FindUsers(It.IsAny <string>())).Returns(Task.Run(() => userList)); await friendListViewModel.SearchForUser(); _userRepository.Verify(x => x.FindUsers(It.IsAny <string>())); }
public IViewComponentResult Invoke() { //List<IdentityUser> friends = new List<IdentityUser>(); //List<UserRelationship> userRelationships = _db.UserRelationships.Where(u => u.UserId == "XXXXXX").ToList(); //foreach (UserRelationship ur in userRelationships) //{ // IdentityUser friend = _identityDb.Users.FirstOrDefault(i => i.Id == ur.FriendId); // friends.Add(friend); //} FriendListViewModel friendListViewModel = new FriendListViewModel { //Friends = friends Friends = new List <User> { new User { Id = 1, Name = "Gerda Larsen" }, new User { Id = 2, Name = "Karsten Olsen" }, new User { Id = 3, Name = "Kim Nielsen" }, new User { Id = 4, Name = "Morten Pedersen" }, new User { Id = 5, Name = "Hanne Holm" } } }; return(View(friendListViewModel)); }
public FriendListViewModel CreateFriendListViewModel(FriendList friendList, Action refreshFriendListAction) { var friendListViewModel = new FriendListViewModel() { FriendListItems = new ObservableCollection <FriendListItem>() }; var acceptFriendCommand = new AcceptFriendRequestCommand(friendListViewModel, refreshFriendListAction, _friendService, _logger); var removeFriendCommand = new RemoveFriendCommand(friendListViewModel, refreshFriendListAction, _friendService, _logger); foreach (var incomingRequest in friendList.IncomingRequests) { friendListViewModel.FriendListItems.Add(MapFriendRequestToViewModel(incomingRequest, acceptFriendCommand, removeFriendCommand)); } foreach (var friend in friendList.Friends.Where(t => t.IsOnline)) { friendListViewModel.FriendListItems.Add(MapFriendToViewModel(friend, removeFriendCommand)); } foreach (var friend in friendList.Friends.Where(t => !t.IsOnline)) { friendListViewModel.FriendListItems.Add(MapFriendToViewModel(friend, removeFriendCommand)); } friendListViewModel.FriendListItems.Add(new FriendListSeparator()); foreach (var outgoingRequest in friendList.OutgoingRequests) { friendListViewModel.FriendListItems.Add(MapOutoingFriendRequest(outgoingRequest, removeFriendCommand)); } friendListViewModel.OnlineFriendsCount = friendListViewModel.FriendListItems.Count(t => t is OnlineFriend); friendListViewModel.FriendListCount = friendList.Friends.Count; return(friendListViewModel); }
public async Task <IActionResult> FriendList() { var name = User.FindFirstValue(ClaimTypes.Name); if (name == null) { return(View()); } var user = await _context.User.FirstOrDefaultAsync(a => a.UserName == name); if (user == null) { return(View()); } var userId = user.Id; var friendList = await _context.Friends.Where(a => a.UserId == userId).ToListAsync <FriendList>(); var friendUserList = new List <User>(); var friendAnimeUpdates = new List <AnimeItem>(); var friendMangaUpdates = new List <MangaItem>(); var friendNovelUpdates = new List <NovelItem>(); foreach (var row in friendList) { var friend = await _context.User.FirstOrDefaultAsync(a => a.Id == row.FriendId); if (friend != null) { friendUserList.Add(friend); } var animeList = await _context.AnimeList.OrderByDescending(a => a.Id).FirstOrDefaultAsync(a => a.UserId == row.FriendId); if (animeList != null) { var animeItem = await _context.AnimeItem.FirstOrDefaultAsync(a => a.Id == animeList.AnimeItemId); if (animeItem != null) { friendAnimeUpdates.Add(animeItem); } else { var blankAnime = new AnimeItem(); friendAnimeUpdates.Add(blankAnime); } } else { var blankAnime = new AnimeItem(); friendAnimeUpdates.Add(blankAnime); } var mangaList = await _context.MangaList.OrderByDescending(a => a.Id).FirstOrDefaultAsync(a => a.UserId == row.FriendId); if (mangaList != null) { var mangaItem = await _context.MangaItem.FirstOrDefaultAsync(a => a.Id == mangaList.MangaItemId); if (mangaItem != null) { friendMangaUpdates.Add(mangaItem); } else { var blankManga = new MangaItem(); friendMangaUpdates.Add(blankManga); } } else { var blankManga = new MangaItem(); friendMangaUpdates.Add(blankManga); } var novelList = await _context.NovelList.OrderByDescending(a => a.Id).FirstOrDefaultAsync(a => a.UserId == row.FriendId); if (novelList != null) { var novelItem = await _context.NovelItem.FirstOrDefaultAsync(a => a.Id == novelList.NovelItemId); if (novelItem != null) { friendNovelUpdates.Add(novelItem); } else { var blankNovel = new NovelItem(); friendNovelUpdates.Add(blankNovel); } } else { var blankNovel = new NovelItem(); friendNovelUpdates.Add(blankNovel); } } var friendListViewModel = new FriendListViewModel { UserList = friendUserList, LastAnimeUpdateList = friendAnimeUpdates, LastMangaUpdateList = friendMangaUpdates, LastNovelUpdateList = friendNovelUpdates }; return(View(friendListViewModel)); }
public MainPage() { InitializeComponent(); _friendList = DataContext as FriendListViewModel; }
public FriendList() { InitializeComponent(); BindingContext = viewModel = new FriendListViewModel(); MessagingCenter.Subscribe <MainPage>(this, "LoadFriends", (c) => viewModel.GetContacts.Execute(null)); }
public FriendListWindow() { InitializeComponent(); this.DataContext = FriendListViewModel.CreateInstance(); }