Microsoft Dynamics CRM için program yazarken bilinmesi gereken en
temel şey CRM'in her entity(tablo) üzerinde bulunan ve kullanılmakta olan bir
attribute(özellik) sınıf mimarisine sahip olduğudur. CRM mimarisini kullanarak
program yazmak istediğinizde bunları mutlaka kullanmanız gerekmektedir. Çoğu
kişi kullanım konusunda ilk anda hataya düşmektedir. Nedeni ise standart olarak
şöyle bir tanımlama yapmaya çalışmalarıdır;
CrmNumber number = 5;
Fakat bu yanlış
bir tanımlama biçimidir. Doğru olan ise;
CrmNumber number = new CrmNumber();
number.Value = 5;
Yani sınıf
türetildikten sonra ".Value" kullanılarak değer ataması yapılmalıdır.
Bu
noktada çok sık yapılan başka bir yanlışlığa değinmek istiyorum. CRM üzerinde
bir veriyi güncellerken doğal güncellemek istediğiniz kaydın ID'sini yani
Guid'ini vermeniz gerekmektedir. Sanıyorum sql ile anlatmak daha anlaşılır
olacaktır.
update .. set .. xxx =
'{7649FD8B-D4D2-DB11-90C4-000423CA2056}'
tarzında bir güncelleme
cümlesini servis ile ifade ederken "Key" attribute'unu kullanmamız
gerekmektedir.
lead _lead =
new lead();
......
arada istediğimiz attribute'a yeni
değerini atıyoruz.
......
_lead.leadid = new
Key();
_lead.leadid.Value = new Guid("{7649FD8B-D4D2-DB11-90C4-000423CA2056}");
.....
Artık
Update hangi kayıdı update edeceğini biliyor.
.....
MyService.Update(_lead);
Aşağıdaki tabloda bu sınıfların isimleri verilmiştir.
| Sınıf Adı |
Tanım |
| CrmBoolean |
boolean. |
| CrmDateTime |
date/time. |
| CrmDecimal |
decimal. |
| CrmFloat |
float. |
| CrmMoney |
money. |
| CrmNumber |
number ya da integer. |
| CrmReference |
Başka bir entity'i referans göstermek için kullanılır. Bu
özelliği kullandığınız zaman value ve type atamak zorundasınız. |
| Customer |
customer class'ini refere eder. CrmReference classının
subclass'ıdır. |
| EntityNameReference |
Entity ismi için kullanılır. |
| Key |
primary key |
| Lookup |
Başka bir entity'i referans gösterir. CrmReference classının
subclass'ıdır. |
| Owner |
Sahip entitysini referans eder. CrmReference classının
subclass'ıdır. |
| Picklist |
picklist |
| Status |
status |
| UniqueIdentifier |
GUID |
Aşağıdaki örnek
kod bu türlere nasıl değer atayacağınızı göstermektedir. Yanlarındaki değerler
öylesine verilmiştir.
CrmBoolean boolean = new CrmBoolean();
boolean.Value = true;
CrmDateTime dateTime = new CrmDateTime();
dateTime.Value = "20080129 00:00:00";
CrmDecimal dec = new CrmDecimal();
dec.Value = (decimal)5.5;
CrmFloat f = new CrmFloat();
f.Value = (float)5.5;
CrmMoney money = new CrmMoney();
money.Value = (decimal)5.00;
CrmNumber number = new CrmNumber();
number.Value = 5;
Lookup lookup = new Lookup();
lookup.Value = new Guid("{7649FD8B-D4D2-DB11-90C4-000423CA2056}");
lookup.type =
EntityName.account.ToString();
Owner owner = new Owner();
owner.type = EntityName.systemuser.ToString();
owner.Value =
user.UserId;
Picklist list = new
Picklist();
list.Value
= 2;
Status status
= new Status();
status.Value =
4;
EntityNameReference reference = new
EntityNameReference();
reference.Value = EntityName.account.ToString();
Key key = new Key();
key.Value = new Guid("{7649FD8B-D4D2-DB11-90C4-000423CA2056}");
Bir makale daha burada biter. Hepiniz hoşçakalın. Web stiemi ziyaret etmeyi
unutmayın :-)
Barış
KANLICA
Yazılım Uzmanı – Software Specialist
brsk@e-kolay.net
www.cub-e.net
1 kişi tarafından 5.0 olarak değerlendirildi
- Currently 5/5 Stars.
- 1
- 2
- 3
- 4
- 5