public async Task <IList <RFA> > Query(RFAFilter filter) { var status = new DataTable(); status.Columns.Add("Val", typeof(int)); if (filter.Status?.Any() ?? false) { foreach (var s in filter.Status) { status.Rows.Add(s); } } var param = new DynamicParameters(); param.Add("@ID", filter.ID); param.Add("@RequestID", filter.RequestID); param.Add("@Customer", filter.Customer); param.Add("@RaisedBy", filter.RaisedBy); param.Add("@CreatedOn", filter.CreatedOn); param.Add("@DueOn", filter.DueOn); param.Add("@Status", status.AsTableValuedParameter("dbo.SmallIntType")); var mapper = new RFAMapper(); return((await SqlMapper.QueryAsync <RFA>(_unitOfWork.Connection, "SelectRFA", new [] { typeof(RFA), typeof(Model.Request) }, obj => { return mapper.Map(obj[0] as RFA, request: obj[1] as Model.Request); }, param, splitOn: "ID,Request", commandType: CommandType.StoredProcedure, transaction: _unitOfWork.Transaction)).Distinct().ToList()); }
public Task <IList <RFA> > ListOfRFA(RFAFilter filter) { return(Execute(new ListOfRFACommand(filter))); }
public ListOfRFACommand(RFAFilter filter) { _filter = filter; }