public async Task <IActionResult> FollowUser(string userName, string isFollow) { var user = new ApplicationUser(); user = await user.getUserAsync(userName); var loginUser = new ApplicationUser(); loginUser = await loginUser.getUserAsync(User.Identity.Name); var dbcs = new DbConnectionService(); try { dbcs.Open(); dbcs.BeginTran(); var follow = new FollowUsers(loginUser, user); if (isFollow == "true") { // フォロー解除 await follow.delete(dbcs); isFollow = "false"; } else { //フォロー await follow.insert(dbcs); isFollow = "true"; } dbcs.CommitTran(); } catch (OracleException ex) { Console.WriteLine(ex.Message); return(BadRequest("Network Error")); } finally { dbcs.Close(); } return(Ok(new { isFollow = isFollow })); }
public async Task <IActionResult> Index(string UserName, int?pageNum) { var DispUser = new ApplicationUser(); DispUser = await DispUser.getUserAsync(UserName); ViewBag.user = DispUser; ViewData["pageNum"] = pageNum ?? 1; var dbcs = new DbConnectionService(); dbcs.Open(); // ログインしている場合、ログインユーザのマイページかとフォロー状態をチェック if (User.Identity.IsAuthenticated) { var LoginUser = new ApplicationUser(); LoginUser = await LoginUser.getUserAsync(User.Identity.Name); if (LoginUser.Id == DispUser.Id) { ViewBag.mypage = true; ViewBag.follow = "false"; } else { ViewBag.mypage = false; ViewBag.follow = await FollowUsers.checkFollow(dbcs, LoginUser.Id, DispUser.Id); } } string sql = " where Article.UserId = :UserId " + " order by PostDate desc"; var list = await new Article().search(dbcs, sql, new { UserId = DispUser.Id }); dbcs.Close(); ViewBag.list = PaginatedService <Article> .Create(list, pageNum ?? 1, 8); return(View("Index")); }
public override async Task OnConnectedAsync() { var user = new ApplicationUser(); user = await user.getUserAsync(Context.User.Identity.Name); var dbcs = new DbConnectionService(); dbcs.Open(); var fu = new FollowUsers(); var list = await fu.GetListAsync(dbcs, user.Id); List <Task> tasks = new List <Task>(); tasks.Add(Groups.AddToGroupAsync(Context.ConnectionId, user.UserName)); foreach (var f in list) { tasks.Add(Groups.AddToGroupAsync(Context.ConnectionId, f.FollowUser.UserName)); } await Task.WhenAll(tasks); await base.OnConnectedAsync(); }