Ana içeriğe geç

Synergy Ortamında (Open Main Page) Tipli Link Oluşturma Dokümantasyonu

Bu dokümantasyon, Synergy ortamında link oluşturma işlemlerini açıklamaktadır. Link oluşturma işlemleri, ServiceApi'nin Shared özelliğini kullanarak gerçekleştirilir. Bu işlemleri yapabilmek için öncelikle ServiceApi nesnesinin bir örneğine ihtiyacımız vardır. Bu örneği kullanarak ServiceApi'den Shared'a erişip CreateLink fonksiyonunu kullanarak link oluşturabiliriz.

Bu işlemleri gerçekleştirmek için aşağıdaki iki using ifadesini eklememiz gerekmektedir:

using Bimser.Synergy.Entities.WebInterface.Business.DTOs.Requests;
using Bimser.Synergy.Entities.WebInterface.Business.Objects.ShareLink;

Aşağıda, "Open Main Page" tipi link oluşturma işlemini gerçekleştiren örnek bir kod parçası bulunmaktadır:

private string CreateEditAFormLink()
{
var serviceApi = new SynergyHelper(Session).ServiceApi;
CreateLinkRequest createLinkRequest = new CreateLinkRequest();
createLinkRequest.EmbeddedView = chbEmbeddedView.Value;
createLinkRequest.ViewHideInfo =
new ViewHideInfoObject(_hideLeftMenu, _hideBreadcrumbNavigation,
_hideBreadcrumbItems, _hideAppSearch, _hideAdminTools, _hideProfileMenu,
_hideApprovals, _hideLastVisitedDocuments, _hideAnnouncements, _hideActivities);
createLinkRequest.LinkType = (Bimser.Synergy.Entities.WebInterface.Common.Enums.CreateLinkType)1;
createLinkRequest.Scope = new List<string> {
"sysfullaccess",
"idefullaccess",
"dmfullaccess",
"mobilefullaccess",
"appsfullaccess",
"menufullaccess",
"procmanfullaccess",
"sysaccess",
"appsfullaccess",
"web.announcement",
"web.announcement.read",
"webfullaccess",
"webaccess"
};
createLinkRequest.UserId = 1;
createLinkRequest.Status = true;
createLinkRequest.Payload = "{\"MenuItemKey\":\"db4c5a7b-ce37-57f5-b58f-dd41fa65fd03\"}";
createLinkRequest.RequestLimit = 99;
var result = serviceApi.Shared.CreateLink(createLinkRequest);
return result.Result.Result.LinkId;
}

Parametre Açıklamaları

UserId

createLinkRequest.UserId = 1; ifadesi, linki kimin için oluşturduğumuzu veya link ile işlem yapılacağı zaman kim üzerinden işlem yapılması gerektiğini belirler. Bu, veri tabanında OSUSERS tablosundaki ID kolonundaki değeri esas alır.

Scope

Scope kısmında tüm yetkileri veriyoruz ve 1 numaralı kullanıcının yetkisi verilmiş olan scope'dan daha az ise kullanıcının mevcut olduğu yetkiler esas alınacaktır.

EmbeddedView

EmbeddedView parametresinin değeri true olursa, link ile forma erişildiğinde yalnızca formun görüntülenmesini sağlar ve diğer alanların erişim dışı olmasını sağlar.

ViewHideInfo

Erişimleri ayrıca yönetmek istiyorsak ViewHideInfo parametresini kullanmamız gerekmektedir.

bool _hideLeftMenu = false;           // Sol Menüyü Gizle
bool _hideBreadcrumbNavigation = false; // Gezinti Menüsünü Gizle
bool _hideBreadcrumbItems = false; // Gezinti Öğelerini Gizle
bool _hideAppSearch = false; // Uygulama Aramasını Gizle
bool _hideAdminTools = false; // Yönetici Araçlarını Gizle
bool _hideProfileMenu = false; // Profil Menüsünü Gizle
bool _hideApprovals = false; // Onayları Gizle
bool _hideLastVisitedDocuments = false; // Son Ziyaret Edilen Belgeleri Gizle
bool _hideAnnouncements = false; // Duyuruları Gizle
bool _hideActivities = false; // Aktiviteleri Gizle

Buradaki bir değerin true verilmesi, ilgili alanın gizlenmesini sağlar.

Payload

Process Request Tipi

Bir "Open Main Page" tipi menülerde yer alan bir item'ı açmak için Payload kısmında MenuItemKey değeri verilerek hangi menünün açılacağı bilgisi belirtilir.

createLinkRequest.Payload = "{\"MenuItemKey\":\"db4c5a7b-ce37-57f5-b58f-dd41fa65fd03\"}";

RequestLimit

RequestLimit parametresi, linkin kaç defa tıklanabileceğini belirtir. Örneğin, createLinkRequest.RequestLimit = 99; ifadesi, linkin en fazla 99 defa tıklanabileceği anlamına gelir.

Fonksiyon başarılı bir şekilde çalıştırıldığında, oluşturulan linkin değerini dönecektir. Bu değeri kullanarak ilgili sürece erişim sağlanabilir.