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()); }
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)); }