|
@@ -114,7 +114,7 @@ namespace TEAMModelOS.SDK.Module.AzureCosmosDBV3
|
|
|
DictIsNotNULL(dict);
|
|
|
Dictionary<string, object> parmeters = new Dictionary<string, object>();
|
|
|
|
|
|
- int offsetNum = 0;
|
|
|
+ int offsetNum = -1;
|
|
|
int limitNum = 0;
|
|
|
bool pageBool = false;
|
|
|
GetPageNum(dict, ref offsetNum, ref limitNum, ref pageBool);
|
|
@@ -275,7 +275,7 @@ namespace TEAMModelOS.SDK.Module.AzureCosmosDBV3
|
|
|
// sql.Append(" Order By c." + "@OrderByValue"+ " DESC " );
|
|
|
}
|
|
|
|
|
|
- if (pageBool && offsetNum != 0 && limitNum != 0)
|
|
|
+ if (pageBool && offsetNum != -1 && limitNum != 0)
|
|
|
{
|
|
|
//sql.Append(" OFFSET " + offsetNum + " LIMIT " + limitNum);
|
|
|
sql.Append(" OFFSET " + " @offsetNum " + " LIMIT " + " @limitNum ");
|
|
@@ -300,15 +300,21 @@ namespace TEAMModelOS.SDK.Module.AzureCosmosDBV3
|
|
|
|
|
|
private static void GetPageNum(Dictionary<string, object> dict, ref int offsetNum, ref int limitNum, ref bool pageBool)
|
|
|
{
|
|
|
- dict.TryGetValue("@OFFSET", out object offset);
|
|
|
- dict.Remove("@OFFSET");
|
|
|
- dict.TryGetValue("@LIMIT", out object limit);
|
|
|
- dict.Remove("@LIMIT");
|
|
|
- if (offset != null && limit != null)
|
|
|
+ dict.TryGetValue("@CURRPAGE", out object page);
|
|
|
+ dict.Remove("@CURRPAGE");
|
|
|
+ dict.TryGetValue("@PAGESIZE", out object limit);
|
|
|
+ dict.Remove("@PAGESIZE");
|
|
|
+ if (page != null && limit != null)
|
|
|
{
|
|
|
pageBool = true;
|
|
|
- offsetNum = int.Parse(offset.ToString());
|
|
|
limitNum = int.Parse(limit.ToString());
|
|
|
+ if (limitNum < 0) {
|
|
|
+ throw new BizException("PAGESIZE can't be less than 0 !");
|
|
|
+ }
|
|
|
+ offsetNum = (int.Parse(page.ToString()) - 1) * limitNum;
|
|
|
+ if (offsetNum < 0) {
|
|
|
+ throw new BizException("CURRPAGE can't be less than 1 !");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -817,7 +823,7 @@ namespace TEAMModelOS.SDK.Module.AzureCosmosDBV3
|
|
|
parmeters.Add("@" + key, keyValue.Value);
|
|
|
}
|
|
|
}
|
|
|
- if (offset != 0 && limit != 0)
|
|
|
+ if (offset != -1 && limit != 0)
|
|
|
{
|
|
|
parmeters.Add("@offsetNum", offset);
|
|
|
parmeters.Add("@limitNum", limit);
|