public HarvestLogInfoResult GetHarvestLogInfo(HarvestLogInfoRequest request) { var retVal = new HarvestLogInfoResult(); var sql = SqlStatements.HarvestLogInfo; sql = string.Format(sql, string.IsNullOrEmpty(request.ArchiveRecordIdFilter) ? "" : " AND m.gsft_obj_id = :gsft_obj_id ", request.ActionStatusFilterList.Any() ? $" AND aktn_stts in ({string.Join(",", request.ActionStatusFilterList.Select(a => ((int) a).ToString()))}) " : "", "" /* no sort order yet */); using (var cn = AISConnection.GetConnection()) { var dateRange = new QueryDateRange(request.DateRangeFilter); var cmd = new OracleCommand(sql, cn); cmd.Parameters.Add("cur1", OracleDbType.Cursor, ParameterDirection.Output); cmd.Parameters.Add("cur2", OracleDbType.Cursor, ParameterDirection.Output); cmd.Parameters.AddWithValue("dateFrom", dateRange.From); cmd.Parameters.AddWithValue("dateTo", dateRange.To); cmd.Parameters.AddWithValue("recordFrom", request.PageSize * (request.Page - 1)); cmd.Parameters.AddWithValue("recordTo", request.PageSize * request.Page); if (!string.IsNullOrEmpty(request.ArchiveRecordIdFilter)) { cmd.Parameters.AddWithValue("gsft_obj_id", request.ArchiveRecordIdFilter); } var ds = new DataSet(); var da = new OracleDataAdapter(cmd); da.TableMappings.Add("Table", "ResultCount"); da.TableMappings.Add("Table1", "LogInfo"); da.Fill(ds); var dsDetail = new DataSet(); if (ds.Tables["LogInfo"].Rows.Count > 0) { var ids = string.Join(",", ds.Tables["LogInfo"].AsEnumerable().Select(t => (int)t.Field <double>("mttn_id"))); dsDetail = GetDataSetFromSql <DataSet>(string.Format(SqlStatements.HarvestLogInfoDetail, ids)); } retVal.TotalResultSetSize = (int)(decimal)ds.Tables["ResultCount"].Rows[0][0]; retVal.ResultSet = (from r in ds.Tables["LogInfo"].AsEnumerable() select new HarvestLogInfo { MutationId = (int)r.Field <double>("mttn_id"), ArchiveRecordId = r.Field <double>("gsft_obj_id").ToString("F0"), ArchiveRecordIdName = r.Field <string>("gsft_obj_kurz_nm"), ActionName = r.Field <string>("aktn"), CurrentStatus = (ActionStatus)r.Field <int>("aktn_stts"), CreationDate = r.Field <DateTime>("erfsg_dt"), LastChangeDate = r.Field <DateTime>("mttn_dt"), NumberOfSyncRetries = r.Field <int>("sync_anz_vrsch"), Details = GetLogDetails(dsDetail, (int)r.Field <double>("mttn_id")) } ).ToList(); } return(retVal); }
/// <summary> /// Gets the detailed log information for the data harvesting. /// </summary> /// <param name="request">The request.</param> /// <returns>HarvestLogInfo.</returns> public HarvestLogInfoResult GetLogInfo(HarvestLogInfoRequest request) { return(dataProvider.GetHarvestLogInfo(request)); }
/// <summary> /// Gets the detailed log information for the data harvesting. /// </summary> /// <param name="request">The request.</param> /// <returns>HarvestLogInfo.</returns> public HarvestLogInfoResult GetLogInfo(HarvestLogInfoRequest request) { return(statusAccess.GetLogInfo(request)); }