代码
using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CrmWebServiceTest.CrmService;
namespace CrmWebServiceTest
{
/// <summary>
/// author:Seer lin
/// description:demo of using CrmService to create,delete,update,retreive entity record
/// </summary>
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ServiceSetUp();
}
private const string serviceUrl = " http://localhost:5555/MSCRMServices/2007/CrmService.asmx " ;
CrmService.CrmService cs = new CrmWebServiceTest.CrmService.CrmService();
// create a new contact
private void btnCreate_Click( object sender, EventArgs e)
{
contact contact = new contact();
contact.firstname = " seer2 " ;
contact.lastname = " lin " ;
contact.address1_city = " shan tou " ;
contact.donotbulkemail = new CrmBoolean();
contact.donotbulkemail.Value = true ;
Guid guid = cs.Create(contact);
MessageBox.Show( " 新增成功 " + guid.ToString());
}
// 设置webservice,例如验证凭证等
private void ServiceSetUp()
{
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = 0 ;
token.OrganizationName = " crmdev2 " ;
cs.Url = serviceUrl;
cs.CrmAuthenticationTokenValue = token;
// cs.Credentials = System.Net.CredentialCache.DefaultCredentials;
cs.Credentials = new System.Net.NetworkCredential( " administrator " , "" , " crm " );
}
// delete a contact by contactid
private void btnDelete_Click( object sender, EventArgs e)
{
cs.Delete( " contact " , new Guid( " f08853d3-7673-df11-b781-0003ff779ab5 " ));
}
// retrieve some contacts by condition
private void btnRetrieve_Click( object sender, EventArgs e)
{
ColumnSet cols = new ColumnSet();
cols.Attributes = new string [] { " contactid " , " fullname " , " contactid " };
ConditionExpression con1 = new ConditionExpression();
con1.AttributeName = " firstname " ;
con1.Values = new string [] { " seer2 " };
con1.Operator = ConditionOperator.Like;
ConditionExpression con2 = new ConditionExpression();
con2.AttributeName = " lastname " ;
con2.Values = new string [] { " lin " };
con2.Operator = ConditionOperator.Equal;
FilterExpression filter = new FilterExpression();
filter.Conditions = new ConditionExpression[] { con1,con2 };
filter.FilterOperator = LogicalOperator.And;
// filter.Filters=...如果有有一些条件跟前面的查询逻辑不一样,
// 例如前面是and,如果其他条件是or,那就必须创建一个新的filter,再加到这个属性,相当于两个filter合再一起
QueryExpression query = new QueryExpression();
query.EntityName = EntityName.contact.ToString();
query.ColumnSet = cols;
query.Criteria = filter;
query.PageInfo = new PagingInfo();
query.PageInfo.Count = 2 ; // counts per page
query.PageInfo.PageNumber = 1 ; // current page
BusinessEntityCollection contacts = cs.RetrieveMultiple(query);
if (contacts.BusinessEntities.Length > 0 ){
foreach (BusinessEntity be in contacts.BusinessEntities ){
string guid = ((contact)be).contactid.Value.ToString();
MessageBox.Show(guid);
}
}
}
private void btnDynamicEntity_Click( object sender, EventArgs e)
{
// create a string property for firstname field
StringProperty spFirstName = new StringProperty();
spFirstName.Name = " firstname " ;
spFirstName.Value = " seer3 " ;
// create a key property for contactid,witch is a guid
KeyProperty guid = new KeyProperty();
guid.Name = " contactid " ;
guid.Value = new Key();
guid.Value.Value = new Guid( " 20124c71-7773-df11-b781-0003ff779ab5 " ) ;
// create a new dynamicEntity
DynamicEntity de = new DynamicEntity();
de.Name = EntityName.contact.ToString();
de.Properties = new Property[] { spFirstName, guid };
// update a contact entity
TargetUpdateDynamic updateTarget = new TargetUpdateDynamic();
updateTarget.Entity = de;
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.Target = updateTarget;
// Create a new contact
// TargetCreateDynamic createTarget = new TargetCreateDynamic();
// createTarget.Entity = de;
// CreateRequest createRequest = new CreateRequest();
// createRequest.Target = createTarget;
// configure some option for create or update
// OptionalParameter op = new PersistInSyncOptionalParameter();
// request.OptionalParameters = new OptionalParameter[] {op };
Response response = cs.Execute(updateRequest);
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CrmWebServiceTest.CrmService;
namespace CrmWebServiceTest
{
/// <summary>
/// author:Seer lin
/// description:demo of using CrmService to create,delete,update,retreive entity record
/// </summary>
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
ServiceSetUp();
}
private const string serviceUrl = " http://localhost:5555/MSCRMServices/2007/CrmService.asmx " ;
CrmService.CrmService cs = new CrmWebServiceTest.CrmService.CrmService();
// create a new contact
private void btnCreate_Click( object sender, EventArgs e)
{
contact contact = new contact();
contact.firstname = " seer2 " ;
contact.lastname = " lin " ;
contact.address1_city = " shan tou " ;
contact.donotbulkemail = new CrmBoolean();
contact.donotbulkemail.Value = true ;
Guid guid = cs.Create(contact);
MessageBox.Show( " 新增成功 " + guid.ToString());
}
// 设置webservice,例如验证凭证等
private void ServiceSetUp()
{
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = 0 ;
token.OrganizationName = " crmdev2 " ;
cs.Url = serviceUrl;
cs.CrmAuthenticationTokenValue = token;
// cs.Credentials = System.Net.CredentialCache.DefaultCredentials;
cs.Credentials = new System.Net.NetworkCredential( " administrator " , "" , " crm " );
}
// delete a contact by contactid
private void btnDelete_Click( object sender, EventArgs e)
{
cs.Delete( " contact " , new Guid( " f08853d3-7673-df11-b781-0003ff779ab5 " ));
}
// retrieve some contacts by condition
private void btnRetrieve_Click( object sender, EventArgs e)
{
ColumnSet cols = new ColumnSet();
cols.Attributes = new string [] { " contactid " , " fullname " , " contactid " };
ConditionExpression con1 = new ConditionExpression();
con1.AttributeName = " firstname " ;
con1.Values = new string [] { " seer2 " };
con1.Operator = ConditionOperator.Like;
ConditionExpression con2 = new ConditionExpression();
con2.AttributeName = " lastname " ;
con2.Values = new string [] { " lin " };
con2.Operator = ConditionOperator.Equal;
FilterExpression filter = new FilterExpression();
filter.Conditions = new ConditionExpression[] { con1,con2 };
filter.FilterOperator = LogicalOperator.And;
// filter.Filters=...如果有有一些条件跟前面的查询逻辑不一样,
// 例如前面是and,如果其他条件是or,那就必须创建一个新的filter,再加到这个属性,相当于两个filter合再一起
QueryExpression query = new QueryExpression();
query.EntityName = EntityName.contact.ToString();
query.ColumnSet = cols;
query.Criteria = filter;
query.PageInfo = new PagingInfo();
query.PageInfo.Count = 2 ; // counts per page
query.PageInfo.PageNumber = 1 ; // current page
BusinessEntityCollection contacts = cs.RetrieveMultiple(query);
if (contacts.BusinessEntities.Length > 0 ){
foreach (BusinessEntity be in contacts.BusinessEntities ){
string guid = ((contact)be).contactid.Value.ToString();
MessageBox.Show(guid);
}
}
}
private void btnDynamicEntity_Click( object sender, EventArgs e)
{
// create a string property for firstname field
StringProperty spFirstName = new StringProperty();
spFirstName.Name = " firstname " ;
spFirstName.Value = " seer3 " ;
// create a key property for contactid,witch is a guid
KeyProperty guid = new KeyProperty();
guid.Name = " contactid " ;
guid.Value = new Key();
guid.Value.Value = new Guid( " 20124c71-7773-df11-b781-0003ff779ab5 " ) ;
// create a new dynamicEntity
DynamicEntity de = new DynamicEntity();
de.Name = EntityName.contact.ToString();
de.Properties = new Property[] { spFirstName, guid };
// update a contact entity
TargetUpdateDynamic updateTarget = new TargetUpdateDynamic();
updateTarget.Entity = de;
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.Target = updateTarget;
// Create a new contact
// TargetCreateDynamic createTarget = new TargetCreateDynamic();
// createTarget.Entity = de;
// CreateRequest createRequest = new CreateRequest();
// createRequest.Target = createTarget;
// configure some option for create or update
// OptionalParameter op = new PersistInSyncOptionalParameter();
// request.OptionalParameters = new OptionalParameter[] {op };
Response response = cs.Execute(updateRequest);
}
}
}