public connectToLoginSite ( string sitecode ) : |
||
sitecode | string | |
리턴 |
public DataSourceArray connectToLoginSite(string sitecode)
{
DataSourceArray result = new DataSourceArray();
if (String.IsNullOrEmpty(sitecode))
{
result.fault = new FaultTO(NO_SITECODE);
}
else if (mySession.SiteTable == null)
{
result.fault = new FaultTO(NO_SITE_TABLE);
}
else if (mySession.SiteTable.getSite(sitecode) == null)
{
result.fault = new FaultTO(SITE_NOT_IN_SITE_TABLE);
}
else if (mySession.ConnectionSet != null && mySession.ConnectionSet.Count > 0 && mySession.ConnectionSet.HasConnection(sitecode))
{
result.fault = new FaultTO(ALREADY_CONNECTED_TO_SITE);
}
if (result.fault != null)
{
return result;
}
try
{
Site site = mySession.SiteTable.getSite(sitecode);
DataSource src = site.getDataSourceByModality("HIS");
AbstractDaoFactory factory = AbstractDaoFactory.getDaoFactory(AbstractDaoFactory.getConstant(src.Protocol));
AbstractConnection c = factory.getConnection(src);
c.connect();
result = new DataSourceArray(src);
result.items[0].welcomeMessage = c.getWelcomeMessage();
mySession.ConnectionSet.Add(c);
}
catch (Exception e)
{
result.fault = new FaultTO(e.Message);
}
return result;
}
/// <summary> /// Connect to and log onto a data source. /// </summary> /// <remarks> /// Combines connecting, authentication and authorization into a single function. /// It will create a new set of session credentials and a primary permission. /// These credentials can then be used for subsequent visits. Calls login. /// </remarks> /// <param name="sourceId">Station number</param> /// <param name="accountId">Access code</param> /// <param name="accountPwd">Verify code</param> /// <param name="permissionString">If blank defaults to CPRS context</param> /// <returns>UserTO</returns> public UserTO connectAndLogin(string sourceId, string accountId, string accountPwd, string permissionString) { UserTO result = new UserTO(); if (sourceId == "") { result.fault = new FaultTO("Missing source ID"); } else if (accountId == "") { result.fault = new FaultTO("Missing account ID"); } else if (accountPwd == "") { result.fault = new FaultTO("Missing account password"); } if (result.fault != null) { return(result); } try { ConnectionLib cxnLib = new ConnectionLib(mySession); DataSourceArray da = cxnLib.connectToLoginSite(sourceId); if (da.fault != null) { result.fault = da.fault; return(result); } result = login(accountId, accountPwd, permissionString); } catch (Exception e) { result.fault = new FaultTO(e.Message); } return(result); }