Ana içeriğe geç

Synergy Ortamında (Edit A Form) 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, "Edit A Form" 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 = "{\"ProjectName\":\"SOS_SharedLinks\", \"FormName\":\"ExampleFormName\", \"DocumentId\":213415}";
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

Edit A Form Tipi

Bir "Edit A Form" tipi form düzenleme işlemi yaptığımız için Payload kısmında ProjectName, FormName ve DocumentId değerleri verilerek hangi formun düzenleneceği bilgisi belirtilir.

createLinkRequest.Payload = "{\"ProjectName\":\"SOS_SharedLinks\", \"FormName\":\"ExampleFormName\", \"DocumentId\":213415}";

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 forma erişim sağlanabilir.