public SettingModel(ISettingsCollection settings, IVersionControl versionControl)
        {
            //Static Data
            AvaliableThemes = ThemeManager.AppThemes.Select(x => new AccentThemeModel { Name = x.Name.Replace("Base", ""), Colour = x.Resources["WhiteColorBrush"] as Brush, BorderColour = x.Resources["BlackColorBrush"] as Brush }).ToList();
            AvaliableAccents = ThemeManager.Accents.Select(x => new AccentThemeModel { Name = x.Name, Colour = x.Resources["AccentColorBrush"] as Brush, BorderColour = x.Resources["AccentColorBrush"] as Brush }).ToList();

            //AppSettings
            AlertWhenIdle = settings.AppSettings.AlertWhenNotRunning;
            AlertMinutes = (int)TimeSpan.FromMilliseconds(settings.AppSettings.AlertTimeMilliseconds).TotalMinutes;
            TrackIdle = settings.AppSettings.TrackIdleTime;
            TrackIdleThresholdMinutes = (int)TimeSpan.FromMilliseconds(settings.AppSettings.IdleTimeThresholdMilliseconds).TotalMinutes;
            TrackLock = settings.AppSettings.TrackLockTime;
            TrackLockThresholdMinutes = (int)TimeSpan.FromMilliseconds(settings.AppSettings.LockTimeThresholdMilliseconds).TotalMinutes;
            KeepTimersForDays = settings.AppSettings.KeepTimersForDays;
            AutoUpdate = settings.AppSettings.AutoUpdate;
            AllowTracking = settings.AppSettings.UsageTracking;
            TargetHoursPerDay = settings.AppSettings.TargetLogPerDay.Hours;
            TargetMinutesPerDay = settings.AppSettings.TargetLogPerDay.Minutes;
            StartOfWeek = settings.AppSettings.StartOfWeek.ToString();
            DefaultTimers = string.Join(",", settings.AppSettings.DefaultTimers ?? new List<string>());

            WorkingDays = new List<WorkingDay>();
            foreach (DayOfWeek dayOfWeek in Enum.GetValues(typeof(DayOfWeek)))
            {
                var isChecked = settings.AppSettings.ExportDays.Contains(dayOfWeek);
                WorkingDays.Add(new WorkingDay(isChecked, dayOfWeek));
            }

            //UI Settings
            Theme = AvaliableThemes.FirstOrDefault(x => x.Name == settings.UiSettings.Theme) ?? AvaliableThemes.First();
            Accent = AvaliableAccents.FirstOrDefault(x => x.Name == settings.UiSettings.Accent) ?? AvaliableAccents.First();
            StartOnBoot = versionControl.IsAutomatedDeploy && registryKey.GetValue(versionControl.AppName) != null;
            TopMostOnFlyoutOpen = settings.UiSettings.TopMostOnFlyoutOpen;

            //Jira Settings
            JiraUrl = settings.JiraConnectionSettings.JiraUrl;
            JiraUsername = settings.JiraConnectionSettings.JiraUsername;
            JiraPassword = settings.JiraConnectionSettings.JiraPassword;

            //Export Settings
            TrackingOnly = settings.ExportSettings.TrackingOnly;
            ExportAll = settings.ExportSettings.ExportPromptAll;
            ExportPrompts = new List<ExportPrompt>
            {
                new ExportPrompt("Locked", settings.ExportSettings.ExportPrompt.OnAddIdle, "Add Locked Time"),
                new ExportPrompt("Manual", settings.ExportSettings.ExportPrompt.OnManualAdjust, "Manual Timer Adjustment"),
                new ExportPrompt("Stop", settings.ExportSettings.ExportPrompt.OnStop, "Stop Timer"),
                new ExportPrompt("Pre", settings.ExportSettings.ExportPrompt.OnCreatePreloaded, "Add Pre-Loaded Timer"),
            };

            RemainingAdjustmentValues = new List<RemainingAdjustmentValue>
            {
                new RemainingAdjustmentValue(DefaultRemaining.Auto, "Adjust Automatically"),
                new RemainingAdjustmentValue(DefaultRemaining.Leave, "Leave Remaining"),
                new RemainingAdjustmentValue(DefaultRemaining.Set, "Set Value")
            };
            SelectedRemainingAdjustmentValue = RemainingAdjustmentValues.First(x => x.Remaining == settings.ExportSettings.DefaultRemainingValue);
            CommentPrefix = settings.ExportSettings.ExportCommentPrefix;
            DefaultComment = settings.ExportSettings.EmptyExportComment;
        }
