Search

Sets the state of an opportunity to Lost

Sets the state of an opportunity to Lost.

//# The following code example shows how to use the LoseOpportunity message.
// Set up the CRM service.
CrmAuthenticationToken token = new CrmAuthenticationToken();
// You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0; 
token.OrganizationName = "AdventureWorksCycle";

CrmService service = new CrmService();
service.Url = "http://:/mscrmservices/2007/crmservice.asmx";
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

//Set up the data required for this sample.

// Create an account for the opportunity's potential customer.
account potentialCustomer = new account();
potentialCustomer.name = "Adventure Works Cycle";

Guid createdAccountId = service.Create(potentialCustomer);

// Build a query for US Dollar currency.
QueryByAttribute dollarQuery = new QueryByAttribute();
dollarQuery.EntityName = EntityName.transactioncurrency.ToString();
dollarQuery.Attributes = new string[] { "currencyname" };
dollarQuery.Values = new string[] { "US Dollar" };
// Be aware that using AllColumns may adversely affect
// performance and cause unwanted cascading in subsequent 
// updates. A best practice is to retrieve the least amount of 
// data required.
dollarQuery.ColumnSet = new AllColumns();

// Create the US currency request.
RetrieveMultipleRequest dollarRequest = new RetrieveMultipleRequest();
dollarRequest.Query = dollarQuery;

// Get US currency to use in the opportunity.
RetrieveMultipleResponse dollarResponse = (RetrieveMultipleResponse)service.Execute(dollarRequest);
transactioncurrency usCurrency = (transactioncurrency)dollarResponse.BusinessEntityCollection.BusinessEntities[0];

// Create an opportunity.
opportunity loseOpportunity = new opportunity();
loseOpportunity.customerid = new Customer();
loseOpportunity.customerid.type = EntityName.account.ToString();
loseOpportunity.customerid.Value = createdAccountId;
loseOpportunity.name = "SDK Sample for LoseOpportunity Message";
loseOpportunity.transactioncurrencyid = new Lookup();
loseOpportunity.transactioncurrencyid.type = EntityName.transactioncurrency.ToString();
loseOpportunity.transactioncurrencyid.Value = usCurrency.transactioncurrencyid.Value;

Guid loseOpportunityId = service.Create(loseOpportunity);

// Create an opportunityclose object.
opportunityclose oppClose = new opportunityclose();

// Set the opportunityclose properties.
oppClose.subject = "SDK Sample for LoseOpportunity Message";

// Set the opportunityid to an existing opportunity.
oppClose.opportunityid = new Lookup();
oppClose.opportunityid.type = EntityName.opportunity.ToString();
oppClose.opportunityid.Value = loseOpportunityId;

// Create the request.
LoseOpportunityRequest loseOppReq = new LoseOpportunityRequest();
loseOppReq.OpportunityClose = oppClose;

// A status of -1 will have the platform set the status to the appropriate value.
loseOppReq.Status = -1;

// Execute the request.
service.Execute(loseOppReq);




Reflection

Reflection provides objects (of type Type) that encapsulate assemblies, modules and types. You can use reflection to dynamically create an instance of a type, bind the type to an existing object, or get the type from an existing object and invoke its methods or access its fields and properties. If you are using attributes in your code, Reflection enables you to access them.

Here's a simple example of Reflection using the static method GetType - inherited by all types from the Object base class - to obtain the type of a variable:



// Using GetType to obtain type information:
int i = 42;
System.Type type = i.GetType();
System.Console.WriteLine(type);







In this example, Reflection is used to obtain the full name of a loaded assembly:




// Using Reflection to get information from an Assembly:
System.Reflection.Assembly o = System.Reflection.Assembly.Load("mscorlib.dll");
System.Console.WriteLine(o.GetName());





The output is:

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089



Check the Follwing video for more information:


ImportCompressedAllXml Message

Import all customizations from an XML file that has been compressed using the WinZip format.



This request requires an ImportExportXml file for import. This example exports this file from CRM and then imports it back into Microsoft Dynamics CRM.
[C#]
// Set up the CRM service.
CrmAuthenticationToken token = new CrmAuthenticationToken();
// You can use enums.cs from the SDK\Helpers folder to get the enumeration for Active Directory authentication.
token.AuthenticationType = 0;
token.OrganizationName = "AdventureWorksCycle";

CrmService service = new CrmService();
service.Url = "http://:/mscrmservices/2007/crmservice.asmx";
service.CrmAuthenticationTokenValue = token;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Create the request.
ExportCompressedAllXmlRequest requestExport = new ExportCompressedAllXmlRequest();
requestExport.EmbeddedFileName = "customizations.xml";

// Execute the request.
ExportCompressedAllXmlResponse responseExport = (ExportCompressedAllXmlResponse)service.Execute(requestExport);

// Get the compressed data
byte[] compressedXML = responseExport.ExportCompressedXml;

// Create the request.
ImportCompressedAllXmlRequest request = new ImportCompressedAllXmlRequest();

// Assign the compressed data
request.CompressedCustomizationXml = compressedXML;

// Execute the request.
ImportCompressedAllXmlResponse response = (ImportCompressedAllXmlResponse)service.Execute(request);