// GET: api/Employee/5 public async Task <Employee> Get(string id) { using (Client client = await CdsHelper.CreateClientAsync(this.Request)) { DataRangeSkipClauseBuilder <CarPool.Web.Library.Employee> query = client.GetRelationalEntitySet <CarPool.Web.Library.Employee>() .CreateQueryBuilder() .Where(pc => pc.PrimaryId == id) .Project(pc => pc .SelectField(f => f.PrimaryId) .SelectField(f => f.FullName) .SelectField(f => f.HomeAddress) .SelectField(f => f.WorkAddress) .SelectField(f => f.PreferredArrivalTimeAtWork) .SelectField(f => f.PreferredDepartureTimeFromWork) .SelectField(f => f.Email) .SelectField(f => f.Phone) .SelectField(f => f.BusinessUnit) .SelectField(f => f.HomeLatitude) .SelectField(f => f.HomeLongitude) .SelectField(f => f.WorkLatitude) .SelectField(f => f.WorkLongitude) ); OperationResult <IReadOnlyList <CarPool.Web.Library.Employee> > queryResult = null; await client.CreateRelationalBatchExecuter(RelationalBatchExecutionMode.Transactional) .Query(query, out queryResult) .ExecuteAsync(); var employee = CDSEmployeeToAppEmployee(queryResult.Result.First()); return(employee); } }
// GET: api/RideDetails public async Task <IEnumerable <RideDetails> > Get() { using (Client client = await CdsHelper.CreateClientAsync(this.Request)) { DataRangeSkipClauseBuilder <CarPool.Web.Library.RideShare> query = client.GetRelationalEntitySet <CarPool.Web.Library.RideShare>() .CreateQueryBuilder() .Project(pc => pc .SelectField(f => f.PrimaryId) .SelectField(f => f.ExpenseReportSubmitted) .SelectField(f => f.ExpenseReportApproved) .SelectField(f => f.Passenger1OnRide) .SelectField(f => f.Passenger2OnRide) .SelectField(f => f.Passenger3OnRide) .SelectField(f => f.Passenger4OnRide) .SelectField(f => f.RideCompleted) .SelectField(f => f.FinanceApprovalStatus) .SelectField(f => f.Passenger1Name) .SelectField(f => f.Passenger2Name) .SelectField(f => f.Passenger3Name) .SelectField(f => f.Passenger4Name) .SelectField(f => f.DistanceString) .SelectField(f => f.RideDateTime) .SelectField(f => f.DriverName) .SelectField(f => f.RouteDescription) .SelectField(f => f.DistanceString) .SelectField(f => f.Distance) ); OperationResult <IReadOnlyList <CarPool.Web.Library.RideShare> > queryResult = null; await client.CreateRelationalBatchExecuter(RelationalBatchExecutionMode.Transactional) .Query(query, out queryResult) .ExecuteAsync(); var results = new List <RideDetails>(); foreach (var entry in queryResult.Result) { results.Add(CDSRideDetailsToAppRideDetails(entry)); } return(results); } }
// GET: api/Driver public async Task <IEnumerable <Driver> > Get() { using (Client client = await CdsHelper.CreateClientAsync(this.Request)) { DataRangeSkipClauseBuilder <CarPool.Web.Library.Driver> query = client.GetRelationalEntitySet <CarPool.Web.Library.Driver>() .CreateQueryBuilder() .Project(pc => pc .SelectField(f => f.PrimaryId) .SelectField(f => f.RouteTitle) .SelectField(f => f.AverageMiles) .SelectField(f => f.RatePerMile) .SelectField(f => f.Name) .SelectField(f => f.DisplayName) .SelectField(f => f.Schedule) .SelectField(f => f.HomeLatitude) .SelectField(f => f.HomeLongitude) .SelectField(f => f.Arrival) .SelectField(f => f.Departure) .SelectField(f => f.Rider1Name) .SelectField(f => f.Rider1Status) .SelectField(f => f.Rider2Name) .SelectField(f => f.Rider2Status) .SelectField(f => f.Rider3Name) .SelectField(f => f.Rider3Status) .SelectField(f => f.Rider4Name) .SelectField(f => f.Rider4Status) ); OperationResult <IReadOnlyList <CarPool.Web.Library.Driver> > queryResult = null; await client.CreateRelationalBatchExecuter(RelationalBatchExecutionMode.Transactional) .Query(query, out queryResult) .ExecuteAsync(); var results = new List <Driver>(); foreach (var entry in queryResult.Result) { results.Add(CDSDriverToAppDriver(entry)); } return(results); } }
// GET: api/Employee public async Task <IEnumerable <Employee> > Get() { //Get CDS SDK reference ready to communicate with CDS environment using (Client client = await CdsHelper.CreateClientAsync(this.Request)) { //Build query DataRangeSkipClauseBuilder <CarPool.Web.Library.Employee> query = client.GetRelationalEntitySet <CarPool.Web.Library.Employee>() .CreateQueryBuilder() .Project(pc => pc .SelectField(f => f.PrimaryId) .SelectField(f => f.FullName) .SelectField(f => f.HomeAddress) .SelectField(f => f.WorkAddress) .SelectField(f => f.PreferredArrivalTimeAtWork) .SelectField(f => f.PreferredDepartureTimeFromWork) .SelectField(f => f.Email) .SelectField(f => f.Phone) .SelectField(f => f.BusinessUnit) .SelectField(f => f.HomeLatitude) .SelectField(f => f.HomeLongitude) .SelectField(f => f.WorkLatitude) .SelectField(f => f.WorkLongitude) ); //Execute query OperationResult <IReadOnlyList <CarPool.Web.Library.Employee> > queryResult = null; await client.CreateRelationalBatchExecuter(RelationalBatchExecutionMode.Transactional) .Query(query, out queryResult) .ExecuteAsync(); //Transform query results var employees = new List <Employee>(); foreach (var entry in queryResult.Result) { employees.Add(CDSEmployeeToAppEmployee(entry)); } return(employees); } }