Exemple #1
0
        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);
        }
Exemple #9
0
 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));
 }
Exemple #12
0
 public async Task <WaitingRoomModel> UpdateRoomDetails(WaitingRoomModel model)
 {
     return(await _repo.UpdateRoomDetails(model));
 }
Exemple #13
0
 public async Task <WaitingRoomModel> CreateNewWaitingRoom(WaitingRoomModel model)
 {
     return(await _repo.CreateNewWaitingRoom(model));
 }
Exemple #14
0
 public async Task <List <InstituteUserModel> > GetUserStatusForRoom(WaitingRoomModel model)
 {
     return(await _repo.GetUserStatusForRoom(model));
 }