private AppManager()
 {
     SlideManager          = new SlideManager();
     HelpManager           = new HelpManager();
     PowerPointManager     = new PowerPointManager <SlideTemplateViewerPowerPointHelper>();
     ImageResourcesManager = new ImageResourcesManager();
     TextResourcesManager  = new TextResourcesManager();
 }
 public bool CheckPowerPointRunning(Action afterRun = null)
 {
     if (PowerPointManager.Processor.Connect())
     {
         return(true);
     }
     if (PopupMessageHelper.Instance.ShowWarningQuestion(String.Format("PowerPoint is required to run this application.{0}Do you want to go ahead and open PowerPoint?", Environment.NewLine)) == DialogResult.Yes)
     {
         ShowFloater(() => PowerPointManager.RunPowerPointLoader(), afterRun);
     }
     return(false);
 }
예제 #3
0
        private BusinessObjects()
        {
            OutputManager            = new OutputManager();
            ScheduleManager          = new MediaScheduleManager();
            ScheduleTemplatesManager = new ScheduleTemplatesManager();
            SolutionsManager         = new SolutionsManager();
            SlideManager             = new SlideManager();
            HelpManager           = new HelpManager();
            ThemeManager          = new ThemeManager();
            ConfigManager         = new ConfigManager();
            TextResourcesManager  = new TextResourcesManager();
            ImageResourcesManager = new ImageResourcesManager();
            PowerPointManager     = new PowerPointManager <PowerPointSingletonProcessor>();
            BrowserManager        = new BrowserManager();
            IdleManager           = new ApplicationIdleManager();

            AdditionalInitializator = new AdditionalInitializationDispatcher();
        }
        public async Task Init()
        {
            await AppProfileManager.Instance.LoadProfile();

            await Business.Dashboard.Configuration.ResourceManager.Instance.Load();

            PowerPointManager.Init();

            MasterWizardManager.Instance.Load();
            await Business.Dashboard.Configuration.SettingsManager.Instance.LoadSettings();

            Business.Dashboard.Dictionaries.ListManager.Instance.Init();
            HelpManager.LoadHelpLinks();

            ActivityManager = ActivityManager.OpenStorage();
            ActivityManager.AddActivity(new UserActivity("Application started"));

            SetCultureSettings();
        }
        public async Task Init()
        {
            await AppProfileManager.Instance.LoadProfile();

            await Business.Dashboard.Configuration.ResourceManager.Instance.Load();

            PowerPointManager.Init();

            MasterWizardManager.Instance.Load();
            SettingsManager.Instance.LoadSharedSettings();
            SlideManager.LoadSlides(ResourceManager.Instance.SlideMastersFolder);

            HelpManager.LoadHelpLinks();

            TextResourcesManager.Load();
            ImageResourcesManager.Load();

            FormStyleManager = new FormStyleManager(Business.Dashboard.Configuration.ResourceManager.Instance.FormStyleConfigFile);

            ActivityManager = ActivityManager.OpenStorage();
            ActivityManager.AddActivity(new UserActivity("Application started"));
        }
        public void RunForm()
        {
            bool stopRun = false;

            var appTitle = "6 Minute Seller";

            if (PowerPointManager.IsPowerPointMultipleInstances())
            {
                using (var form = new FormPowerPointSeveralInstancesWarning())
                {
                    form.Text = appTitle;
                    if (form.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }
                }
            }

            PopupMessageHelper.Instance.Title = appTitle;

            AppProfileManager.Instance.InitApplication(AppTypeEnum.Dashboard);

            FileStorageManager.Instance.UsingLocalMode += (o, e) =>
            {
                if (FileStorageManager.Instance.UseLocalMode)
                {
                    return;
                }
                FormStart.CloseProgress();
                if (FileStorageManager.Instance.DataState != DataActualityState.Updated)
                {
                    PopupMessageHelper.Instance.ShowWarning("Server is not available. Application will be closed");
                    stopRun = true;
                }
                else if (PopupMessageHelper.Instance.ShowWarningQuestion("Server is not available. Do you want to continue to work in local mode?") != DialogResult.Yes)
                {
                    stopRun = true;
                }
                if (stopRun)
                {
                    FormStart.Destroy();
                }
            };

            FileStorageManager.Instance.Authorizing += (o, e) =>
            {
                var authManager = new AuthManager();
                FormStart.SetTitle("Checking credentials...");
                e.LightCheck = true;
                authManager.Auth(e);
            };

            FormStart.ShowProgress();
            FormStart.SetTitle("Connecting to adSALEScloud…");
            var thread = new Thread(() => AsyncHelper.RunSync(() => FileStorageManager.Instance.InitStorage()));

            thread.Start();
            while (thread.IsAlive)
            {
                Application.DoEvents();
            }

            if (stopRun)
            {
                return;
            }

            FileStorageManager.Instance.Downloading += (sender, args) =>
                                                       FormStart.SetDetails(args.ProgressPercent < 100 ?
                                                                            String.Format("Loading {0} - {1}%", args.FileName, args.ProgressPercent) :
                                                                            String.Empty);
            FileStorageManager.Instance.Extracting += (sender, args) =>
                                                      FormStart.SetDetails(args.ProgressPercent < 100 ?
                                                                           String.Format("Extracting {0} - {1}%", args.FileName, args.ProgressPercent) :
                                                                           String.Empty);

            if (FileStorageManager.Instance.Activated)
            {
                if (FileStorageManager.Instance.DataState == DataActualityState.NotExisted)
                {
                    FormStart.SetTitle("Syncing adSALEScloud for the 1st time…");
                }
                else if (FileStorageManager.Instance.DataState == DataActualityState.Outdated)
                {
                    FormStart.SetTitle("Refreshing data from adSALEScloud…");
                }
                else
                {
                    FormStart.SetTitle("Loading application data...");
                }

                thread = new Thread(() =>
                {
                    AsyncHelper.RunSync(Init);
                    AsyncHelper.RunSync(FileStorageManager.Instance.FixCommonDataState);
                });
                thread.Start();
                while (thread.IsAlive)
                {
                    Application.DoEvents();
                }

                FormMain.Instance.Init();
            }
            FormStart.CloseProgress();
            FormStart.Destroy();

            if (FileStorageManager.Instance.Activated)
            {
                if (PowerPointManager.SettingsSource == SettingsSourceEnum.PowerPoint &&
                    MasterWizardManager.Instance.SelectedWizard != null &&
                    !MasterWizardManager.Instance.SelectedWizard.HasSlideConfiguration(SlideSettingsManager.Instance.SlideSettings))
                {
                    var availableMasterWizards = MasterWizardManager.Instance.MasterWizards.Values.Where(w => w.HasSlideConfiguration(SlideSettingsManager.Instance.SlideSettings)).ToList();
                    if (availableMasterWizards.Any())
                    {
                        using (var form = new FormSelectMasterWizard())
                        {
                            form.comboBoxEditSlideFormat.Properties.Items.AddRange(availableMasterWizards);
                            form.comboBoxEditSlideFormat.EditValue = availableMasterWizards.FirstOrDefault();
                            if (form.ShowDialog() != DialogResult.OK)
                            {
                                return;
                            }
                            SettingsManager.Instance.SelectedWizard = ((MasterWizard)form.comboBoxEditSlideFormat.EditValue).Name;
                            MasterWizardManager.Instance.SetMasterWizard();
                        }
                    }
                    else
                    {
                        PopupMessageHelper.Instance.ShowWarning("You already have a PowerPoint file opened that is not compatible with this application.\nPlease close that presentation, and open Sales Ninja again.");
                        return;
                    }
                }
                Application.Run(FormMain.Instance);
            }
            else
            {
                PopupMessageHelper.Instance.ShowWarning("This app is not activated. Contact adSALESapps Support ([email protected])");
            }
        }
 private AppManager()
 {
     HelpManager       = new HelpManager();
     PowerPointManager = new PowerPointManager <DashboardPowerPointProcessor>();
 }
