예제 #1
0
        public List <PickUpRequest> GetUserPickUpRequests()
        {
            AuthenticatedUserClaimsModel userClaims = _userSvc.GetUserClaims();
            const string sql = "SELECT * FROM PickupRequests WHERE UserId = @UserId AND ClosedOn IS NULL;";

            return(_dbConnection.Connection.Query <PickUpRequest>(sql, new { UserId = userClaims.UserId }).ToList());
        }
예제 #2
0
        public int CancelPickUpRequest(int pickUpId)
        {
            AuthenticatedUserClaimsModel userClaims = _userSvc.GetUserClaims();
            DateTime     completedOn = DateTime.UtcNow;
            const string sql         = "UPDATE PickupRequests SET Status = @PickUpStatus, ClosedOn = @CompleteDate WHERE Id = @PickUpId AND UserId = @UserId;";

            return(_dbConnection.Connection.Execute(sql, new { PickUpStatus = 3, CompleteDate = completedOn, PickUpId = pickUpId, UserId = userClaims.UserId }));
        }
예제 #3
0
        public int RequestPickUp(PickUpRequestModel model)
        {
            AuthenticatedUserClaimsModel userClaims = _userSvc.GetUserClaims();
            const string sql  = "INSERT INTO PickupRequests (UserId, DropOffZoneId, Location, Latitude, Longitude, ContactName, ContactNumber, Status, Notes) VALUES (@UserId, @DropOffZoneId, @Location, @Latitude, @Longitude, @ContactName, @ContactNumber, @Status, @Notes);";
            int          rows = _dbConnection.Connection.Execute(sql, new
            {
                userClaims.UserId,
                model.DropOffZoneId,
                model.Location,
                model.Latitude,
                model.Longitude,
                model.ContactName,
                model.ContactNumber,
                Status = PickUpStatus.Pending,
                model.Notes
            });

            return(rows);
        }
예제 #4
0
        public AuthenticatedUserClaimsModel GetUserClaims()
        {
            AuthenticatedUserClaimsModel userClaims = new AuthenticatedUserClaimsModel();
            IEnumerable <Claim>          claims     = _contextAccessor.HttpContext.User.Claims;

            Claim[] enumerable = claims as Claim[] ?? claims.ToArray();
            string  userId     = enumerable?.SingleOrDefault(x => x.Type == "UserId")?.Value;

            userClaims.UserName = enumerable?.SingleOrDefault(x => x.Type == "UserName")?.Value;
            if (userId != null && !string.IsNullOrEmpty(userId))
            {
                userClaims.UserId = int.Parse(userId);
            }
            else
            {
                return(null);
            }
            return(userClaims);
        }