Example #1
0
        /// <summary>
        /// 메뉴, 기본 초기화
        /// </summary>
        private void MenuDataInit(object obj)
        {
            try
            {
                mainwin = obj as MainWin;

                Button     btnUser    = mainwin.FindName("btnUser") as Button;
                StackPanel spMenuArea = mainwin.FindName("spMenuArea") as StackPanel;

                btnUser.Content = Logs.strLogin_ID;


                htconditions.Clear();
                htconditions.Add("SYS_CD", FmsUtil.sysCd);

                dtMenuList = work.Select_MNU_LIST(htconditions);

                foreach (DataRow r in dtMenuList.Select("MNU_STEP = '1'", "ORD"))
                {
                    try
                    {
                        if (!Logs.htPermission[r["MNU_CD"].ToString()].ToString().Equals("N"))
                        {
                            Button btnMenu = new Button
                            {
                                Name    = "MN_" + r["MNU_CD"].ToString(),
                                Content = r["MNU_NM"].ToString(),
                                Style   = Application.Current.Resources["MainMNUButton"] as Style,
                                //Tag = "/Resources/Images/MNUImage/" + r["MNU_IMG"].ToString()
                            };
                            if (ThemeApply.strThemeName.Equals("GTINavyTheme"))
                            {
                                btnMenu.Tag = "/Resources/Navy/Images/MNUImage/" + r["MNU_IMG"].ToString();
                            }
                            else
                            {
                                btnMenu.Tag = "/Resources/Blue/Images/MNUImage/" + r["MNU_IMG"].ToString();
                            }

                            btnMenu.Click += btnMenu_Click;
                            mainwin.RegisterName(btnMenu.Name, btnMenu);
                            spMenuArea.Children.Add(btnMenu);
                        }
                    }
                    catch (Exception ex)
                    {
                        Messages.ErrLog(ex);
                    }
                }


                Logs.configChange(Logs.WNMSConfig);
            }
            catch (Exception ex)
            {
                Messages.ErrLog(ex);
            }
        }
Example #2
0
        /// <summary>
        /// 탑메뉴 클릭시 이벤트
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnMenu_Click(object sender, RoutedEventArgs e)
        {
            AccordionControl accrMenu = mainwin.FindName("accrMenu") as AccordionControl;

            foreach (AccordionItem item in accrMenu.Items)
            {
                //메인윈도우에 객체를 삭제/추가한다...
                mainwin.UnregisterName(item.Name);

                foreach (AccordionItem citem in item.Items)
                {
                    item.UnregisterName(citem.Name);
                }
            }

            accrMenu.Items.Clear();

            DataRow[] drmidMENU;
            DataRow[] drsmMENU;
            drmidMENU = dtMenuList.Select("MNU_STEP = '2' AND UPPER_CD ='" + ((Button)sender).Name.Replace("MN_", "").ToString() + "'", "ORD");

            //중메뉴
            foreach (DataRow r in drmidMENU)
            {
                try
                {
                    //중메뉴 권한 필터링 (N)인경우 NO
                    if (!Logs.htPermission[r["MNU_CD"].ToString()].ToString().Equals("N"))
                    {
                        AccordionItem acctwoitem = new AccordionItem
                        {
                            Name       = "MN_" + r["MNU_CD"].ToString(),
                            Header     = r["MNU_NM"].ToString(),
                            Foreground = new SolidColorBrush(Colors.White),
                            FontSize   = 14,
                            Glyph      = new BitmapImage(new Uri("/Resources/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative))
                        };
                        if (ThemeApply.strThemeName.Equals("GTINavyTheme"))
                        {
                            acctwoitem.Glyph = new BitmapImage(new Uri("/Resources/Navy/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative));
                        }
                        else
                        {
                            acctwoitem.Glyph = new BitmapImage(new Uri("/Resources/Blue/Images/MNUImage/" + r["MNU_IMG"].ToString(), UriKind.Relative));
                        }
                        acctwoitem.Margin = new Thickness(3, 0, 3, 0);

                        mainwin.RegisterName(acctwoitem.Name, acctwoitem); //메인윈도우에 객체를 추가한다...
                        accrMenu.Items.Add(acctwoitem);

                        drsmMENU = null;
                        drsmMENU = dtMenuList.Select("MNU_STEP = '3' AND UPPER_CD ='" + acctwoitem.Name.Replace("MN_", "").ToString() + "'", "ORD");

                        //소메뉴
                        foreach (DataRow drthree in drsmMENU)
                        {
                            try
                            {
                                //소메뉴 권한 필터링 (N)인경우 NO
                                if (!Logs.htPermission[drthree["MNU_CD"].ToString()].ToString().Equals("N"))
                                {
                                    AccordionItem accthreeitem = new AccordionItem
                                    {
                                        Name       = "MN_" + drthree["MNU_CD"].ToString(),
                                        Header     = " ⁃ " + drthree["MNU_NM"].ToString(),
                                        FontSize   = 14,
                                        Foreground = new SolidColorBrush(Colors.White),
                                        //Background = (Brush)new BrushConverter().ConvertFrom("#195A92")
                                    };
                                    mainwin.RegisterName(accthreeitem.Name, accthreeitem);
                                    acctwoitem.Items.Add(accthreeitem);
                                }
                            }
                            catch (Exception ex)
                            {
                                Messages.ErrLog(ex);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    Messages.ErrLog(ex);
                }

                //편의를 위해 확장 추후 결정
                accrMenu.ExpandAll();
            }
        }