private void SaveTheme(bool doByMessageBox)
        {
            DAL.UnitOfWork oUnitOfWork = null;

            try
            {
                oUnitOfWork = new DAL.UnitOfWork();

                Models.User oUser = oUnitOfWork.UserRepository
                                    .GetById(Utility.CurrentUser.Id);

                ViewModels.FontViewModel oFViewModel = FontComboBox.SelectedItem as ViewModels.FontViewModel;

                ViewModels.ThemeViewModel oTViewModel = ThemeComboBox.SelectedItem as ViewModels.ThemeViewModel;

                oUser.UserSetting.Theme.ApplicationTheme = oTViewModel.ApplicationThemeName;

                DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName = oUser.UserSetting.Theme.ApplicationTheme;

                Utility.SetThemeBackground(DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName);

                oUser.UserSetting.Theme.FontFamily = oFViewModel.FontFamily.Source;

                App.Current.Resources[Infrastructure.Text.PersianFontResources] = oFViewModel.FontFamily;

                oUnitOfWork.UserRepository.Update(oUser);

                Utility.CurrentUser = oUser;

                oUnitOfWork.Save();

                Infrastructure.MessageBox.Show
                (
                    caption: Infrastructure.MessageBox.Caption.Information,
                    text: "تنظیمات شخصی سازی با موفقیت ذخیره گردید."
                );

                ignoreMessageBox = true;


                if (doByMessageBox == false)
                {
                    this.Close();
                }
            }
            catch (System.Exception ex)
            {
                Infrastructure.MessageBox.Show(ex.Message);;
            }
            finally
            {
                if (oUnitOfWork != null)
                {
                    oUnitOfWork.Dispose();
                    oUnitOfWork = null;
                }
            }
        }
        private void ThemeComboBox_SelectedIndexChanged(object sender, System.Windows.RoutedEventArgs e)
        {
            ViewModels.ThemeViewModel oViewModel = ThemeComboBox.SelectedItem as ViewModels.ThemeViewModel;

            DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName = oViewModel.ApplicationThemeName;

            Utility.SetThemeBackground(DevExpress.Xpf.Core.ApplicationThemeHelper.ApplicationThemeName);

            IsThemeChanged = true;
        }
Ejemplo n.º 3
0
        static Theme()
        {
            ThemesList = new System.Collections.Generic.List <ViewModels.ThemeViewModel>();

            if (ThemesList.Count == 0)
            {
                ViewModels.ThemeViewModel oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.SevenName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.SevenFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.VS2010Name;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.VS2010FullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2016ColorfulName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.Office2016ColorfulFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2016WhiteName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.Office2016WhiteFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2013LightGrayName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.Office2013LightGrayFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2010BlueName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.Office2010BlueFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2010SilverName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.Office2010SilverFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2007BlueName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.Office2007BlueFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.Office2007SilverName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.Office2007SilverFullName;

                ThemesList.Add(oViewModel);

                oViewModel = new ViewModels.ThemeViewModel();

                oViewModel.ApplicationThemeName = DevExpress.Xpf.Core.Theme.DXStyleName;
                oViewModel.DisplayName          = DevExpress.Xpf.Core.Theme.DXStyleFullName;

                ThemesList.Add(oViewModel);
            }

            ThemesList = ThemesList
                         .OrderBy(current => current.DisplayName)
                         .ToList();
        }