public IActionResult GetById(int id) { var user = _userService.GetById(Int32.Parse(User.Identity.Name)); if (user == null) { return(Unauthorized()); } var room = _roomService.GetById(id); if (room == null) { return(BadRequest(Properties.resultMessages.RoomNotFound)); } if (_userRoomService.GetByIds(user.Id, id) == null) { return(BadRequest(Properties.resultMessages.UserRoomNotFound)); } var roomDetails = _mapper.Map <RoomDetailsDto>(room); return(Ok(roomDetails)); }
public IActionResult NewRoll(int roomId, [FromBody] RollDto rollDto) { var user = _userService.GetById(Int32.Parse(User.Identity.Name)); if (user == null) { return(Unauthorized()); } var room = _roomService.GetById(roomId); if (room == null) { return(BadRequest(Properties.resultMessages.RoomNotFound)); } var userRoom = _userRoomService.GetByIds(user.Id, room.Id); if (userRoom == null) { return(BadRequest(Properties.resultMessages.UserRoomNotFound)); } if (rollDto.RollValues == null) { return(BadRequest(Properties.resultMessages.RollValueNull)); } if (rollDto.RollValues.Count < 1) { return(BadRequest(Properties.resultMessages.RollValueEmpty)); } var random = new Random(); foreach (RollValueDto rollValue in rollDto.RollValues) { rollValue.Value = random.Next(1, Math.Abs(rollValue.MaxValue) + 1); if (rollValue.MaxValue < 0) { rollValue.Value = -rollValue.Value; } } var rollValues = _mapper.Map <IList <RollValue> >(rollDto.RollValues); var roll = new Roll() { User = user, Room = room, Modifier = rollDto.Modifier, RollValues = rollValues }; _rollService.Create(roll); rollDto = _mapper.Map <RollDto>(roll); var roomGroup = "room_" + roomId; _roomHub.Clients.Group(roomGroup).SendAsync("NewRoll", rollDto); return(Ok(rollDto)); }