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()); }
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 })); }
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); }
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); }