public IActionResult EditChat(string chatId) { var thisChat = AppDb.ChatsDatabase.Include(e => e.AppUsersChats) .ThenInclude(e => e.User) .ToList().Find(e => e.ChatId == chatId); var allUsersChats = thisChat.AppUsersChats.ToList(); var CurrentUserId = User.FindFirst(ClaimTypes.NameIdentifier).Value; var CurrentUserChat = allUsersChats.Find(e => e.UserId == CurrentUserId); var allUsersNames = new List <string>(); var allUsersIds = new List <string>(); for (int i = 0; i < allUsersChats.Count; ++i) { allUsersNames.Add(allUsersChats[i].User.UserName); allUsersIds.Add(allUsersChats[i].UserId); } var viewmodel = new AllChatsViewModel { CurrentChatId = chatId, CurrentChatName = thisChat.ChatName, CurrentChatPhotoPath = thisChat.PhotoPath, UserNameList = allUsersNames, UserIdList = allUsersIds, EditChat = CurrentUserChat.EditChat, KickUsers = CurrentUserChat.KickUsers, GiveRoles = CurrentUserChat.GiveRoles, AddUsersToChat = CurrentUserChat.AddUsersToChat }; return(View(viewmodel)); }
public IActionResult AddMemder(AllChatsViewModel model) { var User = AppDb.Users .Where(b => b.UserName == model.NewUserName) .FirstOrDefault(); if (User == null) { ModelState.AddModelError(string.Empty, "This User doesn't exist"); } else { AppUserChat newAppUserChat = new AppUserChat { ChatId = model.CurrentChatId, UserId = User.Id }; if (AppDb.ChatsUsersDatabase.Find(model.CurrentChatId, User.Id) == null) { AppDb.ChatsUsersDatabase.Add(newAppUserChat); AppDb.SaveChanges(); } else { ModelState.AddModelError(string.Empty, "This User already added"); } } return(RedirectToAction("AllChats", "Chat")); }
public AllChatsPage() { InitializeComponent(); vm = new AllChatsViewModel(); Content.BindingContext = vm; ChatListArea.BindingContext = vm; SearchArea.BindingContext = vm; GroupChatArea.BindingContext = vm; }
public IActionResult AllChats(string chatId = "") { var CurrentUserId = User.FindFirst(ClaimTypes.NameIdentifier).Value; var AllUsers = AppDb.Users .Include(x => x.AppUsersChats) .ThenInclude(x => x.Chat) .ThenInclude(x => x.Messages); var CurrentUser = AllUsers.ToList().Find(e => e.Id == CurrentUserId); var ChatList = CurrentUser.AppUsersChats.ToList(); var model = new AllChatsViewModel { CurrentUserId = CurrentUserId, CurrentUserPhotoPath = CurrentUser.Photopath, ChatList = ChatList }; Chat CurrentChat; if (chatId == "") { if (ChatList.Count() != 0) { CurrentChat = ChatList.FirstOrDefault().Chat; } else { return(View(model)); } } else { CurrentChat = ChatList.Find(e => e.ChatId == chatId).Chat; } if (CurrentChat == null) { return(RedirectToAction("Erorr", 404)); // не працює чисто фігня } model.MessageList = CurrentChat.Messages.ToList(); model.CurrentChatId = CurrentChat.ChatId; model.CurrentChatName = CurrentChat.ChatName; model.CurrentChatPhotoPath = CurrentChat.PhotoPath; return(View(model)); }
public async Task <IActionResult> EditChat(AllChatsViewModel model) { var thisChat = AppDb.ChatsDatabase.ToList().Find(e => e.ChatId == model.CurrentChatId); thisChat.ChatName = model.CurrentChatName; if (model.NewChatPhoto != null) { string uploadsFolder = Path.Combine(_webHostEnvironment.WebRootPath, "images"); string uniqueFileName = Guid.NewGuid().ToString() + "_" + model.NewChatPhoto.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); model.NewChatPhoto.CopyTo(new FileStream(filePath, FileMode.Create)); thisChat.PhotoPath = uniqueFileName; } await AppDb.SaveChangesAsync(); return(RedirectToAction("Open", new { model.CurrentChatId })); }
public IActionResult AllChats(string chatId = "") { var CurrentUserId = User.FindFirst(ClaimTypes.NameIdentifier).Value; var AllUsers = AppDb.Users .Include(x => x.AppUsersChats) .ThenInclude(x => x.Chat) .ThenInclude(x => x.Messages); var CurrentUser = AllUsers.ToList().Find(e => e.Id == CurrentUserId); var ChatList = CurrentUser.AppUsersChats.ToList(); Chat CurrentChat; if (chatId == "") { if (ChatList.Count() != 0) { CurrentChat = ChatList.FirstOrDefault().Chat; } else { var _model = new AllChatsViewModel { CurrentUserId = CurrentUserId, CurrentUserPhotoPath = CurrentUser.Photopath, ChatList = ChatList }; return(View(_model)); } } else { CurrentChat = ChatList.Find(e => e.ChatId == chatId).Chat; } if (CurrentChat == null) { return(RedirectToAction("Erorr", 404)); // не працює чисто фігня } var allUsersChats = CurrentChat.AppUsersChats.ToList(); var CurrentUserChat = allUsersChats.Find(e => e.UserId == CurrentUserId); var allUsersNames = new List <string>(); var allUsersIds = new List <string>(); for (int i = 0; i < allUsersChats.Count; ++i) { allUsersNames.Add(allUsersChats[i].User.UserName); allUsersIds.Add(allUsersChats[i].UserId); } var model = new AllChatsViewModel { CurrentUserId = CurrentUserId, CurrentUserPhotoPath = CurrentUser.Photopath, ChatList = ChatList, MessageList = CurrentChat.Messages.ToList(), CurrentChatId = CurrentChat.ChatId, CurrentChatName = CurrentChat.ChatName, CurrentChatPhotoPath = CurrentChat.PhotoPath, UserNameList = allUsersNames, UserIdList = allUsersIds, EditChat = CurrentUserChat.EditChat, KickUsers = CurrentUserChat.KickUsers, GiveRoles = CurrentUserChat.GiveRoles, AddUsersToChat = CurrentUserChat.AddUsersToChat }; return(View(model)); }