public ActionResult Index() { MembershipUser user = Membership.GetUser(); if (user == null) { return(RedirectToAction("Index", "Account")); } Int32 currentUserId = (int?)user.ProviderUserKey ?? 0; FriendsViewModel model = new FriendsViewModel(); //выбираем друзей IEnumerable <UserViewModel> friends = new List <UserViewModel>(); FillUsersList(dataManager.Friends.GetFriendIdsByUserId(currentUserId), ref friends); model.Friends = friends; //выбираем входящие заявки IEnumerable <UserViewModel> incomingRequests = new List <UserViewModel>(); FillUsersList(dataManager.FriendRequests.GetIncomingRequestUserIdsByUserId(currentUserId), ref incomingRequests); model.IncomingRequests = incomingRequests; //выбираем исходящие заявки IEnumerable <UserViewModel> outgoingRequests = new List <UserViewModel>(); FillUsersList(dataManager.FriendRequests.GetOutgoingRequestUserIdsByUserId(currentUserId), ref outgoingRequests); model.OutgoingRequests = outgoingRequests; return(View(model)); }
public async Task <IActionResult> Friends(FriendsViewModel command) { var user = await _userManager.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'."); } // add friend var friend = await _userManager.FindByNameAsync(command.NewFriend); if (friend == null) { var newModel = await _service.GetFriends(User); ModelState.AddModelError("NewFriend", "Error: user does not exist in database"); return(View(newModel)); } var newFriend = new Claim(Claims.Friend, command.NewFriend); await _userManager.RemoveClaimAsync(user, newFriend); await _userManager.AddClaimAsync(user, newFriend); // refresh claims await _signInManager.RefreshSignInAsync(user); var model = await _service.GetFriends(User); return(View(model)); }
// public async Task<IActionResult> Friends_Beta(int? id) // { // // Get user info and pre-setup // User_Infor usr = await _userService.Get_User_Infor(Request, Response); // if (usr == null) // { // return RedirectToAction("Index", "Login"); // }; // FriendsViewModel vm = new FriendsViewModel // { // UserID = usr.id, // UserToken = usr.token, // RoomID = id != null ? (int)id : 0 // }; // // Fetch all chat rooms // vm.RoomList = await _chatService.FetchAllChatRoom(Request, Response); // // Fetch all messages // if (vm.RoomID > 0) // { // vm.Messages = await _chatService.FetchMessage(Request, Response, vm.RoomID, 20); // } // return View(vm); // } // public async Task<IActionResult> Chat_Beta() // { // User_Infor usr = await _userService.Get_User_Infor(Request, Response); // return View(usr); // } public async Task <IActionResult> Friends(int?id) { // Get user info and pre-setup User_Infor usr = await _userService.Get_User_Infor(Request, Response); if (usr == null) { return(RedirectToAction("Index", "Login")); } ; FriendsViewModel vm = new FriendsViewModel { UserID = usr.id, UserToken = usr.token, RoomID = id != null ? (int)id : 0 }; // Fetch all chat rooms List <ChatBox> list = await _chatService.GetListChatBox(Request, Response, usr.id); ViewBag.ListChatBox = list; vm.RoomList = await _chatService.FetchAllChatRoom(Request, Response); // Fetch all messages if (vm.RoomID > 0) { vm.Messages = await _chatService.FetchMessage(Request, Response, vm.RoomID, 20); } return(View(vm)); }
public FriendsView() { InitializeComponent(); _viewModel = new FriendsViewModel(); this.DataContext = _viewModel; }
public async void SetSelectedUser(string fromId) { try { if (String.IsNullOrWhiteSpace(fromId) == false) { Friend senderFriend = FriendsViewModel.Where(friend => friend.Id == fromId).FirstOrDefault(); if (senderFriend != null) { await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { if (senderFriend != _selectedFriend) { SelectedFriend = senderFriend; } else { } }); } } } catch (Exception ex) { ex.ToString(); } }
public ActionResult Index() { var index = this.identity.Identity.Name.IndexOf("@"); if (index < 0) { Guard.WhenArgument(index, "Name cannot be null").IsLessThan(0) .Throw(); } var friendListName = this.identity.Identity.Name.Substring(0, index); var friends = this.friendList.GetAllFriends(friendListName); var friendList = new FriendsViewModel(); var friendsView = new List <FriendViewModel>(); if (friends.Count != 0) { friendsView = friends.Select(x => new FriendViewModel() { Name = x.Name, Birthday = x.Birthday, Gender = x.Gender }) .ToList(); } return(View(friendsView)); }
public IActionResult Friends() { string username = HttpContext.Session.GetString("Account"); if (username != "" && username != null) { try { User u = repo.GetUser(username); FriendsViewModel vm = new FriendsViewModel(u); vm.Friends = repo.GetAcceptedFriends(u.ID); vm.Pending = repo.GetPendingUserFriends(u.ID); vm.Waiting = repo.GetWaitingUserFriends(u.ID); if (u != null) { return(View(vm)); } } catch (Exception) { return(View("Error")); } } return(RedirectToAction("LogIn", "User")); }
public async Task <FriendsViewModel> GetFriends(ClaimsPrincipal User) { var user = await userService.GetUserAsync(User); if (user == null) { throw new ApplicationException($"Unable to load user with ID '{userService.GetUserId(User)}'."); } var model = new FriendsViewModel { }; model.Friends = User.Claims.Where(x => x.Type == Claims.Friend); model.FriendsConfirmed = new bool[model.Friends.Count()]; var claim = new Claim(Claims.Friend, user.UserName); var users = await userService.GetUsersForClaimAsync(claim); if (users != null) { for (int i = 0; i < model.Friends.Count(); i++) { bool status; if (users.Where(x => x.UserName == model.Friends.ElementAt(i).Value).Count() > 0) { status = true; } else { status = false; } model.FriendsConfirmed[i] = status; } } return(model); }
public ActionResult RequestFriend() { FriendsViewModel Friends = new FriendsViewModel(); List <Customer> AlreadyFriends = new List <Customer>(); List <Customer> AllCustomers = db.Customers.ToList(); List <Friend> FriendPairs = db.Friends.ToList(); List <PendingRequests> PendingRequests = db.PendingRequests.ToList(); string currentUserId = User.Identity.GetUserId(); Friends.LoggedInCustomer = (from x in AllCustomers where x.UserId == currentUserId select x).FirstOrDefault(); Friends.Requests = (from x in db.PendingRequests.Include("RequesterId").Include("RequesteeId") where x.CustomerIdTwo == Friends.LoggedInCustomer.CustomerId || x.CustomerIdOne == Friends.LoggedInCustomer.CustomerId select x).ToList(); AllCustomers.Remove(Friends.LoggedInCustomer); List <int?> ConfirmedFriends = (from f in FriendPairs where f.CustomerIdOne == Friends.LoggedInCustomer.CustomerId select f.CustomerIdTwo).ToList(); List <int?> ConfirmedFriendsTwo = (from f in FriendPairs where f.CustomerIdTwo == Friends.LoggedInCustomer.CustomerId select f.CustomerIdOne).ToList(); List <int?> PendingFriends = (from f in PendingRequests where f.CustomerIdOne == Friends.LoggedInCustomer.CustomerId select f.CustomerIdTwo).ToList(); ConfirmedFriends.AddRange(ConfirmedFriendsTwo); for (int i = 0; i < AllCustomers.Count; i++) { for (int j = 0; j < ConfirmedFriends.Count; j++) { if (AllCustomers[i].CustomerId == ConfirmedFriends[j]) { AlreadyFriends.Add(AllCustomers[i]); } } } for (int i = 0; i < AllCustomers.Count; i++) { for (int j = 0; j < PendingFriends.Count; j++) { if (AllCustomers[i].CustomerId == PendingFriends[j]) { AlreadyFriends.Add(AllCustomers[i]); } } } for (int i = 0; i < AllCustomers.Count; i++) { bool matchFound = false; for (int j = 0; j < AlreadyFriends.Count; j++) { if (AlreadyFriends[j] == AllCustomers[i]) { matchFound = true; } } if (!matchFound) { SelectListItem item = new SelectListItem { Text = AllCustomers[i].FullName, Value = AllCustomers[i].CustomerId.ToString() }; Friends.AvailableToRequest.Add(item); } } return(View("Friends", Friends)); }
public ActionResult Friends(FriendsViewModel model) { User user; user = userService.GetUser(model.id); if (user == null) { user = userService.GetUserByEmail(User.Identity.Name); } var friends = userService.GetFriends(user.UserId, model.Users.Settings); var mapped = Mapper.Map <IEnumerable <ProfileViewModel> >(friends.Entities); var viewModel = new FriendsViewModel() { Users = new PagedCollection <ProfileViewModel>() { Entities = mapped, Settings = friends.Settings, }, IsFriends = true, id = model.id, }; return(View(viewModel)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); FriendsViewModel viewModel = (this.DataContext as FriendsViewModel); viewModel.RefreshCommand.Execute(e); viewModel.RegisterPushCommand.Execute(e); }
public FriendsWindow(User user) { InitializeComponent(); var vm = new FriendsViewModel(user); this.DataContext = vm; vm.CloseWindowEvent += Vm_CloseWindowEvent; }
private void Init() { FriendsFilter = new FriendsViewModel(); GroupsFilter = new GroupsViewModel(); AudioPlayerVM = new AudioPlayerViewModel(); ShowMyAudiosCommand = new DelegateCommand(() => AudioPlayerVM.ShowMyAudios()); SelectedFilter = AudioFilters.My; AudioPlayerVM.OnLoadingStateChanged += audioPlayerVM_OnLoadingStateChanged; }
void btnAdd_Click(object sender, EventArgs e) { FriendsViewModel context = (this.DataContext as FriendsViewModel); if (context.AddNewFriend.CanExecute(null)) { context.AddNewFriend.Execute(null); } }
public async Task <IActionResult> Recieved() { var user = (await _userManager.GetUserAsync(HttpContext.User)).Id; var applicationDbContext = _context.Friendships.Include(f => f.Receiver) .Include(f => f.Sender).Where(f => f.ReceiverId == user).Where(f => f.Approved == false); List <FriendsViewModel> friendList = FriendsViewModel.Recieved(applicationDbContext.ToList()); return(View(friendList)); }
// GET: Friends public ActionResult Index(string search) { FriendsViewModel vm = new FriendsViewModel() { Friends = db.GetUsers(search), Search = search }; return(View(vm)); }
public async Task Initialize() { try { await FriendsViewModel.Initialize(); } catch (Exception exception) { //Log it, fix it or show it } }
public async Task <IActionResult> Following() { User user = await _userService.GetAsync(User); var model = new FriendsViewModel { Users = _userService.GetFollowing(user) }; return(View(model)); }
public ActionResult FriendsList() { var userId = User.Identity.GetUserId(); FriendsViewModel allFriends = new FriendsViewModel(); allFriends.Friends = _userService.GetFriendsForCard(userId); allFriends.Requests = _userService.GetRequestsForCard(userId); allFriends.UnasweredRequests = _userService.GetUnansweredRequestsForCard(userId); return(View(allFriends)); }
public MainView() { InitializeComponent(); //Poor mans dependency injection m_friendsViewModel = new FriendsViewModel(new FriendService()); DataContext = new MainViewModel(m_friendsViewModel); Loaded += OnLoaded; }
public async Task <IActionResult> ConfirmRequest(string id) { var friend = await _db.ApplicationUsers.FindAsync(id); var friends = new FriendsViewModel { applicationUser = await _db.ApplicationUsers.FindAsync(id), friends = _db.Friends.ToList() }; return(View(friends)); }
public ActionResult Index() { FriendsViewModel model = new FriendsViewModel(); //Выбираем всех пользователей IEnumerable <User> allUsers = dataManager.Users.GetUsers(); //Выбираем все заявки в друзья (входящие и исходящие) для пользователя, который залогинен на сайте IEnumerable <FriendRequest> allRequests = dataManager.FriendRequests.GetFriendRequests().Where( x => x.UserId == GetCurrentUserId() || x.PossibleFiendId == GetCurrentUserId()); //Из всех заявок выбираем входящие IEnumerable <FriendRequest> incomingRequests = allRequests.Where(x => x.UserId == GetCurrentUserId()); //Из всех заявок выбираем исходящие IEnumerable <FriendRequest> outgoingRequests = allRequests.Where(x => x.PossibleFiendId == GetCurrentUserId()); //По Id из входящих заявок выбираем соответствующих User'ов и передаём их в модель model.IncomingRequests = ( from aU in allUsers from iR in incomingRequests where aU.Id == iR.PossibleFiendId select aU ); //То же самое для исходящих заявок model.OutgoingRequests = ( from aU in allUsers from oR in outgoingRequests where aU.Id == oR.UserId select aU ); //Выбираем все записи о друзьях для пользователя, который залогинен на сайте IEnumerable <Friend> allFriends = dataManager.Friends.GetFriends().Where(x => x.FriendId == GetCurrentUserId()); //По Id из записей о друзьях выбираем User'ов и передаём их в модель model.Friends = ( from aU in allUsers from aF in allFriends where aU.Id == aF.UserId select aU ); return(View(model)); }
public override void ViewDidLoad() { base.ViewDidLoad(); viewModel = App.FriendsViewModel; SetUpCollectionView(); SetUpPullToRefresh(); var layout = (UICollectionViewFlowLayout)CollectionView.CollectionViewLayout; layout.MinimumLineSpacing = 0; layout.MinimumInteritemSpacing = 0; layout.SectionInset = new UIEdgeInsets(10, 0, 0, 0); CollectionView.RegisterClassForCell(typeof(UICollectionViewFriendCell), UICollectionViewFriendCell.CellId); gestureAttacher = new LongPressGestureAttacher(CollectionView, (gesture) => { var p = gesture.LocationInView(CollectionView); var indexPath = CollectionView.IndexPathForItemAtPoint(p); if (indexPath == null) { return; } var friend = viewModel.Friends[indexPath.Row]; if (friend == null) { return; } viewModel.ExecuteFlagFriendCommand(friend.FriendId, friend.Name); }); var addFriend = new UIBarButtonItem(UIBarButtonSystemItem.Add, delegate { App.MessageDialog.SelectOption("Add Friend", new[] { "Enter Email", "Pick Contact" }, (which) => { if (which == 0) { App.MessageDialog.AskForString("Enter friend's email:", "Add Friend", (email) => { viewModel.ExecuteSearchForFriendCommand(email); }); } else if (which == 1) { PresentViewController(AddressBookManager.PeoplePicker, true, null); } } ); }); NavigationItem.RightBarButtonItem = addFriend; }
public async Task Initialize() { try { await FriendsViewModel.Initialize(); HairCountingViewModel.EvaluateFriendsWithBlackHair(FriendsViewModel.Friends.ToList()); } catch (Exception exception) { //Log it, fix it or show it } }
public ActionResult Delete(int id, IFormCollection collection) { try { // TODO: Add delete logic here FriendsViewModel.Delete(id); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public ActionResult Edit(int id, string name, string lastName, string email, DateTime birthday) { try { // TODO: Add update logic here FriendsViewModel.Edit(id, name, lastName, email, birthday); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
public async Task Initialize() { try { await FriendsViewModel.Initialize(EvaluateHairCounter); EvaluateHairCounter(); } catch (Exception exception) { //Log it, fix it or show it } }
public ActionResult RequestFriend(FriendsViewModel model) { int customerIdTwo = Int32.Parse(model.RequestedCustomerId); string userId = User.Identity.GetUserId(); int customerIdOne = (from x in db.Customers where x.UserId == userId select x.CustomerId).FirstOrDefault(); PendingRequests request = new PendingRequests(); request.CustomerIdOne = customerIdOne; request.CustomerIdTwo = customerIdTwo; db.PendingRequests.Add(request); db.SaveChanges(); return(RedirectToAction("RequestFriend", "Friends")); }
// GET: Friends //public async Task<IActionResult> Index() public async Task <IActionResult> Index(FriendsViewModel viewModel) { // Get current user var user = await GetCurrentUserAsync(); //var friends = (await _context.Friend // .Include(f => f.FriendA) // .ThenInclude(fA => fA.TripList) // .ThenInclude(t => t.Cities) // .Include(f => f.FriendB) // .ThenInclude(fB => fB.TripList) // .ThenInclude(t => t.Cities) // .Where(f => (f.FriendAId == user.Id || f.FriendBId == user.Id) && f.Status == "accepted") // .ToListAsync()) // .Select(f => f.FriendA.Id == user.Id ? f.FriendB : f.FriendA); //return View(friends); var friends = (await _context.Friend .Include(f => f.FriendA) .ThenInclude(fA => fA.TripList) //.OrderByDescending(t => t.StartDate) .ThenInclude(t => t.Cities) .Include(f => f.FriendB) .ThenInclude(fB => fB.TripList) .ThenInclude(t => t.Cities) .Where(f => (f.FriendAId == user.Id || f.FriendBId == user.Id) && f.Status == "accepted") .ToListAsync()) .Select(f => f.FriendA.Id == user.Id ? f.FriendB : f.FriendA); var received = (await _context.Friend .Include(f => f.FriendA) .Include(f => f.FriendB) .Where(f => f.FriendBId == user.Id && f.Status == "pending") .ToListAsync()); var sent = (await _context.Friend .Include(f => f.FriendA) .Include(f => f.FriendB) .Where(f => f.FriendAId == user.Id && f.Status == "pending") .ToListAsync()); viewModel = new FriendsViewModel() { CurrentFriends = friends.ToList(), SentRequests = sent, ReceivedRequests = received }; return(View(viewModel)); }
public async Task Initialize() { try { await FriendsViewModel.Initialize(); EvaluateHairColorCount(); SubscribeToEvents(); } catch (Exception exception) { //Log it, fix it or show it } }
public override void ViewDidLoad () { base.ViewDidLoad (); viewModel = App.FriendsViewModel; SetUpCollectionView (); SetUpPullToRefresh (); var layout = (UICollectionViewFlowLayout)CollectionView.CollectionViewLayout; layout.MinimumLineSpacing = 0; layout.MinimumInteritemSpacing = 0; layout.SectionInset = new UIEdgeInsets (10, 0, 0, 0); CollectionView.RegisterClassForCell (typeof(UICollectionViewFriendCell), UICollectionViewFriendCell.CellId); gestureAttacher = new LongPressGestureAttacher (CollectionView, (gesture)=> { var p = gesture.LocationInView(CollectionView); var indexPath = CollectionView.IndexPathForItemAtPoint(p); if(indexPath == null) return; var friend = viewModel.Friends[indexPath.Row]; if(friend == null) return; viewModel.ExecuteFlagFriendCommand(friend.FriendId, friend.Name); }); var addFriend = new UIBarButtonItem (UIBarButtonSystemItem.Add, delegate { App.MessageDialog.SelectOption("Add Friend", new[]{"Enter Email", "Pick Contact"}, (which) => { if(which == 0) { App.MessageDialog.AskForString("Enter friend's email:", "Add Friend", (email)=> { viewModel.ExecuteSearchForFriendCommand(email); }); } else if(which == 1) { PresentViewController (AddressBookManager.PeoplePicker, true, null); } } ); }); NavigationItem.RightBarButtonItem = addFriend; }