public ActionResult RemoveUser(int idUser) { using (var context = new JayaModelContainer()) { using (var transaction = new TransactionScope()) { var user = context.Users.FirstOrDefault(u => u.IdUser == idUser); user.WasRemoved = true; user.IsActive = false; context.SaveChanges(); ViewBag.nickname = user.Nick; var rooms = context.Rooms.Where(r => r.IsActive && r.Chats.Any(c => c.IdUser == idUser) && r.Chats.Count(c => c.IdUser == idUser && c.IsEvent) % 2 != 0); foreach (var room in rooms) { ViewBag.idRoom = room.IdRoom; room.CurrentUsers--; if (room.CurrentUsers == 0) { room.IsActive = false; } context.Chats.Add(new Chat { IdRoom = room.IdRoom, IdUser = idUser, IsEvent = true, Message = $"{user.Nick} Ha sido expulsado" }); context.SaveChanges(); } transaction.Complete(); } return(View()); } }
public ActionResult Index(string nickname) { if (string.IsNullOrWhiteSpace(nickname)) { return(Index()); } ViewData["NickName"] = nickname == "" ? null : nickname; using (var context = new JayaModelContainer()) { if (context.Users.Any(u => u.Nick == nickname.ToLower() && u.IsActive)) { ModelState.AddModelError("Nick", "El nickname ya existe."); } else { var user = new User { IsActive = true, Nick = nickname.ToLower() }; context.Users.Add(user); context.SaveChanges(); return(RedirectToAction("Room", new { nickname, id = user.IdUser })); } return(View()); } }
public ActionResult Index() { using (var context = new JayaModelContainer()) { var rooms = context.Rooms; return(View(rooms.ToList())); } }
public ActionResult Chat(int idRoom) { using (var context = new JayaModelContainer()) { var room = context.Rooms.FirstOrDefault(r => r.IdRoom == idRoom); ViewBag.Title = $"Chat de la sala {room.Name}"; var chats = context.Chats.Include("User").Where(c => c.IdRoom == idRoom); return(View(chats.ToList())); } }
public ActionResult Room(string nickname, int id) { ViewBag.nickname = nickname; ViewBag.id = id; using (var context = new JayaModelContainer()) { var rooms = context.Rooms.Where(r => r.IsActive); return(View(rooms.ToList())); } }
public ActionResult RoomsUser(int idUser) { using (var context = new JayaModelContainer()) { var user = context.Users.FirstOrDefault(u => u.IdUser == idUser); ViewBag.Title = $"Salas de {user.Nick}"; ViewBag.idUser = idUser; var rooms = context.Rooms.Where(r => r.Chats.Any(c => c.IdUser == idUser)); return(View(rooms.ToList())); } }
public JsonResult SaveMessage(string message, int idUser, int idRoom) { using (var context = new JayaModelContainer()) { context.Chats.Add(new Chat { IdRoom = idRoom, IdUser = idUser, Message = message }); context.SaveChanges(); } return(null); }
public ActionResult MessagesUser(int idRoom, int idUser) { using (var context = new JayaModelContainer()) { var user = context.Users.FirstOrDefault(u => u.IdUser == idUser); var room = context.Rooms.FirstOrDefault(r => r.IdRoom == idRoom); var chats = context.Chats.Where(c => c.IdRoom == idRoom && c.IdUser == idUser); ViewBag.Title = $"Mensajes de {user.Nick} en la sala {room.Name}"; ViewBag.idUser = idUser; return(View(chats.ToList())); } }
public ActionResult Index() { using (var context = new JayaModelContainer()) { var users = context.Users; var usersWithId = new List <User>(); foreach (var user in users) { if (usersWithId.Any(u => u.Nick == user.Nick)) { user.Nick = $"{user.Nick}{user.IdUser}"; } usersWithId.Add(user); } return(View(users.ToList())); } }
public ActionResult Chat(string nickname, int idUser, int idRoom) { ViewBag.nickname = nickname; ViewBag.idUser = idUser; ViewBag.idRoom = idRoom; using (var context = new JayaModelContainer()) { var user = context.Users.FirstOrDefault(u => u.IdUser == idUser && u.WasRemoved); if (user != null) { return(RedirectToAction("RemoveUser")); } var chat = context.Chats.Include("User").Where(c => c.Room.IdRoom == idRoom); ViewBag.Title = $"Chat {chat.FirstOrDefault().Room.Name}"; return(View(chat.ToList())); } }
public ActionResult Create(Room room, string nickname, int id) { if (!ModelState.IsValid) { return(View(room)); } using (var context = new JayaModelContainer()) { var newRoom = new Room { CurrentUsers = 1, IsActive = true, Name = room.Name, Chats = new List <Chat> { new Chat { IsEvent = true, IdUser = id, Message = $"{nickname} Ha ingresado" } } }; context.Rooms.Add(newRoom); context.SaveChanges(); return(RedirectToAction("Chat", new { nickname, idUser = id, idRoom = newRoom.IdRoom })); } }
public ActionResult Getout(string nickname, int idUser, int idRoom) { using (var context = new JayaModelContainer()) { using (var transaction = new TransactionScope()) { var room = context.Rooms.FirstOrDefault(r => r.IdRoom == idRoom); room.CurrentUsers--; if (room.CurrentUsers == 0) { room.IsActive = false; } context.SaveChanges(); context.Chats.Add(new Chat { IdRoom = idRoom, IdUser = idUser, IsEvent = true, Message = $"{nickname} Ha salido" }); context.SaveChanges(); transaction.Complete(); } return(RedirectToAction("Room", new { nickname, id = idUser })); } }
public ActionResult ChatWithRegister(string nickname, int idUser, int idRoom) { ViewBag.nickname = nickname; ViewBag.idUser = idUser; ViewBag.idRoom = idRoom; using (var context = new JayaModelContainer()) { using (var transaction = new TransactionScope()) { var room = context.Rooms.FirstOrDefault(r => r.IdRoom == idRoom); room.CurrentUsers++; context.SaveChanges(); context.Chats.Add(new Chat { IdRoom = idRoom, IdUser = idUser, IsEvent = true, Message = $"{nickname} Ha ingresado" }); context.SaveChanges(); transaction.Complete(); } return(View()); //return RedirectToAction("Chat", new { nickname, idUser, idRoom }); } }