using System; using System.Collections.Generic; using Dapper; using DataModel.Helpers; using DataModel.Models; using Oracle.ManagedDataAccess.Client; namespace DataModel.Process { /// /// Lot usage (CARDEX) tracking functionality for JDE interface /// public partial class JDE { /// /// Fetches updates for lot usages /// /// Timestamp of last imported data /// Streaming updates for lot usages public static IEnumerable GetLotUsages(DateTime? lastUpdateDT = null) { using (OracleConnection connection = GetConnection()) { var results = lastUpdateDT.HasValue ? connection.Query(queries["SQL_GET_LOT_USAGES_FILTERED"], new { dateUpdated = lastUpdateDT.Value.ToJDEDate(), timeUpdated = lastUpdateDT.Value.ToJDETime() }, buffered: false, commandTimeout: 999999) : connection.Query(queries["SQL_GET_LOT_USAGES"], buffered: false, commandTimeout: Config.QueryTimeout); foreach (var result in results) { yield return result; } } } /// /// Fetches updates for lot usages archive /// /// Timestamp of last imported data /// Streaming updates for lot usages public static IEnumerable GetLotUsagesArchive(DateTime? lastUpdateDT = null) { using (OracleConnection connection = GetConnection()) { var results = connection.Query(queries["SQL_GET_LOT_USAGES_ARCHIVE"], buffered: false, commandTimeout: Config.QueryTimeout); foreach (var result in results) { yield return result; } } } } }