Microsoft Dynamics CRM 4.0'da Dinamik Varlığın Sahibini Değiştirmek

Yazar: Volkan KORKMAZ
Kategori: Microsoft Dynamics CRM
Eklenme Tarihi: 8.6.2010 19:14:53



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.

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


Volkan KORKMAZ

Bilgisayar mühendisliği mezunu olan, Volkan KORKMAZ 2004'den beri sektörde birçok projede yazılımcı ve danışman olarak görev almıştır. Özellikle Microsoft Dynamics ,MOSS ve Web projeleri alanlarında yapılan entegrasyonlar üzerine uzmanlaşmıştır.

Diğer uzmanlık alanları içinde HP ServiceDesk ve ERP(logo, netsis) programları bulunmaktadır. MCSD.NET ve Microsoft Certified Business Management Solutions Specialist sertifikalarına sahiptir.

Şu an sektöründe lider bir yazılım firmasında yazılım geliştirme müdürü olarak çalışmaktadır. Ayrıca kurumsal ve bireysel olarak eğitim vermektedir.
Bu makaleye ilk yorum yapan siz olun.

Yorumunuz