public async Task <IActionResult> Index() { Distribuerade_System_Labb_2User currentUser = await _userManager.GetUserAsync(User); List <MessageViewModel> messageList = await GetAllMessagesTo(currentUser.Id); List <Distribuerade_System_Labb_2User> users = new List <Distribuerade_System_Labb_2User>(); int SumDeleted = await messageLogic.HowManyMessageDeleted(currentUser.Id); int SumRead = await messageLogic.HowManyMessagesRead(currentUser.Id); int SumUnRead = await messageLogic.HowManyMessagesUnRead(currentUser.Id); int TotMessages = await messageLogic.HowManyMessages(currentUser.Id); foreach (var m in messageList) { var user = GetUserById(m.SenderId); if (!users.Contains(user)) { users.Add(user); } } ViewBag.NoOfDeletedMessages = SumDeleted; ViewBag.NoOfMessages = TotMessages; ViewBag.NoOfReadMessages = SumRead; ViewBag.NoOfUnReadMessages = SumUnRead; return(View(users)); }
/// <summary> /// GET List of joined groups /// </summary> /// <returns></returns> public async Task <IActionResult> JoinedGroup() { Distribuerade_System_Labb_2User currentUser = await _userManager.GetUserAsync(User); List <GroupViewModel> groups = await GetAllJoinedGroup(currentUser.Id); return(View(groups)); }
/// <summary> /// Gets messages for one resiver from one only on sender. /// </summary> /// <param name="id"></param> /// <returns>List of messages</returns> public async Task <IActionResult> MessageOfUser(string id) { Distribuerade_System_Labb_2User currentUser = await _userManager.GetUserAsync(User); if (id.Equals(null) || id.Equals("")) { return(NotFound()); } List <MessageViewModel> messages = await GetAllMessagesFrom(id, currentUser.Id); return(View(messages)); }
public async Task <ActionResult> CreateGroup([Bind("GroupTitle")] GroupViewModel group) { Distribuerade_System_Labb_2User currentUser = await _userManager.GetUserAsync(User); if (ModelState.IsValid) { int result = await groupLogic.CreateNewGroup(group.GroupTitle, currentUser.Id); TempData["ConfirmationMessage"] = "Group: " + group.GroupTitle + " was created!"; return(RedirectToAction("CreateGroup")); } return(RedirectToAction("CreateGroup")); }
/// <summary> /// GET Join group page /// </summary> /// <param name="id">Id of group</param> /// <returns></returns> public async Task <IActionResult> JoinGroup(int?id) { if (id == null) { return(NotFound()); } int groupId = id ?? default(int); Distribuerade_System_Labb_2User currentUser = await _userManager.GetUserAsync(User); bool result = await groupLogic.RegisterToGroup(groupId, currentUser.Id); return(RedirectToAction("Index")); }
public async Task <ActionResult> Create([Bind("TitleMessage,Body,SelectedValues")] SendMessageViewModel sendMessageViewModel) { Distribuerade_System_Labb_2User currentUser = await _userManager.GetUserAsync(User); if (ModelState.IsValid) { List <string> usersSentTo = new List <string>(); int result = 0; foreach (var u in sendMessageViewModel.SelectedValues) { sendMessageViewModel.ReceiverId = u; usersSentTo.Add(GetUserById(sendMessageViewModel.ReceiverId).UserName); result = await messageLogic.CreateNewMessage(sendMessageViewModel.TitleMessage, sendMessageViewModel.Body, sendMessageViewModel.ReceiverId, currentUser.Id); } TempData["ConfirmationMessage"] = "Meddelande nummer " + result + " avsänt till " + String.Join(", ", usersSentTo.ToArray()) + ", " + DateTime.Now.ToString("HH:mm yyyy-MM-dd"); return(RedirectToAction("Create")); } return(RedirectToAction("Create")); }
public async Task <IActionResult> Index() { if (User.Identity.IsAuthenticated) { Distribuerade_System_Labb_2User currentUser = await _userManager.GetUserAsync(User); int SumDeleted = await messageLogic.HowManyMessageDeleted(currentUser.Id); int SumRead = await messageLogic.HowManyMessagesRead(currentUser.Id); int SumUnRead = await messageLogic.HowManyMessagesUnRead(currentUser.Id); int TotMessages = await messageLogic.HowManyMessages(currentUser.Id); ViewBag.NoOfDeletedMessages = SumDeleted; ViewBag.NoOfMessages = TotMessages; ViewBag.NoOfReadMessages = SumRead; ViewBag.NoOfUnReadMessages = SumUnRead; } return(View()); }
public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); if (ModelState.IsValid) { var user = new Distribuerade_System_Labb_2User { UserName = Input.Email, Email = Input.Email }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { userId = user.Id, code = code }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } // If we got this far, something failed, redisplay form return(Page()); }