public ActionResult GetDataTables2(DataTable dataTable) {
            List<List<string>> table = new List<List<string>>();

            List<int> column1 = new List<int>();
            for (int i = dataTable.iDisplayStart; i < dataTable.iDisplayStart + dataTable.iDisplayLength; i++) {
                column1.Add(i);
            }

            foreach (var sortDir in dataTable.sSortDirs) {
                if (sortDir == DataTableSortDirection.Ascending) {
                    column1.Sort();
                } else {
                    column1.Sort(delegate(int a, int b) {
                        if (a > b) return -1;
                        if (a < b) return 1;
                        return 0;
                    });
                }
            }

            for (int i = 0; i < column1.Count; i++) {
                table.Add(new List<string> { column1[i].ToString(), "ÄÖÜäöü" + i });
            }

            var result = new DataTableResult(dataTable, table.Count, table.Count, table);
            result.ContentEncoding = Encoding.UTF8;
            return result;
        }
 public void DataTableResult_from_DataTable() {            
     DataTableResult dataTableResult = new DataTableResult(new DataTable { sEcho = "1" });
     Assert.AreEqual("1", dataTableResult.sEcho);
     Assert.AreEqual(0, dataTableResult.iTotalRecords);
     Assert.AreEqual(0, dataTableResult.iTotalDisplayRecords);
     Assert.AreSame(null, dataTableResult.aaData);
     Assert.AreEqual(JsonRequestBehavior.DenyGet, dataTableResult.JsonRequestBehavior);
 }
 public void DataTableResult_full_parameter_list_from_DataTable() {
     var data = new List<List<string>>() {
         new List<string> { "hallo" }
     };
     DataTableResult dataTableResult = new DataTableResult(new DataTable { sEcho = "1" }, 10, 10, data);
     Assert.AreEqual("1", dataTableResult.sEcho);
     Assert.AreEqual(10, dataTableResult.iTotalRecords);
     Assert.AreEqual(10, dataTableResult.iTotalDisplayRecords);
     Assert.AreSame(data, dataTableResult.aaData);
     Assert.AreEqual(JsonRequestBehavior.DenyGet, dataTableResult.JsonRequestBehavior);
 }
예제 #4
0
        public ActionResult GetLatestData(DataTable dataTable)
        {
            var list = _weatherService.GetLatestData().ToList();

            var table = new List<List<string>>();

            list.Skip(dataTable.iDisplayStart).Take(dataTable.iDisplayLength).ToList()
                    .ForEach(x => table.Add(new List<string> { "<a  href='/Home/ViewDetail?station=" + x.StationName + "'>"+ x.StationName +"</a>", x.DateTime.ToString("MM/dd/yyyy H:mm:ss"), x.Temperature.ToString("#0.0000") }));

            var result = new DataTableResult(dataTable, list.Count, list.Count, table) {ContentEncoding = Encoding.UTF8};
            return result;
        }
        public ActionResult GetDataTables(DataTable dataTable) {
            List<List<string>> table = new List<List<string>>();

            List<int> column1 = new List<int>();
            for (int i = dataTable.iDisplayStart; i < dataTable.iDisplayStart + dataTable.iDisplayLength; i++) {
                column1.Add(i);
            }

            foreach (var sortDir in dataTable.sSortDirs) {
                if (sortDir == DataTableSortDirection.Ascending) {
                    column1 = column1.OrderBy(x => x).ToList();
                } else {
                    column1 = column1.OrderByDescending(x => x).ToList();                    
                }
            }

            for (int i = 0; i < column1.Count; i++) {
                table.Add(new List<string> { column1[i].ToString(), "Nummer" + i });
            }

            var result = new DataTableResult(dataTable, table.Count, table.Count, table);
            result.ContentEncoding = Encoding.UTF8;
            return result;
        }
        public void ExecuteResult_Ok() {
            //Arrange
            var data = new List<List<string>>() {
                new List<string> { "hallo", "österreich" }
            };

            var httpRequest = new Mock<HttpRequestBase>();
            httpRequest.Setup(h => h.HttpMethod)
                       .Returns("POST");
            var httpResponse = new Mock<HttpResponseBase>();
            httpResponse.Setup(x => x.ContentEncoding)
                        .Returns(Encoding.UTF8);
            string result = string.Empty;
            httpResponse.Setup(x => x.Write(It.IsAny<string>()))
                        .Callback((string s) => result = s);
            var httpContext = new Mock<HttpContextBase>();
            httpContext.Setup(h => h.Request)
                       .Returns(httpRequest.Object);
            httpContext.Setup(h => h.Response)
                       .Returns(httpResponse.Object);
            DataTableResult dataTableResult = new DataTableResult("1", 10, 10, data);
            //Act            
            dataTableResult.ExecuteResult(new ControllerContext {
                HttpContext = httpContext.Object
            });                        
            //Assert
            Assert.AreEqual(@"{""aaData"":[[""hallo"",""österreich""]],""iTotalDisplayRecords"":10,""iTotalRecords"":10,""sColumns"":null}", result);            
        }