예제 #1
0
        public async Task SimpleQueryAsync()
        {
            var client = new ReportsServiceClient();

            var columns = await client.GetSelectableColumnsAsync(this.platform, 1, null, null);

            var request = new SearchRequest()
            {
                SelectedColumns     = columns.Data.Take(30).Select(x => new SelectedColumn(x.Id)).ToList(),
                TemporalAggregation = TemporalAggregation.Total,
                PageSize            = 100,
                SortByColumn        = columns.Data.Where(x => x.UniqueName == "CampaignID").Select(x => new SelectedColumn(x.Id)).First(),
                GroupByColumn       = columns.Data.Where(x => x.UniqueName == "CampaignID").Select(x => new SelectedColumn(x.Id)).First(),
                GetCount            = true,
            };


            var result = await client.SearchAsync(this.platform, 1, null, request);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Data);
            Assert.GreaterOrEqual(result.Data.Count, 1);

            Console.WriteLine("{0} rows returned", result.Data.Count);
        }
예제 #2
0
        public void SimpleQuery_Mixed_MultiThreaded(int threadCount)
        {
            var client = new ReportsServiceClient();

            var columns = client.GetSelectableColumns(this.platform, 1, null, null);

            var request1 = new SearchRequest()
            {
                SelectedColumns     = columns.Data.Take(30).Select(x => new SelectedColumn(x.Id)).ToList(),
                TemporalAggregation = TemporalAggregation.Total,
                PageSize            = 100,
                SortByColumn        = columns.Data.Where(x => x.UniqueName == "CampaignID").Select(x => new SelectedColumn(x.Id)).First(),
                GroupByColumn       = columns.Data.Where(x => x.UniqueName == "CampaignID").Select(x => new SelectedColumn(x.Id)).First(),
                GetCount            = true,
            };

            var request2 = new SearchRequest()
            {
                SelectedColumns     = columns.Data.Take(30).Select(x => new SelectedColumn(x.Id)).ToList(),
                TemporalAggregation = TemporalAggregation.Total,
                PageSize            = 100,
                SortByColumn        = columns.Data.Where(x => x.UniqueName == "Campaign_CurrencyCode").Select(x => new SelectedColumn(x.Id)).First(),
                GroupByColumn       = columns.Data.Where(x => x.UniqueName == "Campaign_CurrencyCode").Select(x => new SelectedColumn(x.Id)).First(),
                GetCount            = true,
                Filters             = new List <SearchRequestFilter>()
                {
                    new SearchRequestFilter()
                    {
                        ColumnId = columns.Data.First(x => x.UniqueName.EndsWith("UIStatus")).Id,
                        Values   = new List <string> {
                            "1"
                        }
                    }
                }
            };

            Parallel.For(0, threadCount, x =>
            {
                var result1 = client.Search(this.platform, 1, null, request1);
                Assert.IsNotNull(result1);
                Assert.IsNotNull(result1.Data);
                Assert.GreaterOrEqual(result1.Data.Count, 1);
                Console.WriteLine("{0} rows returned", result1.Data.Count);


                var result2 = client.Search(this.platform, 1, null, request2);
                Assert.IsNotNull(result2);
                Assert.IsNotNull(result2.Data);
                Assert.GreaterOrEqual(result2.Data.Count, 1);
                Console.WriteLine("{0} rows returned", result2.Data.Count);
                Assert.LessOrEqual(result2.Data.Count, 5); // assume we wont ever have > 5 currencies
            });
        }
예제 #3
0
        public void GetColumns()
        {
            var client = new ReportsServiceClient();

            var columns = client.GetSelectableColumns(this.platform, 1, null, null);


            Assert.IsNotNull(columns);
            Assert.IsNotNull(columns.Data);
            Assert.GreaterOrEqual(columns.Data.Count, 1);

            Console.WriteLine("{0} columns returned", columns.Data.Count);
        }
