public UpdateBreweryPayload UpdateBrewery(
            UpdateBreweryInput input,
            [Service] IBreweryValidationConductor validationConductor,
            [Service] IBreweryConductor breweryConductor,
            [Service] IMapper mapper,
            CancellationToken cancellationToken)
        {
            var dto = mapper.Map <DTO.Brewery>(input);

            if (!validationConductor.CanUpdate(dto.Id ?? default, dto, out var errors))
            {
                return(new UpdateBreweryPayload(
                           errors.Select(err => new UserError(err.message, err.key)).ToList(),
                           input.ClientMutationId));
            }

            var brewery = breweryConductor.Update(mapper.Map <Entity.Brewery>(dto));

            if (!brewery.HasErrors && !(brewery.ResultObject is null))
            {
                return(new UpdateBreweryPayload(brewery.ResultObject, input.ClientMutationId));
            }

            return(new UpdateBreweryPayload(
                       brewery.Errors.Select(err => new UserError(err.Message, err.Key)).ToList(),
                       input.ClientMutationId));
        }
 public BreweryResolver(
     IBreweryConductor breweryConductor,
     IBreweryFilterConductor filterConductor,
     IBreweryOrderConductor orderConductor,
     IBreweryValidationConductor validationConductor)
 {
     _breweryConductor    = breweryConductor;
     _filterConductor     = filterConductor;
     _orderConductor      = orderConductor;
     _validationConductor = validationConductor;
 }
 public BreweriesController(
     IBreweryConductor breweryConductor,
     IBreweryFilterConductor filterConductor,
     IBreweryOrderConductor orderConductor,
     IBreweryValidationConductor validationConductor,
     IMapper mapper)
 {
     _breweryConductor    = breweryConductor;
     _filterConductor     = filterConductor;
     _mapper              = mapper;
     _orderConductor      = orderConductor;
     _validationConductor = validationConductor;
 }
Esempio n. 4
0
        public async Task <ReviewPayload> CreateReview(
            ReviewInput input,
            [Service] BreweryDbContext dbContext,
            [Service] IBreweryConductor breweryConductor,
            [Service] ITopicEventSender eventSender,
            CancellationToken cancellationToken)
        {
            if (string.IsNullOrEmpty(input.Subject))
            {
                throw ErrorBuilder.New()
                      .AsGraphQLException(SUBJECT_EMPTY, nameof(SUBJECT_EMPTY));
            }

            if (string.IsNullOrEmpty(input.Body))
            {
                throw ErrorBuilder.New()
                      .AsGraphQLException(BODY_EMPTY, nameof(BODY_EMPTY));
            }

            var review = new Review
            {
                Subject   = input.Subject,
                Body      = input.Body,
                BreweryId = input.BreweryId,
                CreatedOn = DateTimeOffset.Now,
            };

            _ = await dbContext.AddAsync(review);

            _ = await dbContext.SaveChangesAsync(cancellationToken);

            var breweryResult = breweryConductor.Find(input.BreweryId);

            if (breweryResult.HasErrorsOrResultIsNull())
            {
                throw breweryResult.Errors
                      .AsGraphQLException();
            }

            review.Brewery = breweryResult.ResultObject;

            await eventSender.SendAsync(
                nameof(ReviewSubscriptions.OnReviewReceived),
                review,
                cancellationToken);

            return(new ReviewPayload(review, input.ClientMutationId));
        }
 public AutocompleteController(IBreweryConductor breweryConductor, IBreweryFilterConductor filterConductor, IMapper mapper)
 {
     _breweryConductor = breweryConductor;
     _filterConductor  = filterConductor;
     _mapper           = mapper;
 }
Esempio n. 6
0
 public BreweryDataloader(IBreweryConductor breweryConductor)
 {
     _breweryConductor = breweryConductor;
 }
 public SearchController(IBreweryConductor breweryConductor, IBreweryFilterConductor filterConductor, IMapper mapper)
 {
     _breweryConductor = breweryConductor;
     _filterConductor  = filterConductor;
     _mapper           = mapper;
 }