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;
Process Request Tipi Link Oluşturma
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.
Link Oluşturma İşlemi
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.