Example #1
0
        public async Task <BookForSaleResponse> UpdateAsync(int id, BookForSale bookForSale)
        {
            var existingBookForSale = await bookForSaleRepository.FindByIdAsync(id);

            if (existingBookForSale == null)
            {
                return(new BookForSaleResponse("Book for sale not found"));
            }
            if (existingBookForSale.BookId != bookForSale.BookId)
            {
                return(new BookForSaleResponse("The book can`t be changed in book for sale"));
            }
            if (existingBookForSale.BookOrdered != null)
            {
                return(new BookForSaleResponse("Book for sale is ordered"));
            }

            existingBookForSale.Price  = bookForSale.Price;
            existingBookForSale.Place  = bookForSale.Place;
            existingBookForSale.Actual = bookForSale.Actual;

            try
            {
                bookForSaleRepository.Update(existingBookForSale);
                await unitOfWork.CompleteAsync();

                return(new BookForSaleResponse(existingBookForSale));
            }
            catch (Exception ex)
            {
                return(new BookForSaleResponse($"Error when updating BookForSale: {ex.Message}"));
            }
        }
Example #2
0
        public async Task <BookForSaleResponse> SaveAsync(BookForSale bookForSale)
        {
            try
            {
                await bookForSaleRepository.AddAsync(bookForSale);

                await unitOfWork.CompleteAsync();

                return(new BookForSaleResponse(bookForSale));
            }
            catch (Exception ex)
            {
                return(new BookForSaleResponse($"Error when saving the BookForSale: {ex.Message}"));
            }
        }
Example #3
0
 public BookForSaleResponse(bool success, string message, BookForSale bookForSale) : base(success, message)
 {
     BookForSale = bookForSale;
 }
Example #4
0
 public BookForSaleResponse(BookForSale bookForSale) : this(true, string.Empty, bookForSale)
 {
 }
 public void Update(BookForSale bookForSale)
 {
     context.BooksForSale.Update(bookForSale);
 }
 public void Remove(BookForSale bookForSale)
 {
     context.BooksForSale.Remove(bookForSale);
 }
 public async Task AddAsync(BookForSale bookForSale)
 {
     await context.BooksForSale.AddAsync(bookForSale);
 }