Exemple #2
0
 public TrackUsage(IVersionControl versionControl, ISettingsCollection settingsCollection, InstanceType instanceType)
 {
     this.versionControl     = versionControl;
     this.settingsCollection = settingsCollection;
     this.instanceType       = instanceType;
     SetupBrowser();
     TrackAppUsage(TrackingType.AppLoad);
 }
Exemple #3
0
        public SettingModel(ISettingsCollection settings, IVersionControl versionControl)
        {
            //Static Data
            AvaliableThemes = ThemeManager.AppThemes.Select(x => new AccentThemeModel {
                Name = x.Name.Replace("Base", ""), Colour = x.Resources["WhiteColorBrush"] as Brush, BorderColour = x.Resources["BlackColorBrush"] as Brush
            }).ToList();
            AvaliableAccents = ThemeManager.Accents.Select(x => new AccentThemeModel {
                Name = x.Name, Colour = x.Resources["AccentColorBrush"] as Brush, BorderColour = x.Resources["AccentColorBrush"] as Brush
            }).ToList();

            //AppSettings
            AlertWhenIdle       = settings.AppSettings.AlertWhenNotRunning;
            AlertMinutes        = (settings.AppSettings.AlertTimeMilliseconds / 1000 / 60);
            KeepTimersForDays   = settings.AppSettings.KeepTimersForDays;
            AutoUpdate          = settings.AppSettings.AutoUpdate;
            AllowTracking       = settings.AppSettings.UsageTracking;
            TargetHoursPerDay   = settings.AppSettings.TargetLogPerDay.Hours;
            TargetMinutesPerDay = settings.AppSettings.TargetLogPerDay.Minutes;
            StartOfWeek         = settings.AppSettings.StartOfWeek.ToString();

            WorkingDays = new List <WorkingDay>();
            foreach (DayOfWeek dayOfWeek in Enum.GetValues(typeof(DayOfWeek)))
            {
                var isChecked = settings.AppSettings.ExportDays.Contains(dayOfWeek);
                WorkingDays.Add(new WorkingDay(isChecked, dayOfWeek));
            }

            //UI Settings
            Theme       = AvaliableThemes.FirstOrDefault(x => x.Name == settings.UiSettings.Theme) ?? AvaliableThemes.First();
            Accent      = AvaliableAccents.FirstOrDefault(x => x.Name == settings.UiSettings.Accent) ?? AvaliableAccents.First();
            StartOnBoot = versionControl.IsAutomatedDeploy && registryKey.GetValue(versionControl.AppName) != null;

            //Jira Settings
            JiraUrl      = settings.JiraConnectionSettings.JiraUrl;
            JiraUsername = settings.JiraConnectionSettings.JiraUsername;
            JiraPassword = settings.JiraConnectionSettings.JiraPassword;

            //Export Settings
            ExportAll     = settings.ExportSettings.ExportPromptAll;
            ExportPrompts = new List <ExportPrompt>
            {
                new ExportPrompt("Idle", settings.ExportSettings.ExportPrompt.OnAddIdle, "Add Idle Time"),
                new ExportPrompt("Manual", settings.ExportSettings.ExportPrompt.OnManualAdjust, "Manual Timer Adjustment"),
                new ExportPrompt("Stop", settings.ExportSettings.ExportPrompt.OnStop, "Stop Timer"),
                new ExportPrompt("Pre", settings.ExportSettings.ExportPrompt.OnCreatePreloaded, "Add Pre-Loaded Timer"),
            };

            RemainingAdjustmentValues = new List <RemainingAdjustmentValue>
            {
                new RemainingAdjustmentValue(DefaultRemaining.Auto, "Adjust Automatically"),
                new RemainingAdjustmentValue(DefaultRemaining.Leave, "Leave Remaining"),
                new RemainingAdjustmentValue(DefaultRemaining.Set, "Set Value")
            };
            SelectedRemainingAdjustmentValue = RemainingAdjustmentValues.First(x => x.Remaining == settings.ExportSettings.DefaultRemainingValue);
            CommentPrefix  = settings.ExportSettings.ExportCommentPrefix;
            DefaultComment = settings.ExportSettings.EmptyExportComment;
        }
