Exemplo n.º 1
0
        public static void Main()
        {
            try
            {
                var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                var file = Path.Combine(Path.Combine(path, "cmd"), "redis-server.exe");

                if (File.Exists(file))
                {
                    var redis = new ProcessStartInfo()
                    {
                        FileName = file
                    };

                    using (var server = Process.Start(redis))
                    {
                        if (server.Responding)
                        {
                            using (var client = new RedisClient())
                            {
                                client.FlushAll();
                                CatalogInitializer.Configure();

                                // Create
                                "[CREATE] StoreAll".ToConsoleInfo();
                                client.StoreAll<Book>(CatalogInitializer.Seed());

                                // Read
                                "[READ] GetAll".ToConsoleInfo();
                                var catalog = client.GetAll<Book>().ToList();
                                catalog.ForEach(retrieved => retrieved.ToJson<Book>().ToConsole());

                                var isbn = "9780596800956";
                                string.Format("[READ] GetById (Isbn = {0})", isbn).ToConsoleInfo();
                                client.GetById<Book>(isbn).ToJson<Book>().ToConsole();

                                // Update
                                "[UPDATE] (InStock = false)".ToConsoleInfo();
                                var book = client.GetById<Book>(isbn);
                                book.InStock = false;
                                client.Store<Book>(book);
                                client.GetById<Book>(isbn).ToJson<Book>().ToConsole();

                                // Delete
                                string.Format("[DELETE] DeleteById (Isbn = {0})", isbn).ToConsoleInfo();
                                client.DeleteById<Book>(isbn);
                                client.GetById<Book>(isbn).ToJson<Book>().ToConsole();
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                exception.ToString().ToConsole();
            }
            finally
            {
                "Press any key to continue . . .".ToConsole();
                Console.ReadKey(true);
            }
        }