Skip to main content

Query String Login Web Service

Add a Web Reference

Add the web service at "http://localhost/eba.net/ws/querystringlogin.asmx" to your project as a reference. Of course, you need to give an ip or machine name to the localhost section here that will allow you to access the eba server.

Parameterless Input

''public void GetQSLMethod() //creates a parameterless eba login link. { string serverName = "localhost";

#region if desired, the name of the server to connect to can be changed qslins. Url = "http://" + serverName + "/eba.net/ws/querystringlogin.asmx"; qslins. UseDefaultCredentials = true; #endregion

textBox1.Text = qslins. GetQueryStringLogin(username, password, logonuser);

}```

''// Returns the userid of the user. public void GetExternalUserIdMethod() { textBox1.Text = "External User Id:" + "\t " + qslins. GetExternalUserId(username, password, logonuser); }

public void GetInternalUserIdMethod() { textBox1.Text = "Internal User Id:" + "\t " + qslins. GetInternalUserId(username, password, logonuser); }


## Operations with parameters

Using the web service, more specific operations such as opening a certain document, positioning on a certain screen can also be done. Therefore
It is necessary to send certain parameters to the web service using the "QueryStringLoginParameters" class. The following example shows how these parameters can be used.

using eBAQueryStringLoginWebService;

string serverName = "";

string userName = "";

string position = "";

string password = "";

string logonUser = "";//which username to enter

Parameter information

bool showLeftMenu = true; Appear the menu on the left

bool showTopBar = true; Show the menu at the top?

string activePosition = ""; if there is more than one position

string action = ""; To do this

string processFilter = ""; Filter by process name

Various operations can be performed according to the Action Parameter. The operations to be performed according to the value to be given for this parameter are described below.

5.1 [StartupPage]
Returns a URL that points to the main screen.

5.2 [Approvals]
Shows flows that are pending the user's approval.

5.3 [Notifications]
The notifications made for the user are shown.

5.4 [Sents]
User-submitted documents.

5.5 [Drafts]
Pending documents in the user's drafts.

5.6 [History]
It shows the history of the transactions that have been made.

5.7 [Process] [processId][canEdit?]
To show a desired flow, the Action parameter returns the flow number (the ID field in the LIVEFLOWS table) and whether changes can be made to the stream (as true\false). Then the url can be retrieved as follows.

''' public void GetQSLWithParameterMethod() //parameterized eba is creating a login link.
{
bool linkokey = true;
string canedit = "false";
string ineditmode = "false";

int processid = 0, requestid = 0;

string path = "";

String menuItemKey = "";

if (!string. IsNullOrEmpty(processno. Text))
{
processcid=Convert.ToInt32(processno. Text);
}
if (!string. IsNullOrEmpty(requestno. Text))
{
requestid = Convert.ToInt32(requestno. Text);
}

if (this.canedit.Checked)
{
canedit="true";
}
if (this.ineditmode.Checked)
{
ineditmode = "true";
}

if (!string. IsNullOrEmpty(docpath. Text))
{
path = docpath. Text;
}

if (!string. IsNullOrEmpty(itemkey. Text))
{
menuitemkey = itemkey. Text;
}

QueryStringLoginParameters qslparameter = new QueryStringLoginParameters();

QSL parameter. ClickCount = 10; Adds a limit of 10 clicks to the link
QSL parameter. LeftMenuVisible = true; closes the menu on the left side
QSL parameter. TopBarVisible = true; it closes the bar at the top.

QSL parameter. ActivePosition = "PG0001"; AD00002 // if more than one position is available

QSL parameter. ProcessFilter = "TESTPROCESS"; Filter by process name

QSL parameter. Parameters = ""; parameters are given for the required fields.

What can be done with ACTION.
#region

/*
Various operations can be performed according to the Action Parameter. The operations to be performed according to the value to be given for this parameter are described below.

[Applications] [itemKey] -- If we want to do the operation as if a button on the menu was pressed, we can use the following method.
* For this, the process we want to use needs to be assigned the "Item Key" from the menu manager.
*
...
QSL parameter. action = "[Applications][" + MenuItemKey + "]";
...

[StartupPage] -- Returns a URL that points to the main screen.

[Approvals] -- Shows flows pending user approval.

[Notifications] -- Notifications for the user are shown.

[Sents] -- User-submitted documents.

[Drafts] -- Pending documents in the user's drafts.

[History] -- Shows the history of the transactions that have been done.

[Process] [processId] [canEdit?] -- To show a desired flow, the Action parameter is processid(LIVEFLOWS ID) and whether changes can be made to the flow (true\false).
...
QSL parameter. action = "[Process][1678][false]";  
...

[ProcessRequest] [processId] [requestId] -- With this method, we can open the stream with the privileges of a person on the stream. processID specifies the flow number of the requestId field in the FLOWREQUESTS table.
...
QSL parameter. action = "[ProcessRequest][1678][3]";       
...

[DocumentFromPath] [Path] [canEdit?] [inEditMode?] -- Serves to open a desired eBA form directly. The path information for eBA Froms is specified in the format workflow/projectName/formName/formID.wfd.
The other two fields receive true\false values. the first field is editable?, and the other indicates whether the document will open in replace mode (as if the "Make Edit" button was pressed).
...
QSL parameter. Action = "[DocumentFromPath][workflow/experiment/Form/145.wfd][true][true]";       
...

[DocumentExplorer] -- Opens the document navigator. /path must be exported.

[Delegations] -- Opens the screen used to delegate.

[UserSettings.ChangePassword] -- Opens the password change screen.

[Help] -- Opens the section with the help documentation.

[DocumentProperties] -- Opens the properties of the document or array. It comes in tabs where document or directory security authorization settings and content settings are edited within the user's authorization.

...
QSL parameter. action = "[DocumentProperties]";
QSL parameter. Parameters = "system/images/explorer/objects/folder.gif"; 
...

*/
#endregion

if (QSL_Param.Checked)
{
if (Application.Checked)
{

if (!string. IsNullOrEmpty(menuitemkey))
{
QSL parameter. action = "[Applications][" + menuitemkey + "]";
}
else
{
MessageBox.Show("This operation requires the Menu item key.");
}
}
else if (StartupPage.Checked)
{
QSL parameter. action = "[StartupPage]";

}
else if (Approvals.Checked)
{
QSL parameter. action = "[approvals]";
}
else if (Notifications.Checked)
{
QSL parameter. action = "[notifications]";
}
else if (Sents.Checked)
{
QSL parameter. action = "[Sents]";
}
else if (Drafts.Checked)
{
QSL parameter. action = "[Drafts]";
}
else if (Help.Checked)
{
QSL parameter. action = "[Help]";
}
else if (Delegations.Checked)
{
QSL parameter. action = "[delegations]";
}
else if (History.Checked)
{
By giving the menuitemkey, the history of the relevant process, draft, etc. can be opened.

if (append. Checked)
{
QSL parameter. action = "[History][" + menuitemkey + "]";
}
else
{
QSL parameter. action = "[history]";
}
}
else if (changepassword. Checked)
{
The password change part does not come.
QSL parameter. action = "[UserSettings.ChangePassword]";
}
else if (ProcessRequest.Checked)
{
creates a link to show the process for those who do not have authority.
if (!string. IsNullOrEmpty(processno. Text) &&; !string. IsNullOrEmpty(requestno. Text))
{
QSL parameter. Action = "[ProcessRequest]" + "[" + processcid + "]" + "[" + requestid + "]";
}
else
{
linkokey = false;
MessageBox.Show("The process ID and request ID must be filled.");
}

}
else if (Process.Checked)
{
QSL parameter. Action = "[Process]" + "[" + processid + "]" + "[" + canedit + "]";
}
else if (DocProperty.Checked)
{
if (!string. IsNullOrEmpty(docpath. Text))
{
QSL parameter. action = "[DocumentProperties]";
QSL parameter. Parameters = path;
QSL parameter. Parameters = "system/document templates/samplepdf.pdf";
}
else
{
MessageBox.Show("Path must be entered.!");
linkokey = false;
}
}
else if (DocExplorer.Checked)
{
if (!string. IsNullOrEmpty(docpath. Text))
{
QSL parameter. Action = "[DocumentExplorer]" + "[" + path + "]";
}
else
{
MessageBox.Show("Path must be entered.!");
linkokey = false;
}

}
else if (DocFromPath.Checked)
{
if (!string. IsNullOrEmpty(docpath. Text))
{
QSL parameter. Action = "[DocumentFromPath]" + "[" + path + "]" + "[" + canedit + "]" + "[" + ineditmode + "]";
[workflow/BytePdf/Form/1343.wfd]
}
else
{
MessageBox.Show("Path must be entered.!");
linkokey = false;
}

}
else
{
MessageBox.Show("Action is selected.");
}

if (linkokey)
{
LinkArea.Text = qslins. GetQueryStringLoginWithParameters(username, password, logonuser, qslparameter);
}
else
{
MessageBox.Show("Fill in the required fields!");
}

}

}```