예제 #1
0
        public void ShowAdminInteractionWithGenericInterface <T>(T obj, Func <T, string> getIdFunc, Action <T> adjustAction)
            where T : class, new()
        {
            var service = new LibraryAdminService(ServerUrl);

            if (!service.AddItem(obj))
            {
                Console.WriteLine($"{obj} konnte nicht hinzugefügt werden...");
                return;
            }

            var items = service.GetList <T>(false);

            PrintAll(items, $"{typeof(T).Name}s (NEW)");

            adjustAction(obj);

            if (!service.UpdateItem(obj, getIdFunc(obj)))
            {
                Console.WriteLine($"{obj} konnte nicht aktualisiert werden...");
                return;
            }


            items = service.GetList <T>(false);
            PrintAll(items, $"{typeof(T).Name}s (NEW 2)");

            if (!service.DeleteItem(obj, getIdFunc(obj)))
            {
                Console.WriteLine($"{obj} konnte nicht gelöscht werden...");
                return;
            }

            items = service.GetList <T>(false);
            PrintAll(items, $"{typeof(T).Name}s (NEW 3)");
        }