public async Task <List <InstituteUserModel> > GetUserStatusForRoom([FromBody] WaitingRoomModel model) { try { var user = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; model.UserId = user; var provider = await _providerManager.GetProviderDetails(user); model.ProviderId = provider.ProviderId; return(await _providerManager.GetUserStatusForRoom(model)); } catch (GenericException ex) { return(new List <InstituteUserModel>() { new InstituteUserModel { error = ex.Code, } }); } catch (Exception ex) { return(new List <InstituteUserModel>() { new InstituteUserModel { error = ex.Message, stackTrace = ex.StackTrace, } }); } }
public async Task <WaitingRoomModel> CreateNewWaitingRoom([FromBody] WaitingRoomModel model) { var user = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; var providerDetails = await _manager.GetProviderDetails(user); model.ProviderId = providerDetails.ProviderId; return(await _manager.CreateNewWaitingRoom(model)); }
public async Task <WaitingRoomModel> CreateNewWaitingRoom(WaitingRoomModel model) { var waitingRoom = model.MapTo <WaitingRoom>(); waitingRoom.IsActive = true; _dbContext.WaitingRooms.Add(waitingRoom); await _dbContext.SaveChangesAsync(); model.Id = waitingRoom.Id; return(model); }
public WaitingRoomViewModel(ServerConnection connection, Navigator navigator, User user) : base(connection, navigator) { this.model = new WaitingRoomModel(this.connection, user); this.successfulSearchStart = false; this.gameFound = false; this.waitingDots = "."; this.waitingDotsThread = new Thread(UpdateWaitingDotsAsync); this.waitingDotsThread.Start(); this.searchGameThread = new Thread(SearchGameAsync); this.searchGameThread.Start(); }
public async Task <List <InstituteUserModel> > GetUserStatusForRoom(WaitingRoomModel model) { var users = await _dbContext.RoomProviderMapping.Where(item => item.RoomId == model.Id && item.ProviderId != model.ProviderId).Select(item => item.ProviderId).ToListAsync(); var currentUsers = await GetAllUsers(model.UserId); return(currentUsers.Select(item => { var newItem = item.MapTo <InstituteUserModel>(); newItem.Allowed = users.Contains(item.ProviderId); return newItem; }).ToList()); }
public async Task <WaitingRoomModel> UpdateRoomDetails(WaitingRoomModel model) { var room = await _dbContext.WaitingRooms.Where(item => item.Id == model.Id).FirstOrDefaultAsync(); room.RoomName = model.RoomName; room.UsePasscode = model.UsePasscode; room.RoomCode = model.RoomCode; await _dbContext.SaveChangesAsync(); var provider = await _dbContext.Providers.Where(item => item.Id == room.ProviderId).FirstOrDefaultAsync(); provider.ProfilePicture = model.ProfilePicture; provider.DashboardCamEnabled = model.DashboardCamEnabled; await _dbContext.SaveChangesAsync(); return(model); }
public async Task <List <ProviderModel> > GetAllUsersForRoom(WaitingRoomModel model) { try { return(await _manager.GetAllUsersForRoom(model.Id)); }catch (Exception ex) { return(new List <ProviderModel> { new ProviderModel { error = ex.Message, stackTrace = ex.StackTrace } }); } }
public async Task <ProviderModel> RoomProviderDetails(WaitingRoomModel model) { var room = await _dbContext.WaitingRooms.Where(item => item.Id == model.Id).FirstOrDefaultAsync(); var provider = await _dbContext.Providers.Where(item => item.Id == room.ProviderId).FirstOrDefaultAsync(); var user = await _userManager.FindByIdAsync(provider.UserId); List <KeyValuePair <string, string> > mappings = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Id", "ProviderId") }; var providerModel = provider.MapTo <ProviderModel>(mappings: mappings); providerModel.FirstName = user.FirstName; providerModel.LastName = user.LastName; return(providerModel); }
public async Task <WaitingRoomModel> GetRoomDetails([FromBody] WaitingRoomModel model) { return(await _manager.GetRoomDetails(model.Id)); }
public async Task <ProviderModel> GetProviderName([FromBody] WaitingRoomModel model) { return(await _manager.RoomProviderDetails(model)); }
public async Task <ProviderModel> RoomProviderDetails(WaitingRoomModel model) { return(await _repo.RoomProviderDetails(model)); }
public async Task <WaitingRoomModel> UpdateRoomDetails(WaitingRoomModel model) { return(await _repo.UpdateRoomDetails(model)); }
public async Task <WaitingRoomModel> CreateNewWaitingRoom(WaitingRoomModel model) { return(await _repo.CreateNewWaitingRoom(model)); }
public async Task <List <InstituteUserModel> > GetUserStatusForRoom(WaitingRoomModel model) { return(await _repo.GetUserStatusForRoom(model)); }