Ana içeriğe geç

Proje Bazlı Vekalet Verme Dokümantasyonu

Synergy ortamında, proje bazlı vekalet vermek için aşağıdaki adımları takip edebilirsiniz. Bu dokümantasyon, gerekli olan kod parçacıklarını yorumlarla zenginleştirilmiş şekilde sunmaktadır.

Gereksinimler

  • Kullanıcının userId değeri
  • Vekaletin başlangıç ve bitiş tarihleri
  • Proje ID'si
  • Pozisyon ID'leri

Adımlar

1. Kullanıcı ID ve Tarih Bilgileri

long toUserId = 13;
DateTime startDate = DateTime.Now;
DateTime endDate = DateTime.Now.AddDays(15);

2. Vekalet İsmi Sözlüğü

  • Türkçe ve İngilizce açıklamalar içeren bir sözlük oluşturulur.
var delegationNameDictionary = new Dictionary<string, string>();
delegationNameDictionary.Add("tr-TR", "Proje aracılığı ile oluşturulan vekalettir.");
delegationNameDictionary.Add("en-US", "The delegation created by project.");

3. Pozisyon ID'leri ve Scopes Listesi

  • Pozisyon ID'leri ve Proje ID'si eklenir.
List<long> positionIds = new List<long> { Convert.ToInt64(35) };
List<string> scopes = new List<string>();
scopes.Add("app.4b5c6b72-b570-4b2c-8eaf-f5d82301f105"); // ProjeId'si scopeslara app.projeid formatında eklenir.

4. CreateDelegationRequest Nesnesi

  • Vekalet isteği oluşturulur.
var createDelegationRequest = new CreateDelegationRequest(
delegationNameDictionary,
DelegationType.Delegation,
toUserId,
startDate,
endDate,
scopes,
positionIds,
CreationType.Simple,
BasedType.Project
);

5. Vekaletin Oluşturulması

  • Vekalet isteği gönderilir ve sonuç kontrol edilir.
var delegateResult = synergyHelper.ServiceApi.Delegation.Create(createDelegationRequest).Result;
bool isDelegationSuccess = delegateResult.Success;

Örnek Kod

Aşağıda, yukarıda açıklanan adımları içeren tam kod örneğini bulabilirsiniz:

// Kullanıcı ID ve Tarih Bilgileri
long toUserId = 13;
DateTime startDate = DateTime.Now;
DateTime endDate = DateTime.Now.AddDays(15);

// Vekalet İsmi Sözlüğü
var delegationNameDictionary = new Dictionary<string, string>();
delegationNameDictionary.Add("tr-TR", "Proje aracılığı ile oluşturulan vekalettir.");
delegationNameDictionary.Add("en-US", "The delegation created by project.");

// Pozisyon ID'leri ve Scopes Listesi
List<long> positionIds = new List<long> { Convert.ToInt64(35) };
List<string> scopes = new List<string>();
scopes.Add("app.4b5c6b72-b570-4b2c-8eaf-f5d82301f105"); // ProjeId'si scopeslara app.projeid formatında eklenir.

// CreateDelegationRequest Nesnesi
var createDelegationRequest = new CreateDelegationRequest(
delegationNameDictionary,
DelegationType.Delegation,
toUserId,
startDate,
endDate,
scopes,
positionIds,
CreationType.Simple,
BasedType.Project
);

// Vekaletin Oluşturulması
var delegateResult = synergyHelper.ServiceApi.Delegation.Create(createDelegationRequest).Result;
bool isDelegationSuccess = delegateResult.Success;

Bu adımlar takip edilerek Synergy ortamında proje bazlı vekalet verilebilir.