public async Task <APIResult> DeclineFriendRequest(UserFriendBL request) { var UserId = HttpContextExtensions.GetUserId(_httpcontext); var friend = _context.UserFriends.FirstOrDefault(uf => uf.FriendId == UserId && uf.UserId == request.FriendId); var user = _context.Users.FirstOrDefault(u => u.Id == UserId); if (friend == null) { return new APIResult() { Success = false, Error = "Аргумент request содержит ссылку на несуществующего пользователя" } } ; _context.UserFriends.Remove(friend); await _context.SaveChangesAsync(); if (user != null) { await _mailService.SendAsync(new MailModelBL() { To = user.Email, Subject = "Ваш запрос на добавление в друзья был отклонён", Body = "Чтобы посмотреть подробности перейдите по ссылке: <br> <a href=\"https://localhost:44347/Friends\">https://localhost:44347/Friends</a>" }); } return(new APIResult() { Success = true }); } }
public async Task <IActionResult> AddFriendToTask(MyTaskWithFriendViewModel viewModel) { if (ModelState.IsValid) { TaskModelBL task = await _client.Get <TaskModelBL>("api/mytask/details/" + viewModel.TaskId.ToString()); IEnumerable <UserFriendBL> friends = await _identityClient.Get <List <UserFriendBL> >("api/friends"); UserFriendBL friend = friends.FirstOrDefault(fr => fr.FriendId == viewModel.FriendId.ToString()); if (task == null || friend == null) { return(NotFound()); } task.Friends = new List <UserFriendBL> { friend }; await _client.Put("api/mytask/update", task.Id, task); return(RedirectToAction(nameof(Index))); } return(View(viewModel)); }
public async Task <IActionResult> FriendRequest(string FriendId) { var model = new UserFriendBL() { AddDate = DateTime.Now, IsApproved = false, FriendId = FriendId }; await _client.Post <UserFriendBL>("api/friendrequests", model); return(LocalRedirect("~/friends/request")); }
public async Task <IActionResult> DeclineFriendRequest(UserFriendBL request) { try { var res = await _service.DeclineFriendRequest(request); return(Ok(res)); } catch (Exception ex) { _logger.LogError(ex, "FriendsAPIController.DeclineFriendRequest"); return(new StatusCodeResult(500)); } }
public async Task <IActionResult> FriendRequestDecline(string FriendId) { var model = new UserFriendBL() { AddDate = DateTime.Now, IsApproved = true, FriendId = FriendId }; var res = await _client.Post <UserFriendBL>("api/declinefriendrequest", model); if (!res.Success) { throw new Exception(res.Error); } return(LocalRedirect("~/friends")); }
public async Task <APIResult> AddFriendRequest(UserFriendBL request) { if (request == null) { return new APIResult() { Success = false, Error = "Аргумент request = null" } } ; var UserId = HttpContextExtensions.GetUserId(_httpcontext); var user = _context.Users.FirstOrDefault(u => u.Id == UserId); var model = new UserFriend() { AddDate = request.AddDate, IsApproved = request.IsApproved, FriendId = request.FriendId, UserId = UserId }; _context.UserFriends.Add(model); await _context.SaveChangesAsync(); if (user != null) { await _mailService.SendAsync(new MailModelBL() { To = user.Email, Subject = $"Вам отправлен запрос на добавление в друзья от {user.UserName}", Body = "Чтобы принять запрос перейдите по ссылке: <br> <a href=\"https://localhost:44347/Friends\">https://localhost:44347/Friends</a>" }); } return(new APIResult() { Success = true }); }