/// <summary> /// Get the search report data /// </summary> /// <param name="searchReportObject">the searchReportObject object</param> /// <returns>the ReportData object</returns> public ResultMessage <IEnumerable <TblReportDataDto> > GetReportData(SearchReportObject searchReportObject) { var result = new ResultMessage <IEnumerable <TblReportDataDto> >(); Dictionary <string, object> dictionary = new Dictionary <string, object> { { "createdOn", searchReportObject.CreatedOn } }; if (!string.IsNullOrEmpty(searchReportObject.ExecutionGroup)) { dictionary.Add("executiongroup", searchReportObject.ExecutionGroup); } else { dictionary.Add("executiongroup", null); } dictionary.Add("websiteid", searchReportObject.WebsiteId); var entities = this.Table.SqlQuery <TblReportDataDto>("Select * from procsearchreport(@createdOn,@websiteid,@executiongroup);", dictionary).ToList(); if (!entities.Any()) { result.Messages.Add(new Message(null, "Record not found!")); } else { result.Item = entities; } return(result); }
public IHttpActionResult SearchReport(SearchReportObject searchReportObject) { var result = new ResultMessage <SearchReportResult>(); try { result = this.reportDataService.GetReportData(searchReportObject); } catch (Exception ex) { this.LoggerService.LogException(ex); result.Messages.Add(new Message(null, ex.Message)); } return(this.CreateCustomResponse(result)); }
/// <summary> /// Get the search report data /// </summary> /// <param name="searchReportObject">the searchReportObject object</param> /// <returns>the ReportData object</returns> public ResultMessage <SearchReportResult> GetReportData(SearchReportObject searchReportObject) { var result = new ResultMessage <SearchReportResult>(); int pageSize = searchReportObject.PageSize <= 0 ? 0 : searchReportObject.PageSize; long startAt = searchReportObject.PageNum <= 0 ? 0 : (searchReportObject.PageNum - 1) * pageSize; Dictionary <string, object> dictionary = new Dictionary <string, object> { { "startdate", searchReportObject.StartDate }, { "enddate", searchReportObject.EndDate }, { "websiteid", searchReportObject.WebsiteId }, { "suiteid", searchReportObject.SuiteId ?? 0 }, { "testid", searchReportObject.TestId ?? 0 }, { "osname", searchReportObject.OsName.IsBlank() ? null : searchReportObject.OsName }, { "browser", searchReportObject.Browser.IsBlank() ? null : searchReportObject.Browser }, { "teststatus", searchReportObject.TestStatus.HasValue ? (int)searchReportObject.TestStatus : 0 }, { "userid", searchReportObject.UserId.HasValue ? (int)searchReportObject.UserId : 0 }, { "startat", startAt }, { "pagesize", pageSize }, { "extraData", searchReportObject.ExtraData }, { "executiongroup", searchReportObject.ExecutionGroup.IsBlank() ? null : searchReportObject.ExecutionGroup } }; var entities = this.Table.SqlQuery <TblReportDataDto>("Select * from procsearchreportv3(@startdate,@enddate, @websiteid, @suiteid, @testid, @osname, @browser, @teststatus, @userid, @startat, @pagesize, @extraData, @executiongroup);", dictionary).ToList(); if (!entities.Any()) { result.Messages.Add(new Message(null, "Record not found!")); } else { result.Item = new SearchReportResult { Data = entities }; var resultStart = entities.First(); result.Total = resultStart.Count; result.Item.CountPassed = resultStart.CountPassed; result.Item.CountFailed = resultStart.CountFailed; result.PageSize = pageSize == 0 ? result.Total : pageSize; result.StartedAt = startAt; } return(result); }