Example #1
0
 public string Print(PrinterConfig config = null)
 {
     if (config == null)
     {
         config = new PrinterConfig();
     }
     using (IADbContext dbContext = new IADbContext())
     {
         if (!dbContext.Database.Exists())
         {
             log.Warn("Db not found.");
             return("");
         }
         List <PlayerItem> itemResult = new List <PlayerItem>();
         try
         {
             IQueryable <PlayerItem> items = dbContext.PlayerItem;
             items      = FilterItems(items, config, dbContext);
             itemResult = items.ToList();
             log.Info("LoadedPlayerItems");
         }
         catch (Exception ex)
         {
             log.Error("Error fetching playeritems. Most likely path to db is incorrect.", ex);
             return("");
         }
         log.Info("Formatting");
         ItemContainer container    = new ItemContainer(itemResult);
         string        stringResult = ResultFormatter.FormatResult(container, config);
         log.Info("Writing output");
         CreateOutputFile(stringResult, config);
         log.Info("Printer Finished");
         return(stringResult);
     }
 }
Example #2
0
        /// <summary>
        /// Formats the result.
        /// </summary>
        /// <param name="result">The result.</param>
        /// <param name="number">The number.</param>
        /// <param name="responseMessage">The response message.</param>
        /// <returns></returns>
        private static string FormatResult(List <price> result, int number)
        {
            var resultMessageBuilder = new StringBuilder();

            for (var index = 0; index < result.Count; index++)
            {
                var mod = string.Empty;
                if (result.Count > 1)
                {
                    mod = number > 1 ? $"{index}. " : "● ";
                }
                var price = result[index];
                resultMessageBuilder.Append($"{mod}{ResultFormatter.FormatResult(price)}  {Environment.NewLine}");
            }
            return(resultMessageBuilder.ToString());
        }
Example #3
0
        /// <summary>
        /// WinGrep execution.
        /// </summary>
        /// <param name="args"></param>
        public static void Main(string[] args)
        {
            var regex         = ".*";
            var contentregex  = string.Empty;
            var rootdir       = Environment.CurrentDirectory;
            var searchnames   = true;
            var searchcontent = false;
            var recursive     = false;
            var showhelp      = false;

            var options = new OptionSet()
            {
                { "r=", ".net Regex for matching file names", o => regex = o },
                { "d=", "root Directory for searching", o => rootdir = o },
                { "R", "enable Recursive", o => recursive = true },
                { "c=", ".net regex for file Contents", o => { searchcontent = true; searchnames = false; contentregex = o; } },
                { "h", "shows Help", o => showhelp = true },
            };

            options.Parse(args);



            if (showhelp)
            {
                options.WriteOptionDescriptions(Console.Out);
                return;
            }

            // Validation first, quit if needed.
            if (!new RegexValidator().Validate(regex))
            {
                Console.WriteLine(string.Format("Regex \"{0}\" is not a valid regular expression.", regex));
                return;
            }

            if (!new RegexValidator().Validate(contentregex))
            {
                Console.WriteLine(string.Format("Regex \"{0}\" is not a valid regular expression.", contentregex));
                return;
            }

            try
            {
                if (!Path.IsPathRooted(rootdir))
                {
                    rootdir = Environment.CurrentDirectory + @"\" + rootdir;
                }
            }
            catch
            {
                Console.WriteLine("Directory \"{0}\" is not a well formed path.", rootdir);
                return;
            }


            // Execute our Grep.
            var formatter = new ResultFormatter();
            IEnumerable <ContentsResult> results;

            if (searchnames)
            {
                results = new FileLocator().FindFiles(rootdir, regex, recursive);
            }
            else
            {
                results = new FileLocator().FindInFiles(rootdir, regex, contentregex, recursive);
            }

            foreach (var r in results)
            {
                Console.Write(formatter.FormatResult(r));
            }
        }