Пример #1
0
        public IActionResult AddMemder(AddMemderViewModel 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"));
        }
Пример #2
0
        public async Task <IActionResult> ChangeRole(AppUserChat model)
        {
            var userRole = AppDb.ChatsUsersDatabase.Find(model.ChatId, model.UserId);

            userRole.RoleName       = model.RoleName;
            userRole.GiveRoles      = model.GiveRoles;
            userRole.KickUsers      = model.KickUsers;
            userRole.EditChat       = model.EditChat;
            userRole.AddUsersToChat = model.AddUsersToChat;
            await AppDb.SaveChangesAsync();

            return(RedirectToAction("EditChat", new { model.ChatId }));
        }
Пример #3
0
        public async Task <IActionResult> KickUser(string chatId, string userId)
        {
            var thisChat = AppDb.ChatsDatabase.Include(e => e.AppUsersChats);
            var UserChat = new AppUserChat
            {
                ChatId = chatId,
                UserId = userId
            };

            AppDb.ChatsUsersDatabase.Remove(UserChat);
            await AppDb.SaveChangesAsync();

            return(RedirectToAction("EditChat", new { chatId }));
        }
Пример #4
0
        public async Task <IActionResult> KickUser(string chatId, string userId)
        {
            var thisChat = AppDb.ChatsDatabase.Include(e => e.AppUsersChats);
            var UserChat = new AppUserChat
            {
                ChatId = chatId,
                UserId = userId
            };

            AppDb.ChatsUsersDatabase.Remove(UserChat);
            await AppDb.SaveChangesAsync();

            var CurrentUserId = User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (userId != CurrentUserId)
            {
                return(RedirectToAction("AllChats", new { chatId }));
            }
            else
            {
                return(RedirectToAction("AllChats"));
            }
        }
Пример #5
0
        public IActionResult Create(string CurrentChatName)
        {
            if (CurrentChatName == null)
            {
                return(RedirectToAction("AllChats", "Chat"));
            }
            Chat newchat = new Chat
            {
                ChatName = CurrentChatName
            };

            AppDb.ChatsDatabase.Add(newchat);
            AppDb.SaveChanges();

            AppUserChat newAppUserChat = new AppUserChat("admin")
            {
                ChatId = newchat.ChatId,
                UserId = User.FindFirst(ClaimTypes.NameIdentifier).Value
            };

            AppDb.ChatsUsersDatabase.Add(newAppUserChat);
            AppDb.SaveChanges();
            return(RedirectToAction("AllChats", "Chat"));
        }