Microsoft Dynamic CRM servis bölümünde her işlem için “Servis Talebi” açılır. Açılan bu servis talebiyle servisteki ürünün durumu ve yapılan işlemler hakkında bilgi edinilebilinmektedir. Sistem her servis talebi açıldığında o servis talebine uniq bir servis talebi numarası atamaktadır. İşlem yapılacağı zaman da bu numara ile ilgili kayda erişim sağlanılmaktadır. Bu makalemde bu işlemleri Dynamic CRM in SDK’sını kullanarak ile C# programlama dili ile Servis Talebi açılmasını anlatacağım.
Dynamic CRM in Veritabanında olay kayıtları IncidentBase isimli tabloda tutulmaktadır. Incident isimli view aracılığıyla select yapılmaktadır.
SDK aracılığıyla servis kaydı açılacağı zaman incident isimli class’tan yeni bir nesne tanımlanır ve tanımlanan bu nesnenin gerekli ve zorunlu alanları set edilir ve servis talebi açılır.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
incident myIncident = new incident(); //Müşteri Şikayetleri giriliyor myIncident.title = “musterisikayet”; //Müşteri bilgisi aşağıdaki gibi set edilmektedir. myIncident.customerid = new Customer(); myIncident.customerid.type = EntityName.account.ToString(); myIncident.customerid.Value = new Guid(“müşteri id”); //Müşteri id veritabanındaki accountbase tablosundaki accountId alanındaki datadır. //Açılacak servis talebinin hangi birime ait olduğu set ediliyor myIncident.subjectid = new Lookup(); myIncident.subjectid.type = EntityName.subject.ToString(); myIncident.subjectid.Value = new Guid( "subject id" ); //Servis talebinin durumu set ediliyor. İlk durumu Active yapıyoruz. myIncident.statecode = new IncidentStateInfo(); myIncident.statecode.Value = IncidentState.Active; //Servis talebindeki ürünün Id bilgisi giriliyor myIncident.productid = new Lookup(); myIncident.productid.Value = new Guid(“ProductId”); //CRM deki ProductId myIncident.productserialnumber = txtSeriNo.Text.ToUpper(); //Serial Number //Parabirimi bilgisi giriliyor myIncident.transactioncurrencyid = new Lookup(); myIncident.transactioncurrencyid.Value = new Guid( "Para birimi ID" ); myIncident.exchangerate = new CrmDecimal(); //KUR 1 myIncident.exchangerate.Value = ( decimal )1; //Servis tipi giriliyor myIncident.casetypecode = new Picklist(); myIncident.casetypecode.Value = 1; //Son olarak crm servisinin Create() metodu ile servis talebi oluşturulur. Guid guid =crmservice.Create(myIncident); /////////OLUŞTUR////////// |
Create(xxx) metodu ile yeni olay tanımlaması gerçekleştiriliyor. Her yeni kayıt işleminde olduğu gibi zorunlu alanlar set edilmedikçe kayıt işlemi gerçekleştirilmemektedir.
Servis talebi içinde zorunlu alanlar: customerid, productid, productserialnumber ve transactioncurrencyid dir.
Bu ve benzeri sorunlar için bana turker.ahmet38@gmail.com mail adresim ile ulaşabilirsiniz.
Umarım faydalı olmuştur.