private void ListSharedUsers() { string userFQN = base.GetStringProperty(Constants.SOProperties.OutOfOffice.UserFQN); ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = this.ServiceBroker.K2Connection.GetConnection <WorkflowManagementServer>(); using (mngServer.Connection) { // None for userstatus means the users is not configured, throw an exception if (mngServer.GetUserStatus(userFQN) == UserStatuses.None) { throw new ApplicationException(Resources.OutOfOfficeNotConfiguredForUser); } WorklistShares wsColl = mngServer.GetCurrentSharingSettings(userFQN, ShareType.OOF); foreach (WorklistShare ws in wsColl) { foreach (WorkType wt in ws.WorkTypes) { foreach (Destination dest in wt.Destinations) { DataRow dr = results.NewRow(); dr[Constants.SOProperties.OutOfOffice.UserFQN] = userFQN; dr[Constants.SOProperties.OutOfOffice.DestinationUser] = dest.Name.ToString(); results.Rows.Add(dr); } } } } }
private void SetStatus(UserStatuses status, bool checkCurrentStatus = true) { string userFQN = base.GetStringProperty(Constants.SOProperties.OutOfOffice.UserFQN); WorkflowManagementServer mngServer = this.ServiceBroker.K2Connection.GetConnection <WorkflowManagementServer>(); using (mngServer.Connection) { // None for userstatus means the users is not configured, throw an exception if (checkCurrentStatus && UserStatuses.None == mngServer.GetUserStatus(userFQN)) { throw new ApplicationException(Resources.OutOfOfficeNotConfiguredForUser); } bool result = mngServer.SetUserStatus(userFQN, status); if (!result) { throw new ApplicationException(Resources.FailedToSetOOF); } } }
private void SetStatus(UserStatuses status) { string userFQN = base.GetStringProperty(Constants.SOProperties.OutOfOffice.UserFQN); WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); // None for userstatus means the users is not configured, throw an exception if (UserStatuses.None == mngServer.GetUserStatus(userFQN)) { throw new ApplicationException(Constants.ErrorMessages.OutOfOfficeNotConfiguredForUser); } bool result = mngServer.SetUserStatus(userFQN, status); if (!result) { throw new ApplicationException(Constants.ErrorMessages.FailedToSetOOF); } } }
private void GetUserStatus() { string userFQN = base.GetStringProperty(Constants.SOProperties.OutOfOffice.UserFQN); ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = this.ServiceBroker.K2Connection.GetConnection <WorkflowManagementServer>(); using (mngServer.Connection) { UserStatuses status = mngServer.GetUserStatus(userFQN); DataRow dr = results.NewRow(); dr[Constants.SOProperties.OutOfOffice.UserFQN] = userFQN; dr[Constants.SOProperties.OutOfOffice.UserStatus] = status.ToString(); results.Rows.Add(dr); } }
private void RemoveAllShares() { string userFQN = base.GetStringProperty(Constants.SOProperties.OutOfOffice.UserFQN); WorkflowManagementServer mngServer = this.ServiceBroker.K2Connection.GetConnection <WorkflowManagementServer>(); using (mngServer.Connection) { if (mngServer.GetUserStatus(userFQN) == UserStatuses.None) { throw new ApplicationException(Resources.OutOfOfficeNotConfiguredForUser); } WorklistShares shares = mngServer.GetCurrentSharingSettings(userFQN, ShareType.OOF); if (shares == null || shares.Count > 0) { mngServer.UnShareAll(userFQN); } mngServer.Connection.Close(); } SetStatus(UserStatuses.Available, false); }
private void SetOutOfOffice() { string userFQN = base.GetStringProperty(Constants.Properties.OutOfOffice.UserFQN); ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); // None for userstatus means the users is not configured, throw an exception if (UserStatuses.None == mngServer.GetUserStatus(userFQN)) throw new ApplicationException(Constants.ErrorMessages.OutOfOfficeNotConfiguredForUser); bool result = mngServer.SetUserStatus(userFQN, UserStatuses.OOF); DataRow dr = results.NewRow(); dr[Constants.Properties.OutOfOffice.UserFQN] = userFQN; dr[Constants.Properties.OutOfOffice.CallSuccess] = result; results.Rows.Add(dr); } }
private void ListSharedUsers() { string userFQN = base.GetStringProperty(Constants.Properties.OutOfOffice.UserFQN); ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); // None for userstatus means the users is not configured, throw an exception if (UserStatuses.None == mngServer.GetUserStatus(userFQN)) throw new ApplicationException(Constants.ErrorMessages.OutOfOfficeNotConfiguredForUser); WorklistShares wsColl = mngServer.GetCurrentSharingSettings(userFQN, ShareType.OOF); foreach (WorklistShare ws in wsColl) { //throw new ApplicationException("collection count is: "+ wsColl.Count.ToString()); foreach (WorkType wt in ws.WorkTypes) { foreach (Destination dest in wt.Destinations) { DataRow dr = results.NewRow(); dr[Constants.Properties.OutOfOffice.DestinationUser] = dest.Name.ToString(); results.Rows.Add(dr); } } } } }
private void GetUserStatus() { string userFQN = base.GetStringProperty(Constants.Properties.OutOfOffice.UserFQN); ServiceObject serviceObject = base.ServiceBroker.Service.ServiceObjects[0]; serviceObject.Properties.InitResultTable(); DataTable results = base.ServiceBroker.ServicePackage.ResultTable; WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); UserStatuses status = mngServer.GetUserStatus(userFQN); DataRow dr = results.NewRow(); dr[Constants.Properties.OutOfOffice.UserFQN] = userFQN; dr[Constants.Properties.OutOfOffice.UserStatus] = status.ToString(); results.Rows.Add(dr); } }
private void SetStatus(UserStatuses status) { string userFQN = base.GetStringProperty(Constants.SOProperties.OutOfOffice.UserFQN); WorkflowManagementServer mngServer = new WorkflowManagementServer(); using (mngServer.CreateConnection()) { mngServer.Open(BaseAPIConnectionString); // None for userstatus means the users is not configured, throw an exception if (UserStatuses.None == mngServer.GetUserStatus(userFQN)) { throw new ApplicationException(Constants.ErrorMessages.OutOfOfficeNotConfiguredForUser); } bool result = mngServer.SetUserStatus(userFQN, status); if (!result) { throw new ApplicationException(Constants.ErrorMessages.FailedToSetOOF); } } }