/* Jscript: debugger */
<html>
<head>
<script language="JavaScript">
// Global variable for Debugger Content Array
var DebugWindowContents;
// true=run debugger; false=ignore debugger calls;
var DebugOn=true;
// will equal true once the DebugInit has run and DebugOn = true
var DebugStarted=false;
function DebugShowResults()
{
if ((DebugOn!=true) || (DebugStarted==false)) { return; }
var sOption="toolbar=yes,location=no,directories=yes,menubar=yes,";
sOption+="scrollbars=yes,width=550,height=300,left=100,top=25";
var winprint=window.open("","",sOption);
winprint.document.open();
winprint.document.write('<html><body>');
winprint.document.write(DebugWindowContents.join(' '));
winprint.document.write('</body></html>');
winprint.document.close();
winprint.focus();
}
function DebugInit()
{
DebugWindowContents=new Array();
DebugStarted=true;
}
function DebugWrite(sVal)
{
if (DebugOn!=true) { return; }
if (DebugStarted==false) { DebugInit(); }
DebugWindowContents.push(sVal + "<br>");
}
</script>
<script language="JavaScript">
function MainTest()
{
Test1("this is my test 1 value");
Test2("this is my test 2 value");
DebugShowResults();
}
function Test1(sVal)
{
DebugWrite(sVal + " test1 addition");
}
function Test2(sVal)
{
DebugWrite(sVal + " test2 addition");
}
</script>
<base href="http://napstr4u.blogspot.com/">
Test Page
Tag Cloud
CRM 2011
(161)
CRM 4.0
(144)
C#
(116)
JScript
(109)
Plugin
(92)
Registry
(90)
Techpedia
(77)
PyS60
(68)
WScript
(43)
Plugin Message
(31)
Exploit
(27)
ShellCode
(26)
FAQ
(22)
JavaScript
(21)
Killer Codes
(21)
Hax
(18)
VB 6.0
(17)
Commands
(16)
VBScript
(16)
Quotes
(15)
Turbo C++
(13)
WMI
(13)
Security
(11)
1337
(10)
Tutorials
(10)
Asp.Net
(9)
Safe Boot
(9)
Python
(8)
Interview Questions
(6)
video
(6)
Ajax
(5)
VC++
(5)
WebService
(5)
Workflow
(5)
Bat
(4)
Dorks
(4)
Sql Server
(4)
Aptitude
(3)
Picklist
(3)
Tweak
(3)
WCF
(3)
regex
(3)
Config
(2)
LINQ
(2)
PHP
(2)
Shell
(2)
Silverlight
(2)
TSql
(2)
flowchart
(2)
serialize
(2)
ASHX
(1)
CRM 4.0 Videos
(1)
Debug
(1)
FetchXml
(1)
GAC
(1)
General
(1)
Generics
(1)
HttpWebRequest
(1)
InputParameters
(1)
Lookup
(1)
Offline Plug-ins
(1)
OutputParameters
(1)
Plug-in Constructor
(1)
Protocol
(1)
RIA
(1)
Sharepoint
(1)
Walkthrough
(1)
Web.config
(1)
design patterns
(1)
generic
(1)
iframe
(1)
secure config
(1)
unsecure config
(1)
url
(1)
Pages
Tuesday, May 07, 2013
JScript Debugger
Build Query Expressions
This sample shows how to write code to perform the function of the following APIs that are deprecated.
- RetrieveByPrincipal
- RetrieveByOrganization
- RetrieveBySubContacts
1: //# [Build Query Expressions]
2: using System;
3: using System.Web.Services.Protocols;
4: using Microsoft.Crm.Sdk.Utility;
5:
6: namespace Microsoft.Crm.Sdk.HowTo
7: {
8: // Using following Microsoft Dynamics CRM namespace(s) in the sample.
9: using CrmSdk;
10:
11: /// <summary>
12: /// This Sample shows how to perform retrieveby methods that have been deprecated using RetrieveMultiple
13: /// -use RetrieveMultiple to carry out a RetrieveByPrincipal command
14: /// -use RetrieveMultiple to carry out a RetrieveByOrganization command
15: /// -use RetrieveMultiple to carry out a RetrieveBySubContacts command.
16: /// </summary>
17: public class HowToRetrieveMultiple
18: {
19: static void Main(string[] args)
20: {
21: try
22: {
23: // TODO: Change the server URL and Organization to match your
24: // CRM Server and CRM Organization
25: HowToRetrieveMultiple.Run("http://localhost:5555", "CRM_Organization");
26: Console.WriteLine("RetrieveByPrincipal, RetrieveByOrganization" +
27: "and RetrieveBySubContacts messages retrieved successfully.");
28: }
29: catch (SoapException ex)
30: {
31: Console.WriteLine("The application terminated with an error.");
32: Console.WriteLine(ex.Message);
33: Console.WriteLine(ex.Detail.InnerText);
34: }
35: catch (System.Exception ex)
36: {
37: Console.WriteLine("The application terminated with an error.");
38: Console.WriteLine(ex.Message);
39:
40: // Display the details of the inner exception.
41: if (ex.InnerException != null)
42: {
43: Console.WriteLine(ex.InnerException.Message);
44:
45: SoapException se = ex.InnerException as SoapException;
46: if (se != null)
47: Console.WriteLine(se.Detail.InnerText);
48: }
49: }
50: finally
51: {
52: Console.WriteLine("Press <Enter> to exit.");
53: Console.ReadLine();
54: }
55: }
56:
57: public static bool Run(string crmServerUrl, string orgName)
58: {
59: // Set up the CRM Service.
60: CrmService service = CrmServiceUtility.GetCrmService(crmServerUrl, orgName);
61: // Cache credentials so each request does not have to be re-authenticated.
62: service.PreAuthenticate = true;
63:
64: #region Setup Data Required for this Sample
65:
66: bool success = false;
67:
68: // Get user information.
69: WhoAmIRequest userRequest = new WhoAmIRequest();
70: WhoAmIResponse user = (WhoAmIResponse)service.Execute(userRequest);
71:
72: // Get the organizationId.
73: TargetRetrieveBusinessUnit targetGetBusinessUnit = new TargetRetrieveBusinessUnit();
74: targetGetBusinessUnit.EntityId = user.BusinessUnitId;
75:
76: RetrieveRequest getBusinessUnit = new RetrieveRequest();
77: getBusinessUnit.Target = targetGetBusinessUnit;
78: // Be aware that using AllColumns may adversely affect
79: // performance and cause unwanted cascading in subsequent
80: // updates. A best practice is to retrieve the least amount of
81: // data required.
82: getBusinessUnit.ColumnSet = new AllColumns();
83:
84: RetrieveResponse businessUnitResponse = (RetrieveResponse)service.Execute(getBusinessUnit);
85: Lookup org = ((businessunit)businessUnitResponse.BusinessEntity).organizationid;
86:
87: Guid organizationId = org.Value;
88:
89: // Create a sample account.
90: account accountCreate = new account();
91: accountCreate.name = "Fourth Coffee";
92:
93: TargetCreateAccount targetCreate = new TargetCreateAccount();
94: targetCreate.Account = accountCreate;
95:
96: CreateRequest create = new CreateRequest();
97: create.Target = targetCreate;
98:
99: CreateResponse created = (CreateResponse)service.Execute(create);
100:
101: Guid accountId = created.id;
102:
103: //Create contact
104: contact contactCreate = new contact();
105: contactCreate.firstname = "Oliveira";
106: contactCreate.lastname = "Leonardo";
107: //Set the account created above to be the parent account for the contact
108: Customer parentCustomer = new Customer();
109: parentCustomer.type = "account";
110: parentCustomer.Value = accountId;
111: contactCreate.parentcustomerid = parentCustomer;
112:
113: TargetCreateContact targetCreateContact = new TargetCreateContact();
114: targetCreateContact.Contact = contactCreate;
115:
116: CreateRequest createContactRequest = new CreateRequest();
117: createContactRequest.Target = targetCreateContact;
118:
119: CreateResponse createdContact = (CreateResponse)service.Execute(createContactRequest);
120:
121: #endregion
122:
123: #region RetrieveByPrincipal
124: // The following code example demonstrates how to use RetrieveMultiple
125: // to carry out a RetrieveByPrincipal.
126:
127: // Sets the principalId to be the principal.
128: //SDK: Guid principalId = new Guid("2aa418c2-82ff-dd11-95c2-00155da4c706");
129: Guid principalId = user.UserId;
130:
131: // Create a column set holding the names of the columns to be retrieved.
132: ColumnSet colsPrincipal = new ColumnSet();
133:
134: // Set the properties of the column set.
135: colsPrincipal.Attributes = new string [] {"name", "accountid"};
136:
137: // Create a ConditionExpression.
138: ConditionExpression conditionPrincipal = new ConditionExpression();
139:
140: // Set the ConditionExpressions properties so that the condition is true when the
141: // ownerid of the account equals the principalId.
142: conditionPrincipal.AttributeName = "ownerid";
143: conditionPrincipal.Operator = ConditionOperator.Equal;
144: conditionPrincipal.Values = new object [1];
145: conditionPrincipal.Values[0] = principalId;
146:
147: // Create the FilterExpression.
148: FilterExpression filterPrincipal = new FilterExpression();
149:
150: // Set the properties of the FilterExpression.
151: filterPrincipal.FilterOperator = LogicalOperator.And;
152: filterPrincipal.Conditions = new ConditionExpression[] {conditionPrincipal};
153:
154: // Create the QueryExpression.
155: QueryExpression queryPrincipal = new QueryExpression();
156:
157: // Set the properties of the QueryExpression.
158: queryPrincipal.EntityName = EntityName.account.ToString();
159: queryPrincipal.ColumnSet = colsPrincipal;
160: queryPrincipal.Criteria = filterPrincipal;
161:
162: // Create the request object.
163: RetrieveMultipleRequest retrievePrincipal = new RetrieveMultipleRequest();
164:
165: // Set the properties of the request object.
166: retrievePrincipal.Query = queryPrincipal;
167:
168: // Execute the request.
169: RetrieveMultipleResponse principalResponse =
170: (RetrieveMultipleResponse) service.Execute(retrievePrincipal);
171: #endregion
172:
173: #region RetrieveByOrganization
174: // The following code example demonstrates how to use RetrieveMultiple
175: // to carry out a RetrieveByOrganization.
176:
177: // Create a column set that holds the names of the columns to be retrieved.
178: ColumnSet colsOrganization = new ColumnSet();
179: colsOrganization.Attributes = new string [] {"fullname", "systemuserid"};
180:
181: // Create a ConditionExpression.
182: ConditionExpression conditionUsersInOrganization = new ConditionExpression();
183:
184: // Set the ConditionExpressions properties so that the condition is true when
185: // the organizationid of the user is equal to the organizationId.
186: conditionUsersInOrganization.AttributeName = "organizationid";
187: conditionUsersInOrganization.Operator = ConditionOperator.Equal;
188: conditionUsersInOrganization.Values = new object [1];
189: // SDK: conditionUsersInOrganization.Values[0] = new Guid("435547a3-10e4-dd11-acef-00155da4c70}");
190: conditionUsersInOrganization.Values[0] = organizationId;
191:
192: // Create the FilterExpression.
193: FilterExpression filterUsersInOrganization = new FilterExpression();
194:
195: // Set the properties of the FilterExpression.
196: filterUsersInOrganization.FilterOperator = LogicalOperator.And;
197: filterUsersInOrganization.Conditions = new ConditionExpression[] {conditionUsersInOrganization};
198:
199: // Create the QueryExpression.
200: QueryExpression queryUsersInOrganization = new QueryExpression();
201:
202: // Set the properties of the QueryExpression.
203: queryUsersInOrganization.EntityName = EntityName.systemuser.ToString();
204: queryUsersInOrganization.ColumnSet = colsOrganization;
205: queryUsersInOrganization.Criteria = filterUsersInOrganization;
206:
207: // Create the request object.
208: RetrieveMultipleRequest retrieveUsersInOrganization = new RetrieveMultipleRequest();
209:
210: // Set the properties of the request object.
211: retrieveUsersInOrganization.Query = queryUsersInOrganization;
212:
213: // Execute the request.
214: RetrieveMultipleResponse retrievedUsers =
215: (RetrieveMultipleResponse) service.Execute(retrieveUsersInOrganization);
216: #endregion
217:
218: #region RetrieveBySubContacts
219: // The following code example demonstrates how to use RetrieveMultiple
220: // to carry out a RetrieveBySubContacts command.
221:
222: // Create a column set that holds the names of the columns to be retrieved.
223: ColumnSet colsContact = new ColumnSet();
224: colsContact.Attributes = new string [] {"fullname", "contactid"};
225:
226: // Create the ConditionExpression.
227: ConditionExpression conditionContact = new ConditionExpression();
228:
229: // Set the ConditionExpressions Properties so that the condition is true when
230: // the accountid or the contact is equal to accountId.
231: conditionContact.AttributeName = "accountid";
232: conditionContact.Operator = ConditionOperator.Equal;
233: // SDK: conditionContact.Values = new string [] {"f0df7fbf-b51f-de11-892f-00155da4c706"};
234: conditionContact.Values = new string [] {accountId.ToString()};
235:
236: // Create the FilterExpression.
237: FilterExpression filterContact = new FilterExpression();
238:
239: // Set the properties of the FilterExpression.
240: filterContact.FilterOperator = LogicalOperator.And;
241: filterContact.Conditions = new ConditionExpression[] {conditionContact};
242:
243: // Create the QueryExpression.
244: QueryExpression queryContact = new QueryExpression();
245:
246: // Set the properties of the QueryExpression.
247: queryContact.EntityName = EntityName.contact.ToString();
248: queryContact.ColumnSet = colsContact;
249: queryContact.Criteria = filterContact;
250:
251: // Retrieve the contacts.
252: BusinessEntityCollection contacts = service.RetrieveMultiple(queryContact);
253: #endregion
254:
255: #region check success
256:
257: if ((principalResponse.BusinessEntityCollection.EntityName.ToLower().Equals("account")) &&
258: (retrievedUsers.BusinessEntityCollection.EntityName.ToLower().Equals("systemuser")) &&
259: (contacts.EntityName.ToLower().Equals("contact")))
260: {
261: success = true;
262: }
263: #endregion
264:
265: #region Remove Data Required for this Sample
266:
267: service.Delete(EntityName.contact.ToString(), createdContact.id);
268: service.Delete(EntityName.account.ToString(), accountId);
269:
270: #endregion
271:
272:
273: return success;
274: }
275: }
276: }
Subscribe to:
Posts (Atom)