Wyszukiwanie konta (account) z C# o danej nazwie, lub e-mailu
Poniższy przykład możemy wykorzystać np. w nowo utorzonym entity, np. jakieś dane teleadresowe. Przygotowujemy oprócz poniższego kodu iframe w np. głownym widoku dla nowo utworzonego entity dwa pola tekstowe i przycisk pod który podpię ty jest poniższy kod. Pola tekstowe powinny sie nazywać: txtNazwa oraz txtEmail, oczywiście poniższy przykład możemy rozbudowywać.
W przykładzie tym wpisujemy w pole tekstowe txtNazwa, nazwę firmy którą chcemy sprawdzić czy istnieje, lub w pole tekstowe txtEmail, email firmy do której ewentualnie należy a chcemy sprawdzić czy już istnieje.
protected void SzukajKonto_Click(object sender, EventArgs e)
{
CrmService service =GetCrmService(); //pobieramy service CRM
RetrieveMultipleRequest mrequ = new RetrieveMultipleRequest();
ColumnSet cols = new ColumnSet();
account scc = new account();
// Ustawiamy właściwości które kolumny nas interesują.
cols.Attributes = new string[] { “accountid”, “name”, “address2_primarycontactname”,”address1_city”, “address1_line1″ };
// Tworzymy ConditionExpression obiekt.
ConditionExpression condition = new ConditionExpression();
if(!String.IsNullOrEmpty(txtNazwa.Text)) //sprawdzamy czy pole tekstowe txtNazwa nie jest puste
{
condition.AttributeName = “name”;
condition.Operator = ConditionOperator.Like;
condition.Values = new string[] { “%” + txtNazwa.Text + “%” };
}
if (!String.IsNullOrEmpty(txtEmail.Text)) //sprawdzamy czy pole tekstowe txtEmail nie jest puste
{
condition.AttributeName = “emailaddress1″;
condition.Operator = ConditionOperator.Like;
condition.Values = new string[] { “%” + txtEmail.Text + “%” };
}
// Tworzymy obiekt FilterExpression.
FilterExpression filter = new FilterExpression();
// Ustawiamy właściwości filtra.
filter.FilterOperator = LogicalOperator.And;
filter.Conditions = new ConditionExpression[] { condition };
// Tworzymy obiekt QueryExpression.
QueryExpression query = new QueryExpression();
// Ustawiamy właściwości obiektu QueryExpression.
query.EntityName = EntityName.account.ToString();
query.ColumnSet = cols;
query.Criteria = filter;
mrequ.Query = query;
// Wywołujemy zapytanie webservice (Execute).
RetrieveMultipleResponse response = (RetrieveMultipleResponse)service.Execute(mrequ);
string result = String.Empty;
if (response.BusinessEntityCollection.BusinessEntities.Length > 0)
{
foreach(BusinessEntity be in response.BusinessEntityCollection.BusinessEntities)
{
account acc = be as account;
result += acc.name + ” ” + acc.address2_primarycontactname + ” ” + acc.address1_city + ” ” + acc.address1_line1;
}
Response.Write(result);
}
else
{
Response.Write(”Nie istnieje konto o takich danych”);
}
}
