/// <summary> /// Remove o usuário da mesa e excluir seu estado atual /// </summary> /// <param name="usuarioId"></param> /// <param name="mesaId"></param> public void SairMesa(int usuarioId, int mesaId) { MesaUsuario mu = _context.MesasUsuarios .Include(mu1 => mu1.Mesa) .ThenInclude(m => m.MesasUsuarios) .Where(mu1 => mu1.UsuarioId == usuarioId && mu1.MesaId == mesaId).FirstOrDefault(); if (mu != null) { if (mu.Mesa.MesasUsuarios.Count < 2) { // se só tem este jogador na mesa, então exclui a mesa _context.Mesas.Remove(mu.Mesa); } else { // caso contrário, zera o estado da mesa mu.Mesa.Historico = ""; mu.Mesa.Estado = ""; mu.Mesa.Configuracao = ""; } _context.MesasUsuarios.Remove(mu); _context.SaveChanges(); return; } else { throw new UsuarioNaoEstaNaMesa(); } }
public void EntrarMesa(int usuarioId, int mesaId) { int count = _context.MesasUsuarios .Where(m1 => m1.UsuarioId == usuarioId && m1.MesaId == mesaId).Count(); if (count > 0) { throw new JaEstaNaMesaException(); } count = _context.MesasUsuarios .Where(m1 => m1.UsuarioId == usuarioId && m1.MesaId == mesaId).Count(); if (count >= 2) { throw new MesaCheiaException(); } MesaUsuario mu = new MesaUsuario { MesaId = mesaId, UsuarioId = usuarioId }; _context.MesasUsuarios.Add(mu); _context.SaveChanges(); }
public void MontarMesa(string nome, int usuarioId) { Mesa mesa = new Mesa { Nome = nome }; MesaUsuario mesaUsuario = new MesaUsuario { UsuarioId = usuarioId, Mesa = mesa }; _context.MesasUsuarios.Add(mesaUsuario); _context.SaveChanges(); }