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ıyoruzowner.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şturdukDynamicEntity 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şturuyoruzCreateResponse 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şturuyoruzSecurityPrincipal 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 ediyoruzTargetOwnedDynamic target = new TargetOwnedDynamic();//Varlığın Adını ve GUID türünden değerini atıyoruztarget.EntityId = dynamicEntityId;target.EntityName = dynamicEntityName;// Atama işlemini bizim yerimize gerçekleştirecek nesnemizi oluştuyoruzAssignRequest assign = new AssignRequest();// Özelliklerini ayarlıyoruzassign.Assignee = assignee;assign.Target = target;// İsteğimizi çalıştırıyoruzAssignResponse 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.