// Send message to Groups public void SendMessage(string message) { ChatMessage chatMessage = new ChatMessage(); ChatUserVM cuVM = new ChatUserVM(); var user = activeUsers.Find(u => u.ConnectionId == Context.ConnectionId); var admin = _service.GetChatUserByConnectionId(Context.ConnectionId); if (user != null) { string roomName = Clients.Caller.roomName; var room = _service.GetActiveRoomByName(roomName); chatMessage.ChatRoomId = room.ChatRoomId; chatMessage.Content = message; chatMessage.MessageSent = GetLocalTime(); chatMessage.UserName = user.userName; _service.AddChatMessage(chatMessage); room.ChatMessages.Add(chatMessage); _service.UpdateChatRoom(room); Clients.OthersInGroup(roomName).DisplayMessage(user.userName, message, roomName); } else if (admin != null) { string roomName = Clients.Caller.roomName; var room = _service.GetActiveRoomByName(roomName); var chatAdminUser = _service.GetChatUserByConnectionId(Context.ConnectionId); chatMessage.ChatRoomId = room.ChatRoomId; chatMessage.ChatRoom = room; chatMessage.Content = message; chatMessage.MessageSent = GetLocalTime(); chatMessage.UserName = admin.UserName; chatMessage.ChatUserId = chatAdminUser.ChatUserId; chatMessage.ChatUser = chatAdminUser; _service.AddChatMessage(chatMessage); room.ChatMessages.Add(chatMessage); _service.UpdateChatRoom(room); cuVM.ChatUserId = chatAdminUser.ChatUserId; cuVM.FirstName = chatAdminUser.FirstName; cuVM.LastName = chatAdminUser.LastName; cuVM.UserName = chatAdminUser.UserName; //Clients.OthersInGroup(roomName).DisplayMessage(admin, message); Clients.OthersInGroup(roomName).DisplayMessageToClient(cuVM.FirstName, message); } }
// User Detail public ActionResult UserDetails(string userName) { var currentUser = _service.GetChatUserByUsername(HttpContext.User.Identity.Name.ToString()); ViewBag.IsAdmin = currentUser.IsAdmin; ViewBag.UserNameFullName = currentUser.FirstName + " " + currentUser.LastName; ViewBag.MenuBar = "ControlPanel"; var user = _service.GetChatUserByUsername(userName); ChatUserVM userVM = new ChatUserVM(); userVM.ChatUserId = user.ChatUserId; userVM.UserName = user.UserName; userVM.FirstName = user.FirstName; userVM.LastName = user.LastName; userVM.Email = user.Email; userVM.ConnectionId = user.ConnectionId; if (user.IsAdmin == true) { userVM.IsAdmin = "Yes"; } else { userVM.IsAdmin = "No"; } switch (user.Status) { case 1: userVM.Status = "Active"; break; case 0: userVM.Status = "Terminated"; break; default: userVM.Status = ""; break; } return View(userVM); }
public ActionResult EditUser(ChatUserVM userVM) { var user = _service.GetChatUserByUsername(userVM.UserName); user.ChatUserId = userVM.ChatUserId; user.Email = userVM.Email; user.FirstName = userVM.FirstName; user.IsAdmin = userVM.IsAdminBool; user.LastName = userVM.LastName; user.Password = userVM.Password; user.Status = userVM.SelectedStatus; if (ModelState.IsValid) { _service.UpdateAdminUser(user); return RedirectToAction("UserDetails", new { userName = user.UserName}); } return View(user); }
public ActionResult ManageUsersMain() { var currentUser = _service.GetChatUserByUsername(HttpContext.User.Identity.Name.ToString()); ViewBag.IsAdmin = currentUser.IsAdmin; ViewBag.MenuBar = "ControlPanel"; ViewBag.UserNameFullName = currentUser.FirstName + " " + currentUser.LastName; var users = _repo.GetActiveAdminChatUsers(); List<ChatUserVM> listOfChatUsers = new List<ChatUserVM>(); foreach (var user in users) { ChatUserVM viewModelForChatUser = new ChatUserVM(); viewModelForChatUser.FirstName = user.FirstName; viewModelForChatUser.LastName = user.LastName; if (user.IsAdmin == true) { viewModelForChatUser.IsAdmin = "Yes"; } else { viewModelForChatUser.IsAdmin = "No"; } switch (user.Status) { case 1: viewModelForChatUser.Status = "Active"; break; case 0: viewModelForChatUser.Status = "Terminated"; break; default: viewModelForChatUser.Status = ""; break; } viewModelForChatUser.UserName = user.UserName; viewModelForChatUser.ChatUserId = user.ChatUserId; listOfChatUsers.Add(viewModelForChatUser); } return View(listOfChatUsers); }
public ActionResult EditUser(int userId) { var user = _repo.FindUserById(userId); var currentUser = _service.GetChatUserByUsername(HttpContext.User.Identity.Name.ToString()); ViewBag.IsAdmin = currentUser.IsAdmin; ViewBag.UserNameFullName = currentUser.FirstName + " " + currentUser.LastName; ViewBag.MenuBar = "ControlPanel"; ChatUserVM chatUserVM = new ChatUserVM(); chatUserVM.ChatUserId = user.ChatUserId; chatUserVM.Email = user.Email; chatUserVM.FirstName = user.FirstName; chatUserVM.IsAdminBool = user.IsAdmin; chatUserVM.LastName = user.LastName; chatUserVM.Password = user.Password; chatUserVM.SelectedStatus = user.Status; List<UserStatus> statuses = new List<UserStatus>(){new UserStatus{ Id= 0, Name= "Inactive"}, new UserStatus{ Id = 1, Name="Active"}}; chatUserVM.DDLStatusTypes = new SelectList(statuses, "Id", "Name", user.Status); chatUserVM.UserName = user.UserName; return View(chatUserVM); }