示例#1
0
        // 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);
            }
        }
示例#3
0
        // 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);
            }
        }
示例#4
0
        // 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);
            }
        }