Makale Özeti

Selamlar, Bu makalemizde CRM içerisinde kodlama yaparken karşımıza çok çıkan bir kod ihtiyacından bahsedeceğim. Öncelikle senaryomuzu kuralım : kullanıcı varlığın sahibini değiştirmek zorunda bulunuyor. CRM SDK’sı içerisine bakarsanız 2 yerde varlığın sahibini değiştirme kodu bulabilirsiniz ki bunlardan sadece biri çalışmaktadır.

Makale

Selamlar,

Bu makalemizde CRM içerisinde kodlama yaparken karşımıza çok çıkan bir kod ihtiyacından bahsedeceğim.

Öncelikle senaryomuzu kuralım : kullanıcı varlığın sahibini değiştirmek zorunda bulunuyor. CRM SDK’sı içerisine bakarsanız 2 yerde varlığın sahibini değiştirme kodu bulabilirsiniz ki bunlardan sadece biri çalışmaktadır.

Eğer oluşturduğunuz bir varlığın sahibinin başkası olmasını istiyorsanız ilk yapacağınız owner türünden bir nesne oluşturup, atamak istediğiniz kullanıcıyı bu nesneye atamız gerekmektedir.

//Owner türünden bir nesne oluşturduk

Owner owner = new Owner();
owner
.type = EntityName.systemuser.ToString();

//Atamak istediğim kişinin ID’sini atıyoruz
owner
.Value = newEntityOwnerId;

 

Sonra dinamik varlık özelliklerine diğer özellikleri ile sahibide ekleyip ve isteği çalıştırıyoruz:

 

//Dynamic bir varlık oluşturduk
DynamicEntity entity = new DynamicEntity();
entity
.Name = entityName;
entity
.Properties = properties;
TargetCreateDynamic myTarget = new TargetCreateDynamic();
myTarget
.Entity = entity;
CreateRequest create = new CreateRequest();
create
.Target = myTarget;

//CRM servisi aracılığıyla varlığımızı oluşturuyoruz
CreateResponse response = (CreateResponse)_crmService.Execute(create);

Bu işlemden sonra response nesnesi içerisinde oluşan varlığın ID’si yer almaktadır.

Sadece başka bir kullanıcıya atama işlemi yapacaksanızda aşağıdaki kodu kullanabilirsiniz :

// SecurityPrincipal türünden bir nesne oluşturuyoruz
SecurityPrincipal assignee = new SecurityPrincipal();

// SecurityPrincipal nesnesinin özelliklerini ayarlıyoruz'
// Atayacağımız kişinin GUID türünden değerini veriyoruz
assignee.PrincipalId = userId;

// Varlığımızı set ediyoruz
TargetOwnedDynamic target = new TargetOwnedDynamic();
//Varlığın Adını ve GUID türünden değerini atıyoruz
target.EntityId = dynamicEntityId;
target
.EntityName = dynamicEntityName;

// Atama işlemini bizim yerimize gerçekleştirecek nesnemizi oluştuyoruz
AssignRequest assign = new AssignRequest();
// Özelliklerini ayarlıyoruz
assign.Assignee = assignee;
assign
.Target = target;

// İsteğimizi çalıştırıyoruz
AssignResponse assignResponse = (AssignResponse)_crmService.Execute(assign);

Thanks Dujen.

 

Bir makalenin daha sonuna geldik. Makale ile ilgili aklınıza takılan kısımları bana aşağıdaki mail adresimden sorabilirsiniz.

 

Sağlıcakla kalın.


Volkan KORKMAZ
Microsoft Certified Business Management Solutions Specialist
volkankorkmaz@gmail.com
http://www.volkankorkmaz.net