Exemple #4
0
        public void UpdateSettings(ISettingsCollection settings, IVersionControl versionControl)
        {
            //AppSettings
            settings.AppSettings.AlertWhenNotRunning   = AlertWhenIdle;
            settings.AppSettings.AlertTimeMilliseconds = AlertMinutes * 60 * 1000;
            settings.AppSettings.KeepTimersForDays     = KeepTimersForDays;
            settings.AppSettings.AutoUpdate            = AutoUpdate;
            settings.AppSettings.UsageTracking         = AllowTracking;
            settings.AppSettings.TargetLogPerDay       = new TimeSpan(TargetHoursPerDay, TargetMinutesPerDay, 0);
            settings.AppSettings.ExportDays            = WorkingDays.Where(x => x.IsChecked).Select(x => x.DayOfWeek).ToList();
            settings.AppSettings.StartOfWeek           = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), StartOfWeek, true);

            //UI Settings
            settings.UiSettings.Theme  = Theme.Name;
            settings.UiSettings.Accent = Accent.Name;
            if (versionControl.IsAutomatedDeploy)
            {
                if (StartOnBoot)
                {
                    var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Programs), "Gallifrey", $"{versionControl.AppName}.appref-ms");
                    registryKey.SetValue(versionControl.AppName, path);
                }
                else
                {
                    registryKey.DeleteValue(versionControl.AppName, false);
                }
            }

            //Jira Settings
            if (settings.JiraConnectionSettings.JiraUrl != JiraUrl ||
                settings.JiraConnectionSettings.JiraUsername != JiraUsername ||
                settings.JiraConnectionSettings.JiraPassword != JiraPassword)
            {
                JiraSettingsChanged = true;
            }
            else if (string.IsNullOrWhiteSpace(JiraUrl) || string.IsNullOrWhiteSpace(JiraUsername) || string.IsNullOrWhiteSpace(JiraPassword))
            {
                JiraSettingsChanged = true;
            }

            settings.JiraConnectionSettings.JiraUrl      = JiraUrl;
            settings.JiraConnectionSettings.JiraUsername = JiraUsername;
            settings.JiraConnectionSettings.JiraPassword = JiraPassword;

            //Export Settings
            settings.ExportSettings.ExportPrompt.OnAddIdle         = ExportPrompts.First(x => x.Key == "Idle").IsChecked;
            settings.ExportSettings.ExportPrompt.OnManualAdjust    = ExportPrompts.First(x => x.Key == "Manual").IsChecked;
            settings.ExportSettings.ExportPrompt.OnStop            = ExportPrompts.First(x => x.Key == "Stop").IsChecked;
            settings.ExportSettings.ExportPrompt.OnCreatePreloaded = ExportPrompts.First(x => x.Key == "Pre").IsChecked;
            settings.ExportSettings.ExportPromptAll       = ExportAll;
            settings.ExportSettings.DefaultRemainingValue = SelectedRemainingAdjustmentValue.Remaining;
            settings.ExportSettings.ExportCommentPrefix   = CommentPrefix;
            settings.ExportSettings.EmptyExportComment    = DefaultComment;
        }
Exemple #5
0
 public TrackUsage(IVersionControl versionControl, ISettingsCollection settingsCollection, InstanceType instanceType)
 {
     this.versionControl     = versionControl;
     this.settingsCollection = settingsCollection;
     this.instanceType       = instanceType;
     tracker = new SimpleTracker("UA-51628201-7", new SimpleTrackerEnvironment(Environment.OSVersion.Platform.ToString(), Environment.OSVersion.Version.ToString(), Environment.OSVersion.VersionString));
     TrackAppUsage(TrackingType.AppLoad);
     heartbeat          = new Timer(TimeSpan.FromMinutes(1).TotalMilliseconds);
     heartbeat.Elapsed += (sender, args) => TrackAppUsage(TrackingType.Heartbeat);
     heartbeat.Enabled  = true;
 }
Exemple #6
0
        /// <summary>
        /// Initializes a new <see cref="TfsSolutionProject"/>.
        /// </summary>
        /// <param name="projectItem">The source controlled project file</param>
        /// <param name="versionControl">TFS source control</param>
        public TfsSolutionProject(IVersionedItem projectItem, IVersionControl versionControl)
            : base(projectItem, versionControl)
        {
            _projectDocument = new Lazy <XDocument>(() =>
                                                    XDocument.Load(new StreamReader(Download())));

            _projectTypeGuids = new Lazy <IEnumerable <Guid> >(() =>
                                                               new HashSet <Guid>(_projectDocument.Value
                                                                                  .Descendants(XName.Get("ProjectTypeGuids", ProjectNamespace))
                                                                                  .SelectMany(e => e.Value.Split(';'))
                                                                                  .Select(Guid.Parse)));
        }
        /// <summary>
        /// Initializes a new <see cref="TfsSolutionProject"/>.
        /// </summary>
        /// <param name="projectItem">The source controlled project file</param>
        /// <param name="versionControl">TFS source control</param>
        public TfsSolutionProject(IVersionedItem projectItem, IVersionControl versionControl)
            : base(projectItem, versionControl)
        {
            _projectDocument = new Lazy<XDocument>(() =>
                XDocument.Load(new StreamReader(Download())));

            _projectTypeGuids = new Lazy<IEnumerable<Guid>>(() =>
                new HashSet<Guid>(_projectDocument.Value
                    .Descendants(XName.Get("ProjectTypeGuids", ProjectNamespace))
                    .SelectMany(e => e.Value.Split(';'))
                    .Select(Guid.Parse)));
        }
Exemple #8
0
 public static void SetVersionControl(IVersionControl instance)
 {
     s_VersionControlInstance = instance;
     // Initialize version control based on whether collab is enabled
     if (s_Instance != null)
     {
         if (s_Instance.IsCollabEnabledForCurrentProject())
         {
             instance.OnEnableVersionControl();
         }
         else
         {
             instance.OnDisableVersionControl();
         }
     }
 }
Exemple #9
0
    void Start()
    {
        /*
         * 版本控制设置
         *
         */
        versionControl = new IncrementalVersionControl();                                //step.1 新建增量包版本控制对象
        versionControl.mResServerAddress      = "http://api-resource.ptdev.cn/v1/res";   //step.2  设置接入服务器
        versionControl.mLocalHotUpdateResPath = Application.persistentDataPath + "/hot"; //step.3设置

        //c盘有权限问题 更改如下
        versionControl.mLocalHotUpdateResPath = "E:/Hot";

        /*
         * 资源管理设置
         *
         */
        BDResources.SetLocalPath(versionControl.mLocalHotUpdateResPath); //step.1 设置本地目录 如不设置,以后全部传入绝对路径
    }
        public IVersionControl getVersionControl()
        {
            IVersionControl lresult = null;

            do
            {
                try
                {
                    if (checkICaptureManagerControl())
                    {
                        break;
                    }

                    object lUnknown;

                    mICaptureManagerControl.createMisc(
                        typeof(CaptureManagerLibrary.IVersionControl).GUID,
                        out lUnknown);

                    if (lUnknown == null)
                    {
                        break;
                    }

                    var lVersionControl = lUnknown as CaptureManagerLibrary.IVersionControl;

                    if (lVersionControl == null)
                    {
                        break;
                    }

                    lresult = new VersionControl(lVersionControl);
                }
                catch (Exception exc)
                {
                    LogManager.getInstance().write(exc.Message);
                }
            } while (false);

            return(lresult);
        }
Exemple #11
0
 public VersionControlModule(ILogger Logger, IDatabaseCreator DatabaseCreator, IVersionControl VersionControl) : base(Logger)
 {
     this.databaseCreator = DatabaseCreator;
     this.versionControl  = VersionControl;
 }
Exemple #12
0
 public FirstBadVersionControl(IVersionControl versionControl)
 {
     this.versionControl = versionControl;
 }
Exemple #13
0
        public void UpdateSettings(ISettingsCollection settings, IVersionControl versionControl)
        {
            //AppSettings
            settings.AppSettings.AlertWhenNotRunning           = AlertWhenIdle;
            settings.AppSettings.AlertTimeMilliseconds         = AlertWhenIdle ? (int)TimeSpan.FromMinutes((AlertMinutes ?? 1)).TotalMilliseconds : 0;
            settings.AppSettings.TrackIdleTime                 = TrackIdle;
            settings.AppSettings.IdleTimeThresholdMilliseconds = TrackIdle ? (int)TimeSpan.FromMinutes((TrackIdleThresholdMinutes ?? 1)).TotalMilliseconds : 0;
            settings.AppSettings.TrackLockTime                 = TrackLock;
            settings.AppSettings.LockTimeThresholdMilliseconds = TrackLock ? (int)TimeSpan.FromMinutes((TrackLockThresholdMinutes ?? 1)).TotalMilliseconds : 0;
            settings.AppSettings.KeepTimersForDays             = KeepTimersForDays ?? 7;
            settings.AppSettings.AutoUpdate      = AutoUpdate;
            settings.AppSettings.TargetLogPerDay = new TimeSpan(TargetHoursPerDay ?? 0, TargetMinutesPerDay ?? 0, 0);
            settings.AppSettings.ExportDays      = WorkingDays.Where(x => x.IsChecked).Select(x => x.DayOfWeek).ToList();
            settings.AppSettings.StartOfWeek     = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), StartOfWeek, true);
            settings.AppSettings.DefaultTimers   = DefaultTimers.Split(',').SelectMany(x => x.Split(' ')).Where(x => !string.IsNullOrWhiteSpace(x)).ToList();

            if (settings.AppSettings.UsageTracking != AllowTracking)
            {
                settings.AppSettings.UsageTracking = AllowTracking;
                if (!AllowTracking)
                {
                    TrackingOptOut = true;
                }
            }

            //UI Settings
            settings.UiSettings.Theme  = Theme.Name;
            settings.UiSettings.Accent = Accent.Name;
            if (versionControl.IsAutomatedDeploy)
            {
                if (StartOnBoot)
                {
                    var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Programs), "Gallifrey", $"{versionControl.AppName}.appref-ms");
                    registryKey.SetValue(versionControl.AppName, path);
                }
                else
                {
                    registryKey.DeleteValue(versionControl.AppName, false);
                }
            }
            settings.UiSettings.TopMostOnFlyoutOpen = TopMostOnFlyoutOpen;

            //Jira Settings
            if (settings.JiraConnectionSettings.JiraUrl != JiraUrl ||
                settings.JiraConnectionSettings.JiraUsername != JiraUsername ||
                settings.JiraConnectionSettings.JiraPassword != JiraPassword ||
                settings.JiraConnectionSettings.UseTempo != UseTempo)
            {
                JiraSettingsChanged = true;
            }
            else if (string.IsNullOrWhiteSpace(JiraUrl) || string.IsNullOrWhiteSpace(JiraUsername) || string.IsNullOrWhiteSpace(JiraPassword))
            {
                JiraSettingsChanged = true;
            }

            settings.JiraConnectionSettings.JiraUrl      = JiraUrl;
            settings.JiraConnectionSettings.JiraUsername = JiraUsername;
            settings.JiraConnectionSettings.JiraPassword = JiraPassword;
            settings.JiraConnectionSettings.UseTempo     = UseTempo;

            //Export Settings
            settings.ExportSettings.ExportPrompt.OnAddIdle         = ExportPrompts.First(x => x.Key == "Locked").IsChecked&& !TrackingOnly;
            settings.ExportSettings.ExportPrompt.OnManualAdjust    = ExportPrompts.First(x => x.Key == "Manual").IsChecked&& !TrackingOnly;
            settings.ExportSettings.ExportPrompt.OnStop            = ExportPrompts.First(x => x.Key == "Stop").IsChecked&& !TrackingOnly;
            settings.ExportSettings.ExportPrompt.OnCreatePreloaded = ExportPrompts.First(x => x.Key == "Pre").IsChecked&& !TrackingOnly;
            settings.ExportSettings.ExportPromptAll       = ExportAll;
            settings.ExportSettings.DefaultRemainingValue = SelectedRemainingAdjustmentValue.Remaining;
            settings.ExportSettings.ExportCommentPrefix   = CommentPrefix;
            settings.ExportSettings.EmptyExportComment    = DefaultComment;
            settings.ExportSettings.TrackingOnly          = TrackingOnly;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="TfsSourceTreeRoot"/> class.
 /// </summary>
 /// <param name="versionControl">Provides access to TFS source control</param>
 public TfsSourceTreeRoot(IVersionControl versionControl)
     : base(new TfsRootItem(), versionControl)
 {
 }
Exemple #15
0
 /// <summary>
 /// Initializes a new <see cref="TfsSourceControlledItem"/>.
 /// </summary>
 /// <param name="item">The source controlled item.</param>
 /// <param name="versionControl">The item's associated TFS source control</param>
 protected TfsSourceControlledItem(IVersionedItem item, IVersionControl versionControl)
 {
     Item           = item;
     VersionControl = versionControl;
 }
 public VsFileManipulation(IVersionControl versionControl, string workspaceRoot, Direction toggleDirection)
 {
     VersionControl = versionControl;
     WorkspaceRoot = workspaceRoot;
     ToggleDirection = toggleDirection;
 }
Exemple #17
0
 /// <summary>
 /// Initializes a new <see cref="TfsSolution"/>.
 /// </summary>
 /// <param name="solutionItem">The source contorlled solution file</param>
 /// <param name="versionControl">TFS source control</param>
 public TfsSolution(IVersionedItem solutionItem, IVersionControl versionControl)
     : base(solutionItem, versionControl)
 {
 }
 /// <summary>
 /// Initializes a new <see cref="TfsFile"/>.
 /// </summary>
 /// <param name="fileItem">The source controlled file</param>
 /// <param name="versionControl">TFS source control</param>
 public TfsFile(IVersionedItem fileItem, IVersionControl versionControl)
     : base(fileItem, versionControl)
 {
 }
 /// <summary>
 /// Initializes a new <see cref="TfsSolution"/>.
 /// </summary>
 /// <param name="solutionItem">The source contorlled solution file</param>
 /// <param name="versionControl">TFS source control</param>
 public TfsSolution(IVersionedItem solutionItem, IVersionControl versionControl)
     : base(solutionItem, versionControl)
 {
 }
 public ClassFileManipulation(IVersionControl versionControl, string workspaceRoot)
 {
     VersionControl = versionControl;
     WorkspaceRoot = workspaceRoot;
 }
