Skip to content

Commit

Permalink
Addding internal methods to do RetrieveMultiple and Execute with logg…
Browse files Browse the repository at this point in the history
…ing with time etc
  • Loading branch information
rappen committed May 27, 2022
1 parent beaba40 commit d067dc9
Showing 1 changed file with 48 additions and 5 deletions.
53 changes: 48 additions & 5 deletions FetchXmlBuilder/FXBQueries.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,49 @@ public partial class FetchXmlBuilder
{
private string attributesChecksum = "";

internal EntityCollection RetrieveMultiple(QueryBase query)
{
EntityCollection result = null;
var start = DateTime.Now;
try
{
result = Service.RetrieveMultiple(query);
}
finally
{
var stop = DateTime.Now;
var duration = stop - start;
var qinfo = "";
if (query is QueryExpression qe)
{
qinfo = qe.EntityName;
}
else if (query is FetchExpression fe)
{
qinfo = "fetchxml";
}
LogInfo($"Retrieving {qinfo}: {duration}");
}
return result;
}

internal OrganizationResponse Execute(OrganizationRequest request)
{
OrganizationResponse result = null;
var start = DateTime.Now;
try
{
result = Service.Execute(request);
}
finally
{
var stop = DateTime.Now;
var duration = stop - start;
LogInfo($"Execute {request.ToString().Replace("Microsoft.Crm.Sdk.Messages.", "")}: {duration}");
}
return result;
}

internal void FetchResults(string fetch = "")
{
if (!tsbExecute.Enabled)
Expand Down Expand Up @@ -76,7 +119,7 @@ internal void LoadViews(Action viewsLoaded)
qexs.Criteria.AddCondition("iscustomizable", ConditionOperator.Equal, true);
}
qexs.AddOrder("name", OrderType.Ascending);
var sysviews = Service.RetrieveMultiple(qexs);
var sysviews = RetrieveMultiple(qexs);
foreach (var view in sysviews.Entities)
{
var entityname = view["returnedtypecode"].ToString();
Expand All @@ -97,7 +140,7 @@ internal void LoadViews(Action viewsLoaded)
qexu.ColumnSet = new ColumnSet("name", "returnedtypecode", "fetchxml", "layoutxml");
qexu.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
qexu.AddOrder("name", OrderType.Ascending);
var userviews = Service.RetrieveMultiple(qexu);
var userviews = RetrieveMultiple(qexu);
foreach (var view in userviews.Entities)
{
var entityname = view["returnedtypecode"].ToString();
Expand Down Expand Up @@ -174,7 +217,7 @@ private void ExecuteFetch(string fetch)
{
//var fetchxml = GetFetchDocument().OuterXml;
var start = DateTime.Now;
var resp = (ExecuteFetchResponse)Service.Execute(new ExecuteFetchRequest() { FetchXml = fetch });
var resp = (ExecuteFetchResponse)Execute(new ExecuteFetchRequest() { FetchXml = fetch });
var stop = DateTime.Now;
var duration = stop - start;
LogUse("ExecuteFetch", false, null, duration.TotalMilliseconds);
Expand Down Expand Up @@ -205,7 +248,7 @@ private Entity GetCWPFeed(string feedid)
qeFeed.ColumnSet.AddColumns("cint_id", "cint_fetchxml");
qeFeed.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
qeFeed.Criteria.AddCondition("cint_id", ConditionOperator.Equal, feedid);
var feeds = Service.RetrieveMultiple(qeFeed);
var feeds = RetrieveMultiple(qeFeed);
Entity feed = feeds.Entities.Count > 0 ? feeds.Entities[0] : null;
return feed;
}
Expand Down Expand Up @@ -235,7 +278,7 @@ private void RetrieveMultiple(string fetch)
eventargs.Cancel = true;
break;
}
tmpResult = Service.RetrieveMultiple(query);
tmpResult = RetrieveMultiple(query);
if (resultCollection == null)
{
resultCollection = tmpResult;
Expand Down

0 comments on commit d067dc9

Please sign in to comment.