Ejemplo n.º 1
0
        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);
                        }
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
            }
        }
Ejemplo n.º 7
0
        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);
                        }
                    }
                }

            }
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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);
                }
            }
        }