예제 #4
0
        public ActionResult GetVehiclesBySupplierID(int id)
        {
            dynamic vehicleList = 0;

            try
            {
                if (ModelState.IsValid)
                {
                    ReportsServiceClient service = new ReportsServiceClient();
                    vehicleList = service.GetVehiclesBySupplierID(id);
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("error", "Something went wrong");
                vehicleList = null;
                throw ex;
            }
            return(Json(vehicleList, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
        public ActionResult YardDataReport()
        {
            dynamic YardDataList = 0;

            try
            {
                if (ModelState.IsValid)
                {
                    ReportsServiceClient service = new ReportsServiceClient();
                    YardDataList = service.YardDataReport();
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("error", "Something went Wrong");
                YardDataList = null;
                throw ex;
            }
            return(Json(YardDataList, JsonRequestBehavior.AllowGet));
        }
예제 #6
0
        public JsonResult AllVehicleExpenseReport(DateTime fromDate, DateTime toDate)
        {
            dynamic vehicleList = 0;

            try
            {
                if (ModelState.IsValid)
                {
                    ReportsServiceClient service = new ReportsServiceClient();
                    vehicleList = service.AllVehicleExpenseReport(fromDate, toDate);
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("error", "Something went Wrong");
                vehicleList = null;
                throw ex;
            }
            return(Json(vehicleList, JsonRequestBehavior.AllowGet));
        }
예제 #7
0
        protected SearchRequest SetupRequest(ReportsServiceClient client, string groupByColumnUniqueName, string sortByColumnUniqueName = null)
        {
            var selected = _allColumns.Data.Select(x => new SelectedColumn(x.Id)).ToList();
            var groupBy  = _allColumns.Data.Single(x => x.UniqueName.ToLower() == groupByColumnUniqueName.ToLower());
            var sortBy   = _allColumns.Data.Single(x => x.UniqueName.ToLower() == (sortByColumnUniqueName ?? groupByColumnUniqueName).ToLower());

            var pageIndex     = 0;
            var searchRequest = new SearchRequest()
            {
                SelectedColumns = selected,
                SortByColumn    = new SelectedColumn(sortBy.Id),
                GroupByColumn   = new SelectedColumn(groupBy.Id),
                DebugMode       = true,
                GetCount        = pageIndex == 0,
                PageIndex       = pageIndex,
                PageSize        = 50,
                SortDescending  = false,
            };

            return(searchRequest);
        }
예제 #8
0
        public ActionResult GetDailySalesData(DateTime date)
        {
            dynamic salesList = 0;

            try
            {
                if (ModelState.IsValid)
                {
                    ReportsServiceClient service = new ReportsServiceClient();
                    salesList = service.GetDailySalesData(date);
                    //return Json(vehicleList, JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("error", "Something Went Wrong");
                salesList = null;
                throw ex;
            }
            return(Json(salesList, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        public JsonResult GetVehiclesBySupplierName(string prefix)
        {
            dynamic vehicles = 0;

            try
            {
                if (ModelState.IsValid)
                {
                    ReportsServiceClient service = new ReportsServiceClient();
                    vehicles = service.GetVehicles(prefix);
                    //return Json(customers, JsonRequestBehavior.AllowGet);
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("error", "Something Went Wrong");
                vehicles = null;
                throw ex;
            }
            return(Json(vehicles, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public ActionResult GetDepositRefundData(DateTime fromDate, DateTime toDate)
        {
            dynamic accountList = 0;

            try
            {
                if (ModelState.IsValid)
                {
                    ReportsServiceClient service = new ReportsServiceClient();

                    accountList = service.GetDepositeRefundData(fromDate, toDate);
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("error", "Something Wrong");
                accountList = null;
                throw ex;
            }
            return(Json(accountList, JsonRequestBehavior.AllowGet));
        }
예제 #11
0
        public void SimpleQuery()
        {
            var client = new ReportsServiceClient();

            var columns = client.GetSelectableColumns(this.platform, 1, null, null);

            var request = new SearchRequest()
            {
                SelectedColumns     = columns.Data.Take(30).Select(x => new SelectedColumn(x.Id)).ToList(),
                TemporalAggregation = TemporalAggregation.Total,
                PageSize            = 100,
                SortByColumn        = columns.Data.Where(x => x.UniqueName == "CampaignID").Select(x => new SelectedColumn(x.Id)).First(),
                GroupByColumn       = columns.Data.Where(x => x.UniqueName == "CampaignID").Select(x => new SelectedColumn(x.Id)).First(),
                GetCount            = true,
            };

            client.RequestHeaders = new List <RequestHeader>
            {
                new RequestHeader()
                {
                    Name = "x-correlation-id", Value = Guid.NewGuid().ToString()
                },
                new RequestHeader()
                {
                    Name = "x-requesting-component", Value = "Tests"
                }
            };

            var result = client.Search(this.platform, 1, null, request);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Data);
            Assert.GreaterOrEqual(result.Data.Count, 1);

            Console.WriteLine("{0} rows returned", result.Data.Count);
        }
예제 #12
0
        public async Task GetColumnsAsync()
        {
            var client = new ReportsServiceClient();

            client.RequestHeaders = new List <RequestHeader>
            {
                new RequestHeader()
                {
                    Name = "x-correlation-id", Value = Guid.NewGuid().ToString()
                },
                new RequestHeader()
                {
                    Name = "x-requesting-component", Value = "Tests"
                }
            };

            var columns = await client.GetSelectableColumnsAsync(this.platform, 1, null, null);

            Assert.IsNotNull(columns);
            Assert.IsNotNull(columns.Data);
            Assert.GreaterOrEqual(columns.Data.Count, 1);

            Console.WriteLine("{0} columns returned", columns.Data.Count);
        }
예제 #13
0
 public void Setup()
 {
     _client        = new ReportsServiceClient();
     _allColumnInfo = _client.GetColumnMappings(_platform, 1, null, clearCache: true);
     _allColumns    = _client.GetSelectableColumns(_platform, null, null);
 }
예제 #14
0
 public void Setup()
 {
     this.client = new ReportsServiceClient();
 }
예제 #15
0
 public HomeController(IStudentSystemApi studentSystemApi, ReportsServiceClient reportsClient)
 {
     this.studentSystemApi = studentSystemApi;
     this.reportsClient    = reportsClient;
 }