protected virtual async Task <EntitySingleResult <TReadModel> > FirstOrDefaultQuery(SingleQuery <TEntity> entityQuery, CancellationToken cancellationToken = default(CancellationToken)) { var command = new EntitySingleQuery <TEntity, TReadModel>(entityQuery, User); var result = await Mediator.Send(command, cancellationToken).ConfigureAwait(false); return(result); }
private async Task <PaymentReadModel> PaymentTransaction(Guid attendeeId, Guid oldCourse, Guid newCourse, CancellationToken cancellationToken) { var search = Query <Data.Entities.PaymentTransaction> .Create(x => x.UserProfileId == attendeeId); search = search.And(Query <Data.Entities.PaymentTransaction> .Create(x => x.CourseId == oldCourse)); var query = new SingleQuery <Data.Entities.PaymentTransaction>(search); var command = new EntitySingleQuery <Data.Entities.PaymentTransaction, PaymentReadModel>(query); var result = await _mediator.Send(command, cancellationToken).ConfigureAwait(false); var map = _mapper.Map <PaymentUpdateModel>(result.Data); map.CourseId = newCourse; var updatecommand = new EntityUpdateCommand <Guid, PaymentTransaction, PaymentUpdateModel, PaymentReadModel>(result.Data.Id, map, null); var output = await _mediator.Send(updatecommand, cancellationToken).ConfigureAwait(false); var historymap = _mapper.Map <PaymentHistoryCreateModel>(result.Data); var createcommand = new EntityCreateCommand <Data.Entities.PaymentTransactionHistory, PaymentHistoryCreateModel, PaymentHistoryReadModel>(historymap, null); await _mediator.Send(createcommand, cancellationToken).ConfigureAwait(false); return(output); }
protected override async Task <TrainingVideoReadModel> ProcessAsync(TrainingVideoGetCommand <Guid> message, CancellationToken cancellationToken) { var search = Query <TrainingVideoPic> .Create(x => x.Stream_id == message.Id); var query = new SingleQuery <TrainingVideoPic>(search); var command = new EntitySingleQuery <TrainingVideoPic, TrainingVideoReadModel>(query); var result = await Mediator.Send(command, cancellationToken).ConfigureAwait(false); return(result.Data); }
private async Task <EntitySingleResult <TrainingBuildCoursesAttendeeReadModel> > GetAttendee( MapToCourseCommand <TrainingBuildCoursesAttendeeUpdateModel> message, CancellationToken cancellationToken) { var search = Query <Data.Entities.TrainingBuildCourseAttendee> .Create(x => x.Id == message.Id); search.IncludeProperties = "Course"; var query = new SingleQuery <Data.Entities.TrainingBuildCourseAttendee>(search); var command = new EntitySingleQuery <Data.Entities.TrainingBuildCourseAttendee, TrainingBuildCoursesAttendeeReadModel>(query); return(await _mediator.Send(command, cancellationToken).ConfigureAwait(false)); }