Exemplo n.º 1
0
        public async Task <DataWithMarkerResult> GetDataWithDeterminationsAsync(DataWithMarkerRequestArgs request)
        {
            var result = new DataWithMarkerResult();

            DbContext.CommandTimeout = 120;
            var data = await DbContext.ExecuteDataSetAsync(DataConstants.PR_GET_DATA_WITH_MARKERS, CommandType.StoredProcedure, args =>
            {
                args.Add("@TestID", request.TestID);
                //args.Add("@User", userContext.GetContext().FullName);
                args.Add("@Page", request.PageNumber);
                args.Add("@PageSize", request.PageSize);
                args.Add("@Filter", request.ToFilterString());
            });

            if (data.Tables.Count == 2)
            {
                var table0 = data.Tables[0];
                if (table0.Columns.Contains("TotalRows"))
                {
                    if (table0.Rows.Count > 0)
                    {
                        result.Total = table0.Rows[0]["TotalRows"].ToInt32();
                    }
                    table0.Columns.Remove("TotalRows");
                }
                if (table0.Columns.Contains("Total"))
                {
                    if (table0.Rows.Count > 0)
                    {
                        result.TotalCount = table0.Rows[0]["Total"].ToInt32();
                    }
                    table0.Columns.Remove("Total");
                }
                result.Data = new
                {
                    Columns = data.Tables[1],
                    Data    = table0
                };
            }
            return(result);
        }