using Newtonsoft.Json.Linq; using OI.Metrology.Shared.DataModels; using System.Data; using System.Transactions; namespace OI.Metrology.Shared.Models.Stateless; public interface IMetrologyRepository { IEnumerable GetToolTypes(); ToolType GetToolTypeByName(string name); ToolType GetToolTypeByID(int id); IEnumerable GetToolTypeMetadataByToolTypeID(int id); TransactionScope StartTransaction(); void PurgeExistingData(int toolTypeId, string title); long InsertToolDataJSON(JToken jsonbody, long headerId, List metaData, string tableName); DataTable ExportData(string spName, DateTime startTime, DateTime endTime); DataTable GetHeaders(int toolTypeId, DateTime? startTime, DateTime? endTime, int? pageNo, int? pageSize, long? headerid, out long totalRecords); DataTable GetData(int toolTypeId, long headerId); DataTable GetDataSharePoint(int toolTypeId, string headerId); HeaderCommon[] GetHeaderTitles(int? toolTypeId, int? pageNo, int? pageSize, out long totalRecords); Guid GetHeaderAttachmentIDByTitle(int toolTypeId, string title); Guid GetDataAttachmentIDByTitle(int toolTypeId, string title); Guid GetHeaderAttachmentID(int toolTypeId, long headerId); string GetHeaderInsertDate(int toolTypeId, long headerId); string GetAttachmentInsertDateByGUID(string tableName, Guid attachmentId); void SetHeaderDirName(string tableName, long headerId, string dateDir); Guid GetDataAttachmentID(int toolTypeId, long headerId, string title); string GetDataInsertDate(int toolTypeId, long headerId, string title); void SetDataDirName(string tableName, long headerId, string title, string dateDir); DataSet GetOIExportData(int toolTypeId, long headerid); IEnumerable> GetHeaderFields(int toolTypeId, long headerid); IEnumerable GetAwaitingDisposition(); int UpdateReviewDate(int toolTypeId, long headerId, bool clearDate); }