public async Task <UpdateStringResponse> Handle(UpdateStringRequest request, CancellationToken cancellationToken)
        {
            var query = new GetStringByIdQuery()
            {
                Id = request.stringId
            };
            var gotString = await this.queryExecutor.Execute(query);

            if (gotString == null)
            {
                return new UpdateStringResponse()
                       {
                           Data = null
                       }
            }
            ;
            var command = new UpdateStringCommand()
            {
                Parameter = this.mapper.Map(request, gotString)
            };
            var updatedString = await this.commandExecutor.Execute(command);

            return(new UpdateStringResponse()
            {
                Data = this.mapper.Map <Domain.Models.String>(updatedString)
            });
        }
    }
示例#2
0
        public async Task <GetStringByIdResponse> Handle(GetStringByIdRequest request, CancellationToken cancellationToken)
        {
            var query = new GetStringByIdQuery()
            {
                Id = request.StringId
            };
            var thisString = await this.queryExecutor.Execute(query);

            var mappedString = this.mapper.Map <Domain.Models.String>(thisString);
            var response     = new GetStringByIdResponse()
            {
                Data = mappedString
            };

            return(response);
        }
        public static async Task <bool> CheckIfCorrect <T>(T request, IQueryExecutor queryExecutor)
            where T : IAddAndUpdateInstalledStringProperties
        {
            var queryNewInstalledString = new GetInstalledStringByPositionAndMyInstrumentQuery()
            {
                MyInstrumentID = request.MyInstrumentID,
                StringPosition = request.StringPosition
            };
            var gotNewInstalledString = await queryExecutor.Execute(queryNewInstalledString);

            var querySound = new GetSoundByIdQuery()
            {
                Id = request.SoundID
            };
            var gotSound = await queryExecutor.Execute(querySound);

            var queryMyInstrument = new GetMyInstrumentByIdQuery()
            {
                Id = request.MyInstrumentID
            };
            var gotMyInstrument = await queryExecutor.Execute(queryMyInstrument);

            var queryString = new GetStringByIdQuery()
            {
                Id = request.StringID
            };
            var gotString = await queryExecutor.Execute(queryString);

            if (gotNewInstalledString == null && gotSound != null && gotMyInstrument != null && gotString != null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }