private static IEnumerable <ConsoleColorOutput> WriteSameStateConsoleOutput(string toggleText, Models.StartupList program)
 {
     return(new [] {
         new ConsoleColorOutput(WriteMode.Write, program.Name, ConsoleColor.Yellow),
         new ConsoleColorOutput(WriteMode.Writeline, $" is already {toggleText}"),
     });
 }
 private static IEnumerable <ConsoleColorOutput> WriteRequireAdministratorConsoleOutput(Models.StartupList program)
 {
     return(new [] {
         new ConsoleColorOutput(WriteMode.Write, $"To modify settings for ", ConsoleColor.Red),
         new ConsoleColorOutput(WriteMode.Write, program.Name, ConsoleColor.Yellow),
         new ConsoleColorOutput(WriteMode.Writeline, " you need to run the command with administrator (sudo)", ConsoleColor.Red),
     });
 }
        private static IEnumerable <ConsoleColorOutput> ToggleThroughRegedit(bool enable, string toggleText, Models.StartupList program)
        {
            var result = RegistryService.ToggleStartupState(program, enable);

            switch (result)
            {
            case Models.StateChange.SameState:
                return(WriteSameStateConsoleOutput(toggleText, program));

            case Models.StateChange.Success:
                return(WriteToggledConsoleOutput(toggleText, program));

            case Models.StateChange.Unauthorized:
                return(WriteRequireAdministratorConsoleOutput(program));
            }
            return(new List <ConsoleColorOutput>());
        }