Exemplo n.º 1
0
        public Task <IResult <Book> > AddAsync(Book book)
        {
            var bookValidationResult = new AddNewBookValidation().Validate(book);

            if (!bookValidationResult.IsValid)
            {
                return(new ErrorResult <Book>(bookValidationResult.Errors.FirstOrDefault()?.ErrorMessage ?? string.Empty).ToTask());
            }

            var bookEntity = _bookRepository.Add(book);

            if (!_unitOfWork.Commit())
            {
                throw new ExceptionHandler(HttpStatusCode.BadRequest, "A problem occurred during saving the data.");
            }

            return(new SuccessResult <Book>(bookEntity).ToTask());
        }
Exemplo n.º 2
0
        public IResult <Customer> Add(Customer customer)
        {
            var customerValidationResult = new AddNewBookValidation().Validate(customer);

            if (!customerValidationResult.IsValid)
            {
                return(new ErrorResult <Customer>(customerValidationResult.Errors.FirstOrDefault()?.ErrorMessage ?? string.Empty));
            }

            var customerEntity = _customerRepository.Add(customer);

            if (!_unitOfWork.Commit())
            {
                throw new ExceptionHandler(HttpStatusCode.BadRequest, "A problem occurred during saving the data.");
            }

            return(new SuccessResult <Customer>(customerEntity));
        }