public async Task Search_Call() { //-------------- Arrange ------------- //CommonArrangements(); var searchRequest = new AmigoTenantTEventLogSearchRequest(); //-------------- Act ------------- var resp = await amigoTenantTEventLogApplicationService.SearchAsync(searchRequest); //-------------- Assert ------------- A.CallTo(() => logSearchDataAccess.ListPagedAsync(null, 0, 0, null, null)).WithAnyArguments().MustHaveHappened(); }
public async Task <ResponseDTO <PagedList <AmigoTenantTEventLogSearchResultDTO> > > SearchAsync(AmigoTenantTEventLogSearchRequest search) { var queryFilter = GetQueryFilter(search); var eventLogs = await _logSearchDataAccess.ListPagedAsync(queryFilter, search.Page, search.PageSize); var pagedResult = new PagedList <AmigoTenantTEventLogSearchResultDTO>() { Items = eventLogs.Items, PageSize = eventLogs.PageSize, Page = eventLogs.Page, Total = eventLogs.Total }; return(ResponseBuilder.Correct(pagedResult)); }
private Expression <Func <AmigoTenantTEventLogSearchResultDTO, bool> > GetQueryFilter(AmigoTenantTEventLogSearchRequest search) { Expression <Func <AmigoTenantTEventLogSearchResultDTO, bool> > queryFilter = p => true; if (!string.IsNullOrEmpty(search.ActivityTypeCode)) { queryFilter = queryFilter.And(p => p.ActivityTypeCode.Contains(search.ActivityTypeCode)); } if (!string.IsNullOrEmpty(search.Username)) { queryFilter = queryFilter.And(p => p.Username.Contains(search.Username)); } if (search.ReportedActivityDateFrom != null) { queryFilter = queryFilter.And(p => p.ReportedActivityDate >= search.ReportedActivityDateFrom); } if (search.ReportedActivityDateTo != null) { queryFilter = queryFilter.And(p => p.ReportedActivityDate <= search.ReportedActivityDateTo); } if (!string.IsNullOrEmpty(search.ReportedActivityTimeZone)) { queryFilter = queryFilter.And(p => p.ReportedActivityTimeZone.Contains(search.ReportedActivityTimeZone)); } if (!string.IsNullOrEmpty(search.LogType)) { queryFilter = queryFilter.And(p => p.LogType.Contains(search.LogType)); } if (!string.IsNullOrEmpty(search.Parameters)) { queryFilter = queryFilter.And(p => p.Parameters.Contains(search.Parameters)); } if (!string.IsNullOrEmpty(search.AmigoTenantMoveNumber)) { queryFilter = queryFilter.And(p => p.AmigoTenantMoveNumber == search.AmigoTenantMoveNumber); } if (search.AmigoTenantMoveId != null) { queryFilter = queryFilter.And(p => p.AmigoTenantMoveId == search.AmigoTenantMoveId); } if (!string.IsNullOrEmpty(search.ShipmentID) && !string.IsNullOrEmpty(search.CostCenterCode)) { queryFilter = queryFilter.And(p => p.ChargeNo == search.ShipmentID || p.ChargeNo == search.CostCenterCode); } else { if (!string.IsNullOrEmpty(search.ShipmentID)) { queryFilter = queryFilter.And(p => p.ChargeNo == search.ShipmentID); } if (!string.IsNullOrEmpty(search.CostCenterCode)) { queryFilter = queryFilter.And(p => p.ChargeNo == search.CostCenterCode); } } //if (search.CostCenterId != null) //{ // queryFilter = queryFilter.And(p => p.CostCenterId == search.CostCenterId); //} if (!string.IsNullOrEmpty(search.EquipmentNumber)) { queryFilter = queryFilter.And(p => p.EquipmentNumber == search.EquipmentNumber); } if (search.EquipmentId != null) { queryFilter = queryFilter.And(p => p.EquipmentId == search.EquipmentId); } if (search.IsAutoDateTime != null) { queryFilter = queryFilter.And(p => p.IsAutoDateTime == search.IsAutoDateTime); } if (search.IsSpoofingGPS != null) { queryFilter = queryFilter.And(p => p.IsSpoofingGPS == search.IsSpoofingGPS); } if (search.IsRootedJailbreaked != null) { queryFilter = queryFilter.And(p => p.IsRootedJailbreaked == search.IsRootedJailbreaked); } if (!string.IsNullOrEmpty(search.Platform)) { queryFilter = queryFilter.And(p => p.Platform == search.Platform); } if (!string.IsNullOrEmpty(search.OSVersion)) { queryFilter = queryFilter.And(p => p.OSVersion == search.OSVersion); } if (!string.IsNullOrEmpty(search.AppVersion)) { queryFilter = queryFilter.And(p => p.AppVersion == search.AppVersion); } if (!string.IsNullOrEmpty(search.LocationProvider)) { queryFilter = queryFilter.And(p => p.LocationProvider == search.LocationProvider); } return(queryFilter); }
public async Task <ResponseDTO <PagedList <AmigoTenantTEventLogSearchResultDTO> > > Search([FromUri] AmigoTenantTEventLogSearchRequest search) { var resp = await _logApplicationService.SearchAsync(search); return(resp); }