コード例 #1
0
        public async Task <List <AuthorDto> > Handle(GetListAuthorQuery request, CancellationToken cancellationToken)
        {
            var query = "SELECT * FROM Authors AS a WHERE ";

            query += "(ISNULL(@Id,0) = 0 OR a.Id = @ID) ";
            query += "AND (ISNULL(@Name,'') = '' OR a.Name LIKE '%' + @Name + '%') ";
            query += "AND (ISNULL(@Surname,'') = '' OR a.Surname LIKE '%' + @Surname + '%') ";

            var dpParams = new DynamicParameters();

            dpParams.Add("Id", request.Id, DbType.Int32);
            dpParams.Add("Name", request.Name, DbType.String);
            dpParams.Add("Surname", request.Surname, DbType.String);

            var authors = await _dapper.GetListAsync <Author>(query, dpParams, CommandType.Text);

            var map = _mapper.Map <List <AuthorDto> >(authors);

            return(map);
        }
コード例 #2
0
        public async Task <IActionResult> List([FromQuery] GetListAuthorQuery getListAuthorQuery)
        {
            var result = await _mediator.Send(getListAuthorQuery);

            return(Ok(result));
        }