示例#1
0
文件: ucMenu.cs 项目: fbluth/Wookie
 private void ucDefault1_BeforeDataLoad(object sender, EventArgs e)
 {
     this.dataContext                               = new Database.MenuDataContext(modulData.SqlConnection);
     this.ucDefault1.DataContext                    = this.dataContext;
     this.tsysClientBindingSource.DataSource        = this.dataContext.tsysClient;
     this.tsysClientElementBindingSource.DataSource = this.SelectedClient;
 }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="aceClient"></param>
        public void AddClients(AccordionControlElement aceClient)
        {
            // Lese aus der Datenbank alle Mandanten aus
            this.context = new Database.MenuDataContext(this.sqlConnection);
            var clientQuery = from client in context.tsysClient orderby client.SortOrder select client;

            // Falls keine Mandanten in der Datenbank hinterlegt sind, ist nichts zu tun
            if (clientQuery == null || clientQuery.Count() == 0)
            {
                return;
            }

            foreach (Database.tsysClient client in clientQuery)
            {
                AccordionControlElement clientItem = new AccordionControlElement()
                {
                    Text  = client.Name,
                    Style = ElementStyle.Item
                };

                clientItem.ImageOptions.Image = Converter.GetImageFromBinary(client.Image);
                clientItem.Click += Client_Click;

                if (this.TestConnection(client))
                {
                    this.clients.Add(clientItem, new Client(client.PKClient, new SqlConnection(GetSqlConnectionStringBuilder(client).ConnectionString), client.Name));
                }
                else
                {
                    // Falls Verbindung zur Datenbank nicht möglich ist, dann Item auf enabled = false setzen.
                    clientItem.Enabled = false;
                    clientItem.Text    = client.Name + " (No connection to database)";
                }

                aceClient.Elements.Add(clientItem);
            }

            if (this.clients.Count() > 0)
            {
                Client client = clients.ToArray()[0].Value as Client;
                this.AddMenu(client);
                ClientChanged?.Invoke(client);
            }
        }
示例#3
0
        private void AddMenu(Client client)
        {
            if (this.accordionControl == null)
            {
                return;
            }

            this.menuItems = new List <MenuItem>();

            this.accordionControl.BeginUpdate();
            this.accordionControl.Elements.Clear();

            this.context = new Database.MenuDataContext(this.sqlConnection);

            this.CreateMenu(client, null, null);
            this.AddSettingsItem();
            this.accordionControl.EndUpdate();

            if (this.menuItems.Count > 0)
            {
                OnMenuItemClick(this.menuItems[0]);
            }
        }