Пример #1
0
        //
        //  Function:   public void Close_Site(int site_no)
        //
        //  Arguments:  int site_no = Number of the site (in open_sites) to close
        //
        //  Purpose:    Close the currently selected site
        //
        public void Close_Site(int site_no)
        {
            // Find the site in the site_list box and re-enable it
            for (int i = 0; i < SiteList.Items.Count; i++)
            {
                ListBoxItem  site_list = (ListBoxItem)SiteList.Items[i];
                CloseableTab tab_site  = (CloseableTab)Sites_Tabs.Items[site_no];
                if ((string)site_list.Content == tab_site.Title)
                {
                    site_list.IsEnabled = true;
                }
            }
            // Remove the site from the Open_Sites variable
            //Open_Sites.Close_Site(Sites_Tabs.SelectedIndex);
            Open_Sites.RemoveAt(Sites_Tabs.SelectedIndex);

            // Find the sites tab for this site and remove it
            Sites_Tabs.Items.Remove(Sites_Tabs.SelectedItem);
        }
Пример #2
0
        //
        //  Function:   public void Load_Site(string Site_Name, int mode)
        //
        //  Arguments:  string Site_Name = Name of site to load
        //              int mode = Mode of load (0 = Create, 1 = Edit/View)
        //
        //  Purpose:    Loads a site for viewing or modifying
        //
        public void Load_Site(ListBoxItem Site_Name, int mode)
        {
            if (mode == 0)
            {
                var NS      = new Sites();
                var newsite = new UC_Site(NS, 0, current_user);

                var New_Site_Page = new Popup_Info();

                Site_Name.HorizontalContentAlignment = HorizontalAlignment.Left;
                Site_Name.VerticalContentAlignment   = VerticalAlignment.Top;
                Site_Name.Background  = Brushes.LightGray;
                New_Site_Page.Content = newsite;
                New_Site_Page.Title   = "Create New Site";
                Site_Name.DataContext = New_Site_Page;
                New_Site_Page.ShowDialog();

                // New site was saved, so update the tabs
                if (New_Site_Page.DialogResult == true)
                {
                    Load_My_Sites(current_user);
                }
            }

            if (SiteList.SelectedItem != null && mode != 0)
            {
                bool found     = false;
                int  found_tab = 0;

                Opened_Sites New_Open_Site = new Opened_Sites();
                New_Open_Site.Initialize();

                Sites View_Site = new Sites();

                // See if it's already open
                if (Open_Sites is null == false)
                {
                    for (int i = 0; i < Open_Sites.Count; i++)
                    {
                        if (Int32.Parse(Site_Name.Uid) == Open_Sites[i].site_info.Site_ID)
                        {
                            found     = true;
                            found_tab = Open_Sites[i].tab_index;
                        }
                    }
                }
                // Try to the load the site.  If successful, display it otherwise don't (add not found handling later)
                if (View_Site.Load_Site((string)Site_Name.Content) == true && found == false)
                {
                    // Generate a new Site_Info tab using the user control UC Site
                    var editsite          = new UC_Site(View_Site, mode, current_user);
                    var current_site_user = new Users();

                    current_site_user = current_site_user.Get_User_Settings(View_Site.Site_ID, current_user.User_ID);

                    // Create a new tab for the Site Tab itself
                    //TabItem sites_tab = new TabItem();
                    CloseableTab sites_tab = new CloseableTab();
                    sites_tab.Title = View_Site.Short_Name;
                    sites_tab.AddHandler(CloseableTab.CloseTabEvent, new RoutedEventHandler(this.Close_Site_click));
                    Sites_Tabs.Items.Add(sites_tab);

                    // Add the site to the Open_Sites variable
                    New_Open_Site.site_info = View_Site;

                    // Create the site tabs for info, tickets, resources, etc
                    TabControl site_tab = new TabControl();
                    site_tab.SizeChanged += new SizeChangedEventHandler(Sites_Tabs_SizeChanged);
                    TabItem info_tab = new TabItem();
                    info_tab.Header  = "Info";
                    info_tab.Content = editsite;
                    site_tab.Items.Add(info_tab);

                    // Create the users tab
                    TabItem users_tab = new TabItem();
                    users_tab.Header = "Users";
                    // Generate a new Site Users tab using the user control UC Site Tickets
                    var siteusers = new UC_Site_Users(New_Open_Site, mode, current_user, current_site_user);
                    users_tab.Content = siteusers;
                    site_tab.Items.Add(users_tab);

                    // Create the tickets tab
                    TabItem tickets_tab = new TabItem();
                    tickets_tab.Header = "Tickets";
                    // Generate a new Site_Tickets tab using the user control UC Site Tickets
                    var sitetickets = new UC_Site_Tickets(View_Site, current_user, current_site_user);
                    tickets_tab.Content = sitetickets;
                    site_tab.Items.Add(tickets_tab);

                    // Create the resources tab
                    TabItem resources_tab = new TabItem();
                    resources_tab.Header = "Resources";
                    //resources_tab.Content = sitetickets;
                    site_tab.Items.Add(resources_tab);
                    sites_tab.Content = site_tab;


                    Open_Sites.Add(New_Open_Site);
                    Open_Sites[Open_Sites.Count - 1].PropertyChanged += new PropertyChangedEventHandler(Open_Site_Changed);
                    Open_Sites[Open_Sites.Count - 1].PropertyChanged += new PropertyChangedEventHandler(sitetickets.Open_Site_Changed);

                    // Block out the selected site so they don't try to click on it again
                    // Find the site in the site_list box and re-enable it
                    for (int i = 0; i < SiteList.Items.Count; i++)
                    {
                        ListBoxItem site_list = (ListBoxItem)SiteList.Items[i];
                        if ((string)site_list.Content == sites_tab.Title)
                        {
                            site_list.IsEnabled = false;
                        }
                    }

                    // Switch focus to the first tab
                    Sites_Tabs.SelectedIndex = Sites_Tabs.Items.Count - 1;
                }

                // If it was found, but we want to edit it then just enable the modifying of the proper tab
                if (found == true && mode == 1)
                {
                    // Generate a new Site_Info tab using the user control UC Site
                    var editsite = new UC_Site(View_Site, mode, current_user);

                    TabItem site_mod = (TabItem)Sites_Tabs.Items[found_tab];
                    site_mod.Content = editsite;
                }
            }
        }