Beispiel #1
0
        public CrudResult InsertOrUpdateExistingBook(Book book)
        {
            var result = GetExistingBook(book.Id);

            if (result.IsSuccess)
            {
                var removeResult = RemoveExistingBook(book);
                if (removeResult.IsSuccess)
                {
                    return(AddBook(book));
                }
                else
                {
                    return(CrudResult.Error());
                }
            }
            else if (result.IsNotFound)
            {
                return(AddBook(book));
            }
            else
            {
                return(CrudResult.Error());
            }
        }
Beispiel #2
0
        private CrudResult <List <Book> > GetAllBooks()
        {
            var booksList = GetAllFromCache();

            if (booksList == null)
            {
                return(CrudResult <List <Book> > .Error());
            }
            else
            {
                return(CrudResult <List <Book> > .Success(booksList));
            }
        }
Beispiel #3
0
        public CrudResult RemoveExistingBook(string id)
        {
            var result = GetExistingBook(id);

            if (result.IsSuccess)
            {
                return(RemoveBook(result.Value));
            }
            else if (result.IsNotFound)
            {
                return(CrudResult.NotFound());
            }
            else
            {
                return(CrudResult.Error());
            }
        }
Beispiel #4
0
        public CrudResult RemoveExistingCar(string reference)
        {
            var dictionaryCars = GetAllExistingCar();

            if (dictionaryCars.IsSuccess)
            {
                var succesfull = dictionaryCars.Value.Remove(reference);
                if (succesfull)
                {
                    return(UpdateCacheData(dictionaryCars.Value));
                }
                else
                {
                    return(CrudResult.Error());
                }
            }
            else
            {
                return(CrudResult.NotFound());
            }
        }
Beispiel #5
0
 private CrudResult RemoveBook(Book book)
 => RemoveFromCache(book.Id, book) ? CrudResult.Success() : CrudResult.Error();
Beispiel #6
0
 private CrudResult AddBook(Book book)
 => SetInCache(book.Id, book) ? CrudResult.Success() : CrudResult.Error();
Beispiel #7
0
 private CrudResult UpdateCacheData(IDictionary <string, Car> carsDictionary)
 => SetOrUpdateInCache(DictionaryCarsKey, carsDictionary) ? CrudResult.Success() : CrudResult.Error();