public DataSourceTO connectSite(string sitecode)
{
DataSourceTO result = new DataSourceTO();
if (String.IsNullOrEmpty(sitecode))
{
result.fault = new FaultTO(NO_SITECODE);
}
else if (mySession.SiteTable == null || mySession.SiteTable.getSite(sitecode) == null)
{
result.fault = new FaultTO(NO_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 = (Site)mySession.SiteTable.Sites[sitecode];
DataSource dataSource = site.getDataSourceByModality("HIS");
AbstractDaoFactory factory = AbstractDaoFactory.getDaoFactory(AbstractDaoFactory.getConstant(dataSource.Protocol));
AbstractConnection c = factory.getConnection(dataSource);
c.connect();
result = new DataSourceTO(dataSource);
result.welcomeMessage = c.getWelcomeMessage();
mySession.ConnectionSet.Add(c);
}
catch (Exception e)
{
result.fault = new FaultTO(e.Message);
}
return result;
}