using System; using System.Collections.Generic; using Dapper; using DataModel.Helpers; using DataModel.Models; namespace DataModel.Process { /// /// Status codes tracking functionality for JDE interface /// public partial class JDE { /// /// Fetches updated status codes /// /// Timestamp of last updated record already imported /// Streaming updated status codes public static IEnumerable GetStatusCodes(DateTime? lastUpdateDT = null) { using (DDTek.Oracle.OracleConnection connection = new DDTek.Oracle.OracleConnection(Config.GIWCS)) { connection.Open(); var results = lastUpdateDT.HasValue ? connection.Query(queries["SQL_GET_STATUS_CODES_FILTERED"], new { dateUpdated = lastUpdateDT.Value.Date, timeUpdated = lastUpdateDT.Value.ToJDETime() }, buffered: false, commandTimeout: Config.QueryTimeout) : connection.Query(queries["SQL_GET_STATUS_CODES"], buffered: false, commandTimeout: Config.QueryTimeout); foreach (var result in results) { yield return result; } } } } }