示例#1
0
        private void RefreshUIFromDatabase()
        {
            _bLoading = true;

            var ticketing = _activator.RepositoryLocator.CatalogueRepository.GetAllObjects <TicketingSystemConfiguration>().ToArray();

            if (ticketing.Length > 1)
            {
                throw new Exception("You have multiple TicketingSystemConfiguration configured, open the table TicketingSystemConfiguration and delete one of them");
            }

            _ticketingSystemConfiguration = ticketing.SingleOrDefault();
            var mef = _activator.RepositoryLocator.CatalogueRepository.MEF;

            cbxType.Items.Clear();
            cbxType.Items.AddRange(mef.GetTypes <ITicketingSystem>().Select(t => t.FullName).ToArray());

            ddCredentials.Items.Clear();
            ddCredentials.Items.Add(NoneText);
            ddCredentials.Items.AddRange(_activator.RepositoryLocator.CatalogueRepository.GetAllObjects <DataAccessCredentials>().ToArray());

            if (_ticketingSystemConfiguration == null)
            {
                gbTicketingSystem.Enabled = false;
                tbID.Text          = "";
                tbName.Text        = "";
                tbUrl.Text         = "";
                cbxType.Text       = "";
                cbDisabled.Checked = false;
                btnCreate.Enabled  = true;
                btnDelete.Enabled  = false;
            }
            else
            {
                gbTicketingSystem.Enabled = true;

                tbID.Text          = _ticketingSystemConfiguration.ID.ToString();
                tbName.Text        = _ticketingSystemConfiguration.Name;
                tbUrl.Text         = _ticketingSystemConfiguration.Url;
                cbxType.Text       = _ticketingSystemConfiguration.Type;
                cbDisabled.Checked = !_ticketingSystemConfiguration.IsActive;

                if (_ticketingSystemConfiguration.DataAccessCredentials_ID != null)
                {
                    ddCredentials.Text =
                        _ticketingSystemConfiguration.DataAccessCredentials.ToString();
                }
                else
                {
                    ddCredentials.Text = NoneText;
                }

                btnCreate.Enabled = false;
                btnDelete.Enabled = true;
                btnSave.Enabled   = false;
            }
            _bLoading = false;
        }
示例#2
0
        private void RefreshUIFromDatabase()
        {
            _bLoading = true;
            _ticketingSystemConfiguration = _activator.RepositoryLocator.CatalogueRepository.GetTicketingSystem();
            var mef = _activator.RepositoryLocator.CatalogueRepository.MEF;

            cbxType.Items.Clear();
            cbxType.Items.AddRange(mef.GetTypes <ITicketingSystem>().Select(t => t.FullName).ToArray());

            ddCredentials.Items.Clear();
            ddCredentials.Items.Add(NoneText);
            ddCredentials.Items.AddRange(_activator.RepositoryLocator.CatalogueRepository.GetAllObjects <DataAccessCredentials>().ToArray());

            if (_ticketingSystemConfiguration == null)
            {
                gbTicketingSystem.Enabled = false;
                tbID.Text    = "";
                tbName.Text  = "";
                tbUrl.Text   = "";
                cbxType.Text = "";

                btnCreate.Enabled = true;
                btnDelete.Enabled = false;
            }
            else
            {
                gbTicketingSystem.Enabled = true;

                tbID.Text    = _ticketingSystemConfiguration.ID.ToString();
                tbName.Text  = _ticketingSystemConfiguration.Name;
                tbUrl.Text   = _ticketingSystemConfiguration.Url;
                cbxType.Text = _ticketingSystemConfiguration.Type;

                if (_ticketingSystemConfiguration.DataAccessCredentials_ID != null)
                {
                    ddCredentials.Text =
                        _ticketingSystemConfiguration.DataAccessCredentials.ToString();
                }
                else
                {
                    ddCredentials.Text = NoneText;
                }

                btnCreate.Enabled = false;
                btnDelete.Enabled = true;
                btnSave.Enabled   = false;
            }
            _bLoading = false;
        }
        public ITicketingSystem CreateIfExists(TicketingSystemConfiguration ticketingSystemConfiguration)
        {
            //if there is no ticketing system
            if (ticketingSystemConfiguration == null)
            {
                return(null);
            }

            //if there is no Type
            if (string.IsNullOrWhiteSpace(ticketingSystemConfiguration.Type))
            {
                return(null);
            }

            IDataAccessCredentials creds = null;

            //if there are credentials create with those (otherwise create with null credentials)
            if (ticketingSystemConfiguration.DataAccessCredentials_ID != null)
            {
                creds = _repository.GetObjectByID <DataAccessCredentials>((int)ticketingSystemConfiguration.DataAccessCredentials_ID);
            }

            return(Create(ticketingSystemConfiguration.Type, ticketingSystemConfiguration.Url, creds));
        }