Example #1
0
        public AvailableBookTests()
        {
            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile(new AvailableBookProfile());
            });

            availableBookDto = new AvailableBookDto()
            {
                Id          = 1,
                BookId      = 1,
                Count       = 10,
                MaxTermDays = 100,
                IsActive    = true
            };

            availableBookNewDto = new AvailableBookNewDto()
            {
                BookId      = 1,
                Count       = 10,
                MaxTermDays = 100
            };

            _mapper                  = new Mapper(configuration);
            _bookRepository          = new Mock <GenericRepository <Book, int> >(MockBehavior.Loose, new object[] { });
            _availableBookRepository = new Mock <GenericRepository <AvailableBook, int> >(MockBehavior.Loose, new object[] { });
            _reservedBookRepository  = new Mock <GenericRepository <ReservedBook, int> >(MockBehavior.Loose, new object[] { });
        }
        public async Task <IActionResult> AddAvailableBook([FromBody] AvailableBookNewDto model)
        {
            if (!ModelState.IsValid)
            {
                var badResult = new OperationResult();
                badResult.Message = string.Join("; ", ModelState.Values
                                                .SelectMany(x => x.Errors)
                                                .Select(x => x.ErrorMessage));
                return(new OkObjectResult(badResult));
            }

            var result = await _availableBookService.AddAvailableBook(model);

            return(new OkObjectResult(result));
        }
        public async Task <OperationResult> AddAvailableBook(AvailableBookNewDto model)
        {
            var result = new OperationResult();

            var book = await _bookRepository.GetAsync(model.BookId);

            if (book == null)
            {
                result.Message = "Book was not found";
                return(result);
            }

            var addAvailableBookResult = await CreateAsync(_mapper.Map <AvailableBookNewDto, AvailableBookDto>(model));

            result.IsSuccessful = addAvailableBookResult.IsSuccessful;
            result.Message      = addAvailableBookResult.Message;

            return(result);
        }