本文整理汇总了C#中Contact.ToEntityReference方法的典型用法代码示例。如果您正苦于以下问题:C# Contact.ToEntityReference方法的具体用法?C# Contact.ToEntityReference怎么用?C# Contact.ToEntityReference使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Contact
的用法示例。
在下文中一共展示了Contact.ToEntityReference方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: When_set_state_request_is_called_an_entity_is_updated
public void When_set_state_request_is_called_an_entity_is_updated()
{
var context = new XrmFakedContext();
context.ProxyTypesAssembly = Assembly.GetExecutingAssembly();
var service = context.GetFakedOrganizationService();
var c = new Contact() {
Id = Guid.NewGuid()
};
context.Initialize(new[] { c });
var request = new SetStateRequest
{
EntityMoniker = c.ToEntityReference(),
State = new OptionSetValue(69),
Status = new OptionSetValue(6969),
};
var response = service.Execute(request);
//Retrieve record after update
var contact = (from con in context.CreateQuery<Contact>()
where con.Id == c.Id
select con).FirstOrDefault();
Assert.Equal((int) contact.StateCode.Value, 69);
Assert.Equal((int) contact.StatusCode.Value, 6969);
}
示例2: When_filtering_by_an_enum_attribute_and_using_proxy_types_right_result_is_returned
public void When_filtering_by_an_enum_attribute_and_using_proxy_types_right_result_is_returned()
{
var fakedContext = new XrmFakedContext { };
var entityAccount = new Account { Id = Guid.NewGuid(), Name = "Test Account", LogicalName = "account" };
var entityContact = new Contact { Id = Guid.NewGuid(), ParentCustomerId = entityAccount.ToEntityReference(), EMailAddress1 = "[email protected]" };
var entityCase = new Incident
{
Id = Guid.NewGuid(),
PrimaryContactId = entityContact.ToEntityReference(),
CustomerId = entityAccount.ToEntityReference(),
Title = "Unit Test Case"
};
entityCase["statecode"] = new OptionSetValue((int) IncidentState.Active);
fakedContext.Initialize(new List<Entity>() {
entityAccount,entityContact, entityCase
});
var fetchXml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' >
<entity name='incident' >
<attribute name='incidentid' />
<attribute name='statecode' />
<order attribute='createdon' descending='true' />
<filter type='and' >
<condition attribute='statecode' operator='neq' value='2' />
</filter>
</entity>
</fetch>";
var rows = fakedContext.GetFakedOrganizationService().RetrieveMultiple(new FetchExpression(fetchXml));
Assert.Equal(rows.Entities.Count, 1);
}
示例3: When_doing_a_crm_linq_query_and_selecting_an_entire_object_all_attributes_are_returned
public void When_doing_a_crm_linq_query_and_selecting_an_entire_object_all_attributes_are_returned()
{
var fakedContext = new XrmFakedContext();
fakedContext.ProxyTypesAssembly = Assembly.GetExecutingAssembly();
var contact = new Contact() { Id = Guid.NewGuid(), FirstName = "Chuck" };
var parentAccount = new Account()
{
Id = Guid.NewGuid(),
PrimaryContactId = contact.ToEntityReference()
};
var account = new Account()
{
Id = Guid.NewGuid(),
ParentAccountId = parentAccount.ToEntityReference()
};
fakedContext.Initialize(new List<Entity>() {
contact, parentAccount, account
});
var service = fakedContext.GetFakedOrganizationService();
using (XrmServiceContext ctx = new XrmServiceContext(service))
{
var matches = (from childAccount in ctx.CreateQuery<Account>()
join childsParentAccount in ctx.CreateQuery<Account>() on childAccount.ParentAccountId.Id equals childsParentAccount.AccountId
join primaryContact in ctx.CreateQuery<Contact>() on childsParentAccount.PrimaryContactId.Id equals primaryContact.ContactId
select new
{
Contact = primaryContact
}).ToList();
Assert.True(matches.Count == 1);
Assert.Equal(matches[0].Contact.Attributes.Count, 6 + 1);
}
}
示例4: Run
//.........这里部分代码省略.........
// Remove the primary contact value from Mary Kay Andersen
_orgContext.Attach(contact);
_orgContext.DeleteLink(
contact,
new Relationship("account_primary_contact"),
account);
SaveChangesHelper(contact, account);
Console.Write("Removing primary contact status, ");
// Add Mary Kay Andersen to the contact list for the account Contoso.
_orgContext.Attach(account);
_orgContext.Attach(contact);
_orgContext.AddLink(
account,
new Relationship("contact_customer_accounts"),
contact);
SaveChangesHelper(contact, account);
Console.WriteLine("and adding contact to account's contact list.");
// Add a note with a document attachment to the contact's record.
var attachment = File.OpenRead("sample.txt");
var data = new byte[attachment.Length];
attachment.Read(data, 0, (int)attachment.Length);
var note = new Annotation()
{
Subject = "Note subject...",
NoteText = "Note Details....",
DocumentBody = Convert.ToBase64String(data),
FileName = Path.GetFileName(attachment.Name),
MimeType = "text/plain",
Id = Guid.NewGuid(),
// Associate the note to the contact.
ObjectId = contact.ToEntityReference(),
ObjectTypeCode = Contact.EntityLogicalName
};
_annotationId = note.Id;
Console.Write("Instantiating a note, ");
_orgContext.AddObject(note);
_orgContext.Attach(contact);
// Set the contact as the Regarding attribute of the note.
_orgContext.AddLink(
contact,
new Relationship("Contact_Annotation"),
note);
SaveChangesHelper(note, contact);
Console.WriteLine("creating the note in CRM and linking to contact.");
// Change the owning user of the contact Mary Kay Andersen
// Find a user with an email address of "[email protected]"
var newOwner = (from u in _orgContext.CreateQuery<SystemUser>()
where u.InternalEMailAddress == "[email protected]"
select u).Single();
AssignRequest assignRequest = new AssignRequest()
{
Target = contact.ToEntityReference(),
Assignee = newOwner.ToEntityReference()
};
_orgContext.Execute(assignRequest);
Console.WriteLine("Changing ownership of contact record.");
// Create a new price list called Retail Price List.
var priceList = new PriceLevel()
{
Name = "Retail Price List",
BeginDate = DateTime.Now,
示例5: When_querying_fetchxml_with_linked_entities_with_left_outer_join_right_result_is_returned
public void When_querying_fetchxml_with_linked_entities_with_left_outer_join_right_result_is_returned()
{
var context = new XrmFakedContext();
var service = context.GetFakedOrganizationService();
var contact = new Contact()
{
Id = Guid.NewGuid(),
FirstName = "Lionel"
};
var account = new Account() { Id = Guid.NewGuid(), PrimaryContactId = contact.ToEntityReference() };
var account2 = new Account() { Id = Guid.NewGuid(), PrimaryContactId = null };
context.Initialize(new List<Entity>
{
contact, account, account2
});
var fetchXml = @"
<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='account'>
<attribute name='name' />
<attribute name='primarycontactid' />
<attribute name='telephone1' />
<attribute name='accountid' />
<order attribute='name' descending='false' />
<link-entity name='contact' from='contactid' to='primarycontactid' alias='aa' link-type='outer'>
<attribute name='firstname' />
</link-entity>
<filter type='and'>
<condition attribute='statecode' operator='eq' value='0' />
</filter>
</entity>
</fetch>
";
//Translated correctly
var queryExpression = XrmFakedContext.TranslateFetchXmlToQueryExpression(context, fetchXml);
Assert.True(queryExpression.LinkEntities.Count == 1);
var linkedEntity = queryExpression.LinkEntities[0];
Assert.Equal(linkedEntity.JoinOperator, JoinOperator.LeftOuter);
//Executed correctly
var request = new RetrieveMultipleRequest { Query = new FetchExpression(fetchXml) };
var response = ((RetrieveMultipleResponse)service.Execute(request));
var entities = response.EntityCollection.Entities;
Assert.True(entities.Count == 2);
Assert.Equal("Lionel", (entities[0]["aa.firstname"] as AliasedValue).Value.ToString());
Assert.False(entities[1].Attributes.ContainsKey("aa.firstname"));
}
示例6: XrmFakedContext
public void When_querying_fetchxml_with_linked_entities_linked_entity_properties_match_the_equivalent_linq_expression()
{
var context = new XrmFakedContext();
var service = context.GetFakedOrganizationService();
var contact = new Contact()
{
Id = Guid.NewGuid(),
FirstName = "Lionel"
};
var account = new Account()
{
Id = Guid.NewGuid(),
PrimaryContactId = contact.ToEntityReference()
};
context.Initialize(new List<Entity>
{
contact, account
});
var fetchXml = @"
<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='account'>
<attribute name='name' />
<attribute name='primarycontactid' />
<attribute name='telephone1' />
<attribute name='accountid' />
<order attribute='name' descending='false' />
<link-entity name='contact' from='contactid' to='primarycontactid' alias='aa'>
<attribute name='firstname' />
<filter type='and'>
<condition attribute='firstname' operator='eq' value='Lionel' />
</filter>
</link-entity>
</entity>
</fetch>
";
//Equivalent linq query
using(var ctx = new XrmServiceContext(service))
{
var linqQuery = (from a in ctx.CreateQuery<Account>()
join c in ctx.CreateQuery<Contact>() on a.PrimaryContactId.Id equals c.ContactId
where c.FirstName == "Lionel"
select new
{
Account = a,
Contact = c
}).ToList();
}
var queryExpression = XrmFakedContext.TranslateFetchXmlToQueryExpression(context, fetchXml);
Assert.True(queryExpression.LinkEntities.Count == 1);
var linkedEntity = queryExpression.LinkEntities[0];
Assert.Equal(linkedEntity.LinkFromAttributeName, "primarycontactid");
Assert.Equal(linkedEntity.LinkToAttributeName, "contactid");
Assert.Equal(linkedEntity.JoinOperator, JoinOperator.Inner);
var request = new RetrieveMultipleRequest { Query = new FetchExpression(fetchXml) };
var response = ((RetrieveMultipleResponse)service.Execute(request));
var entities = response.EntityCollection.Entities;
Assert.True(entities.Count == 1);
Assert.True(entities[0].Attributes.ContainsKey("aa.firstname"));
Assert.IsType<AliasedValue>(entities[0]["aa.firstname"]);
Assert.Equal("Lionel", (entities[0]["aa.firstname"] as AliasedValue).Value.ToString());
}