Exemple #1
0
        async public Task <bool> LoginBillRoom(int roomId, CreatRoomDTO request)
        {
            bool res  = false;
            var  bill = await Get(roomId);

            var pwd = bill.RoomPwd;

            if (pwd == request.RoomPwd)
            {
                return(true);
            }
            return(res);
        }
        public void IsAuthenticated(CreatRoomDTO request, out string token)
        {
            token = string.Empty;
            var claims = new[]
            {
                new Claim("roomId", request.RoomId.ToString())
                // new Claim("User", "User"),
            };
            var key         = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_tokenManagement.Secret));
            var credentials = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
            var jwtToken    = new JwtSecurityToken(_tokenManagement.Issuer, _tokenManagement.Audience, claims, expires: DateTime.Now.AddMinutes(_tokenManagement.AccessExpiration), signingCredentials: credentials);

            token = new JwtSecurityTokenHandler().WriteToken(jwtToken);
        }
Exemple #3
0
        async public Task <ActionResult <BillResult> > PostNewRoom(CreatRoomDTO request)
        {
            Bill bill = new Bill();

            bill.Id = await _billService.FindIdbyRoomId(request.RoomId);

            bill.RoomId    = request.RoomId;
            bill.RoomPwd   = request.RoomPwd;
            bill.RoomTitle = "new room";
            bill.BillInfo  = new List <BillInfo>();
            bill.PayerInfo = new List <PayerInfo>();
            _billService.Update(bill.Id, bill);
            return(Ok(new BillResult(StatusCodes.Code200, bill)));
        }
Exemple #4
0
        async public Task <ActionResult <BillResult> > LoginBillRoom(int roomId, CreatRoomDTO request)
        {
            string token;
            var    flag = await _billService.LoginBillRoom(roomId, request);

            if (flag)
            {
                _authService.IsAuthenticated(request, out token);
                var bill = await _billService.Get(roomId);

                bill.Token = token;
                return(Ok(new BillResult(StatusCodes.Code200, bill)));
            }
            else
            {
                return(NotFound(StatusCodes.Code404));
            }
        }
Exemple #5
0
        async public Task <CreatRoomDTO> GetNewRoomId()
        {
            CreatRoomDTO creatRoom = new CreatRoomDTO();
            Random       random    = new Random();
            int          roomId;

            while (true)
            {
                roomId = random.Next(100000, 999999);
                var id = await FindIdbyRoomId(roomId);

                if (string.IsNullOrEmpty(id))
                {
                    creatRoom.RoomId  = roomId;
                    creatRoom.RoomPwd = 1234;
                    break;
                }
            }
            return(creatRoom);
        }