Exemple #1
0
        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));
        }
Exemple #2
0
        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"));
        }
Exemple #3
0
 public AllChatsPage()
 {
     InitializeComponent();
     vm = new AllChatsViewModel();
     Content.BindingContext       = vm;
     ChatListArea.BindingContext  = vm;
     SearchArea.BindingContext    = vm;
     GroupChatArea.BindingContext = vm;
 }
Exemple #4
0
        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));
        }
Exemple #5
0
        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 }));
        }
Exemple #6
0
        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));
        }