Exemple #21
0
 /// <summary>
 /// Initializes a new <see cref="TfsFile"/>.
 /// </summary>
 /// <param name="fileItem">The source controlled file</param>
 /// <param name="versionControl">TFS source control</param>
 public TfsFile(IVersionedItem fileItem, IVersionControl versionControl)
     : base(fileItem, versionControl)
 {
 }
        public void UpdateSettings(ISettingsCollection settings, IVersionControl versionControl)
        {
            //AppSettings
            settings.AppSettings.AlertWhenNotRunning = AlertWhenIdle;
            settings.AppSettings.AlertTimeMilliseconds = AlertWhenIdle ? (int)TimeSpan.FromMinutes((AlertMinutes ?? 1)).TotalMilliseconds : 0;
            settings.AppSettings.TrackIdleTime = TrackIdle;
            settings.AppSettings.IdleTimeThresholdMilliseconds = TrackIdle ? (int)TimeSpan.FromMinutes((TrackIdleThresholdMinutes ?? 1)).TotalMilliseconds : 0;
            settings.AppSettings.TrackLockTime = TrackLock;
            settings.AppSettings.LockTimeThresholdMilliseconds = TrackLock ? (int)TimeSpan.FromMinutes((TrackLockThresholdMinutes ?? 1)).TotalMilliseconds : 0;
            settings.AppSettings.KeepTimersForDays = KeepTimersForDays ?? 7;
            settings.AppSettings.AutoUpdate = AutoUpdate;
            settings.AppSettings.UsageTracking = AllowTracking;
            settings.AppSettings.TargetLogPerDay = new TimeSpan(TargetHoursPerDay ?? 0, TargetMinutesPerDay ?? 0, 0);
            settings.AppSettings.ExportDays = WorkingDays.Where(x => x.IsChecked).Select(x => x.DayOfWeek).ToList();
            settings.AppSettings.StartOfWeek = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), StartOfWeek, true);
            settings.AppSettings.DefaultTimers = DefaultTimers.Split(',').SelectMany(x => x.Split(' ')).Where(x=>!string.IsNullOrWhiteSpace(x)).ToList();

            //UI Settings
            settings.UiSettings.Theme = Theme.Name;
            settings.UiSettings.Accent = Accent.Name;
            if (versionControl.IsAutomatedDeploy)
            {
                if (StartOnBoot)
                {
                    var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Programs), "Gallifrey", $"{versionControl.AppName}.appref-ms");
                    registryKey.SetValue(versionControl.AppName, path);
                }
                else
                {
                    registryKey.DeleteValue(versionControl.AppName, false);
                }
            }
            settings.UiSettings.TopMostOnFlyoutOpen = TopMostOnFlyoutOpen;

            //Jira Settings
            if (settings.JiraConnectionSettings.JiraUrl != JiraUrl ||
                settings.JiraConnectionSettings.JiraUsername != JiraUsername ||
                settings.JiraConnectionSettings.JiraPassword != JiraPassword)
            {
                JiraSettingsChanged = true;
            }
            else if (string.IsNullOrWhiteSpace(JiraUrl) || string.IsNullOrWhiteSpace(JiraUsername) || string.IsNullOrWhiteSpace(JiraPassword))
            {
                JiraSettingsChanged = true;
            }

            settings.JiraConnectionSettings.JiraUrl = JiraUrl;
            settings.JiraConnectionSettings.JiraUsername = JiraUsername;
            settings.JiraConnectionSettings.JiraPassword = JiraPassword;

            //Export Settings
            settings.ExportSettings.ExportPrompt.OnAddIdle = ExportPrompts.First(x => x.Key == "Locked").IsChecked && !TrackingOnly;
            settings.ExportSettings.ExportPrompt.OnManualAdjust = ExportPrompts.First(x => x.Key == "Manual").IsChecked && !TrackingOnly;
            settings.ExportSettings.ExportPrompt.OnStop = ExportPrompts.First(x => x.Key == "Stop").IsChecked && !TrackingOnly;
            settings.ExportSettings.ExportPrompt.OnCreatePreloaded = ExportPrompts.First(x => x.Key == "Pre").IsChecked && !TrackingOnly;
            settings.ExportSettings.ExportPromptAll = ExportAll;
            settings.ExportSettings.DefaultRemainingValue = SelectedRemainingAdjustmentValue.Remaining;
            settings.ExportSettings.ExportCommentPrefix = CommentPrefix;
            settings.ExportSettings.EmptyExportComment = DefaultComment;
            settings.ExportSettings.TrackingOnly = TrackingOnly;
        }
Exemple #23
0
 //give the context where the phone call is happening
 public CallManager(IContext context, IVersionControl versionControl)
 {
     this.context        = context;
     this.versionControl = versionControl;
 }
 /// <summary>
 /// Initializes a new <see cref="TfsSourceControlledItem"/>.
 /// </summary>
 /// <param name="item">The source controlled item.</param>
 /// <param name="versionControl">The item's associated TFS source control</param>
 protected TfsSourceControlledItem(IVersionedItem item, IVersionControl versionControl)
 {
     Item = item;
     VersionControl = versionControl;
 }
 /// <summary>
 /// Initializes a new <see cref="TfsDirectory"/>.
 /// </summary>
 /// <param name="item">The source controlled file</param>
 /// <param name="versionControl">TFS source control</param>
 public TfsDirectory(IVersionedItem item, IVersionControl versionControl)
     : base(item, versionControl)
 {
 }