Example #1
0
        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
            });
        }
    }
Example #2
0
        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));
        }
Example #3
0
        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"));
        }
Example #4
0
        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));
            }
        }
Example #5
0
        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"));
        }
Example #6
0
        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
            });
        }