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

 

/* 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


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:  }