public IActionResult OpenRoom(string roomCode) { var authenticatedUserId = HttpContext.Session.GetSessionPersonId(); var room = _uRoom.GetByCode(roomCode); if (room == null) { return(BadRequest(ResponseContent.Create(null, HttpStatusCode.BadRequest, $"A sala com código \"{roomCode}\" não existe!"))); } if (room.Person.Id != authenticatedUserId) { return(StatusCode((int)HttpStatusCode.Unauthorized, ResponseContent.Create(null, HttpStatusCode.Unauthorized, "Você não tem acesso a essa sala!"))); } if (room.CurrentState == (int)ERoomState.Open) { return(BadRequest(ResponseContent.Create(null, HttpStatusCode.BadRequest, "A sala já está aberta!"))); } if (room.CurrentState == (int)ERoomState.Closed) { return(BadRequest(ResponseContent.Create(null, HttpStatusCode.BadRequest, "A não pode ser aberta depois de fechada!"))); } room.CurrentState = (int)ERoomState.Open; room.StartDate = DateTime.Now; _bRoom.SaveOrUpdate(room); _bHistory.SaveHistory(authenticatedUserId, "Usuário abriu uma sala"); return(Ok(ResponseContent.Create(null, HttpStatusCode.OK, "A sala foi aberta com sucesso!"))); }
public IActionResult Join(string roomCode) { var authenticatedPersonId = HttpContext.Session.GetSessionPersonId(); var roomsIds = _uRelStudentRoom.GetRoomIdByPersonId(authenticatedPersonId); var room = _uRoom.GetByCode(roomCode); if (room == null) return BadRequest(ResponseContent.Create(null, HttpStatusCode.BadRequest, $"A sala com código \"{roomCode}\" não existe!")); if (room.CurrentState != (int)ERoomState.Open) return BadRequest(ResponseContent.Create(null, HttpStatusCode.BadRequest, "Você não pode entrar nessa sala pois ela não está aberta!")); if (roomsIds.Contains(room.Id)) return BadRequest(ResponseContent.Create(null, HttpStatusCode.BadRequest, "Você já está nessa sala!")); _bRelStudentRoom.Save(authenticatedPersonId, room.Id); room.NumberOfStudents++; _bRoom.SaveOrUpdate(room); _bHistory.SaveHistory(authenticatedPersonId, "Usuário entrou em uma sala"); return Ok(ResponseContent.Create(null, HttpStatusCode.OK, "Você entrou na sala!")); }
public void ValidRoom(URoom uRoom, ref List <MModelError> errors) { var roomExisting = uRoom.GetByCode(Code); if (string.IsNullOrEmpty(Name)) { errors.Add(new MModelError { HasError = true, MessageError = "Obrigatório", Property = "Name" }); } if (roomExisting != null) { errors.Add(new MModelError { HasError = true, MessageError = "Já existe uma sala com esse código!", Property = "Code" }); } }