This commit is contained in:
@@ -28,39 +28,25 @@ AuthorizationRoles.TechRestricted;
|
|||||||
public string ErrorMessage => _errorMessage;
|
public string ErrorMessage => _errorMessage;
|
||||||
|
|
||||||
public void BuildQuery(KPIRequestOptions options, long userId)
|
public void BuildQuery(KPIRequestOptions options, long userId)
|
||||||
{
|
{
|
||||||
//build data and meta queries
|
|
||||||
|
|
||||||
//validate criteria exists
|
|
||||||
if (!options.Criteria.ContainsKey("wostatus"))
|
if (!options.Criteria.ContainsKey("wostatus"))
|
||||||
{
|
{
|
||||||
_errorMessage = "Missing 'wostatus' criteria";
|
_errorMessage = "Missing 'wostatus' criteria";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var wostatus = (int?)options.Criteria["wostatus"];
|
||||||
|
|
||||||
var wostatus = (int?)options.Criteria["wostatus"];
|
|
||||||
|
|
||||||
var wotags = options.Criteria["wotags"].ToObject<List<string>>();
|
|
||||||
var woitemtags = options.Criteria["woitemtags"].ToObject<List<string>>();
|
|
||||||
|
|
||||||
// var dateWhere = DataListSqlFilterCriteriaBuilder.DataFilterToColumnCriteria("aworkorderitemlabor.servicestopdate", UiFieldDataType.DateTime, "no-operator", timeSpan, options.ClientTimeStamp);
|
|
||||||
|
|
||||||
string statusWhere = string.Empty;
|
string statusWhere = string.Empty;
|
||||||
if (wostatus != null)
|
if (wostatus != null)
|
||||||
{
|
{
|
||||||
statusWhere = $"AND LASTSTATUSID = {wostatus}";
|
statusWhere = $"AND LASTSTATUSID = {wostatus}";
|
||||||
}
|
}
|
||||||
|
|
||||||
//optional tags
|
var wotags = options.Criteria["wotags"].ToObject<List<string>>();
|
||||||
string woTagsWhere = null;
|
bool wotagsany = options.Criteria["wotagsany"].ToObject<bool>();
|
||||||
if (wotags.Count > 0)
|
var woitemtags = options.Criteria["woitemtags"].ToObject<List<string>>();
|
||||||
woTagsWhere = " AND " + DataListSqlFilterCriteriaBuilder.TagDataFilterToColumnCriteria("aworkorder.tags", DataListFilterComparisonOperator.Contains, string.Join(",", wotags));
|
bool woitemtagsany = options.Criteria["woitemtagsany"].ToObject<bool>();
|
||||||
|
string woTagsWhere = DataListSqlFilterCriteriaBuilder.KPITagFilterToSqlCriteria("aworkorder.tags", wotags, wotagsany);
|
||||||
|
string woItemTagsWhere = DataListSqlFilterCriteriaBuilder.KPITagFilterToSqlCriteria("aworkorderitem.tags", woitemtags, woitemtagsany); ;
|
||||||
string woItemTagsWhere = null;
|
|
||||||
if (woitemtags.Count > 0)
|
|
||||||
woItemTagsWhere = " AND " + DataListSqlFilterCriteriaBuilder.TagDataFilterToColumnCriteria("aworkorderitem.tags", DataListFilterComparisonOperator.Contains, string.Join(",", woitemtags));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user