Пример #1
0
        private ConsoleCommandResult CreateEntry(string description, EntryDifficulty difficulty)
        {
            using (BucketListRepository repo = new BucketListRepository())
            {
                BucketListEntry entry = repo.Create(description, difficulty);

                if (entry != null)
                {
                    ConsoleWriter.WriteLine("Added entry with Id {0}", ConsoleColor.Green, entry.Id);
                    return(ConsoleCommandResult.Success);
                }
                else
                {
                    ConsoleWriter.WriteLine("Error occurred while saving entry", ConsoleColor.Red);
                    return(ConsoleCommandResult.Exception);
                }
            }
        }
Пример #2
0
        private List <BucketListEntry> GetRandomEntries(BucketListRepository repo)
        {
            // TODO replace stupid algorithm
            List <BucketListEntry> list    = new List <BucketListEntry>(RandomEntriesCount);
            List <BucketListEntry> entries = repo.Query.Where(e => !e.CheckedDate.HasValue).ToList();

            while (entries.Any() && list.Count < RandomEntriesCount)
            {
                BucketListEntry entry = entries[Rand.Next(0, entries.Count)];

                if ((int)entry.Difficulty < Rand.Next(1, 8))
                {
                    list.Add(entry);
                    entries.Remove(entry);
                }
            }

            return(list);
        }
Пример #3
0
        private void PrintEntryList(List <BucketListEntry> entries)
        {
            if (!entries.Any())
            {
                ConsoleWriter.WriteLine("No entries found", ConsoleColor.Yellow);
                return;
            }

            ConsoleWriter.WriteLine(TableTopBorder);
            ConsoleWriter.WriteLine(TableCaption);

            for (int idx = 0; idx < entries.Count; idx++)
            {
                BucketListEntry entry = entries[idx];

                if (idx > 0 && idx % PageSize == 0)
                {
                    ConsoleWriter.Write("{0} more entries; Press any key to continue or X to stop",
                                        ConsoleColor.Green,
                                        entries.Count - idx);
                    ConsoleKeyInfo key = Console.ReadKey(true);
                    ConsoleWriter.ClearCurrentConsoleLine();
                    if (key.Key == ConsoleKey.X)
                    {
                        break;
                    }
                }

                ConsoleWriter.WriteLine(TableEntryTemplate,
                                        entry.Id,
                                        entry.Description,
                                        entry.Difficulty.ToDisplayString(),
                                        entry.CreatedDate.ToString("d"),
                                        entry.CheckedDate?.ToString("d"));
            }

            ConsoleWriter.WriteLine(TableTopBorder);
        }