예제 #8
0
        public void Init()
        {
            PowerPointManager.Init();
            ListManager.Instance.Load();
            ThemeManager.Load();
            SlideSettingsManager.Instance.SettingsChanged += (o, e) => ThemeManager.Load();
            HelpManager.LoadHelpLinks();
            RibbonTabPageManager = new RibbonTabPageManager(ResourceManager.Instance.TabsConfigFile);
            BrowserManager.Init(ResourceManager.Instance.BrowserConfigFile);

            FormStyleManager = new FormStyleManager(ResourceManager.Instance.FormStyleConfigFile);
            ActivityManager  = ActivityManager.OpenStorage();
            ConfigManager.LoadConfig(ResourceManager.Instance.ConfigFile);
            TextResourcesManager.LoadTextResources(ResourceManager.Instance.TextResourcesFile);
            TextResourcesManager.LoadTabPageSettings(ResourceManager.Instance.AdditionalTextResourcesFile);
            IdleManager.LoadSettings(ResourceManager.Instance.IdleSettingsFile);

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.ScheduleSettings,
                ContentIdentifiers.ProgramSchedule,
                ContentIdentifiers.Snapshots,
                ContentIdentifiers.Options,
                ContentIdentifiers.DigitalProducts,
                ContentIdentifiers.BroadcastCalendar,
                ContentIdentifiers.CustomCalendar,
            },
                                                    () =>
            {
                MediaMetaData.Instance.ListManager.Load();
                Business.Online.Dictionaries.ListManager.Instance.Load(Common.Core.Configuration.ResourceManager.Instance.OnlineListsFile);
                OutputManager.Init();
                SlideSettingsManager.Instance.SettingsChanged += (o, e) => OutputManager.UpdateColors();
            })
                                                );

            if (FileStorageManager.Instance.DataState == DataActualityState.Updated ||
                FileStorageManager.Instance.UseLocalMode)
            {
                AdditionalInitializator.Actions.Add(new InitAction(
                                                        new[]
                {
                    ContentIdentifiers.Solutions
                },
                                                        () =>
                {
                    SolutionsManager.LoadSolutions(ResourceManager.Instance.SolutionsConfigFile);
                    SolutionsManager.LoadSolutionData(ResourceManager.Instance.SolutionsDataFolder);
                })
                                                    );
            }
            else
            {
                SolutionsManager.LoadSolutions(ResourceManager.Instance.SolutionsConfigFile);
                SolutionsManager.LoadSolutionData(ResourceManager.Instance.SolutionsDataFolder);
            }

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.Slides
            },
                                                    () =>
            {
                SlideManager.LoadSlides(Common.Core.Configuration.ResourceManager.Instance.SlideMastersFolder);
            })
                                                );

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.Gallery1,
            },
                                                    () =>
            {
                Gallery1Manager = new GalleryManager(ResourceManager.Instance.Gallery1ConfigFile);
            })
                                                );

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.Gallery2,
            },
                                                    () =>
            {
                Gallery2Manager = new GalleryManager(ResourceManager.Instance.Gallery2ConfigFile);
            })
                                                );

            AdditionalInitializator.Actions.Add(new InitAction(
                                                    new[]
            {
                ContentIdentifiers.RateCard
            },
                                                    () =>
            {
                RateCardManager = new RateCardManager(Common.Core.Configuration.ResourceManager.Instance.RateCardFolder);
                RateCardManager.LoadRateCards();
            })
                                                );
        }