using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections.Concurrent; using Amazon.Runtime; using Amazon.DynamoDBv2; using Amazon.DynamoDBv2.Model; using Amazon.DynamoDBv2.DocumentModel; using ServerCore; using ServerBase; namespace ServerBase; //============================================================================================== // QueryContextBase 의 GetSet 함수들 //============================================================================================== public abstract partial class QueryExecutorBase { public void setQueryBatch(QueryBatchBase parent) => m_parent = parent; public QueryBatchBase? getQueryBatch() => m_parent; public string getQueryName() => m_query_name; } //============================================================================================== // QueryBatchBase 의 GetSet 함수들 //============================================================================================== public abstract partial class QueryBatchBase { public bool isUseTransact() => m_is_use_transact; public string getTransId() => m_trans_id; public bool hasQuery() => 0 < m_querys.Count; public Int32 getQueryCount() => m_querys.Count; public IWithLogActor getLogActor() => m_log_actor; public void setLogActor(IWithLogActor logActor) => m_log_actor = logActor; public IQueryRunner getQueryRunner() => m_query_runner; public DynamoDbClient getDynamoDbConnector() => m_dynamo_db_connector; public LogAction getLogAction() => m_log_action; public List getLogInvokers() => m_business_logs; } //============================================================================================== // QueryRunnerWithItemRequest 의 GetSet 함수들 //============================================================================================== public partial class QueryRunnerWithItemRequest : IQueryRunner { public QueryBatchBase? getQueryBatch() => m_query_batch; public void setQueryBatch(QueryBatchBase queryBatch) => m_query_batch = queryBatch; public List getDbRequesters() => m_db_requesters; public List getDbResponses() => m_db_responses; public void addDbResponse(AmazonWebServiceResponse dbResponse) { m_db_responses.Add(dbResponse); } } //============================================================================================== // QueryRunnerWithDocument 의 GetSet 함수들 //============================================================================================== public partial class QueryRunnerWithDocument : IQueryRunner { public QueryBatchBase? getQueryBatch() => m_query_batch; public void setQueryBatch(QueryBatchBase queryBatch) => m_query_batch = queryBatch; } //============================================================================================== // QueryDbRequesterWithItemRequestBase 의 GetSet 함수들 //============================================================================================== public abstract partial class QueryDbRequesterWithItemRequestBase : IQueryDbRequester { public TDbRequestType getDbRequestGenericType() => m_db_request; public void setQueryBatch(QueryBatchBase queryBatch) => m_query_batch = queryBatch; public QueryBatchBase? getQueryBatch() => m_query_batch; public Int32 getQueryCount() { NullReferenceCheckHelper.throwIfNull(m_query_batch, () => $"m_query_batch is null !!!"); return m_query_batch.getQueryCount(); } } //============================================================================================== // QueryDbRequesterWithDocumentBatchWriteBase 의 GetSet 함수들 //============================================================================================== public abstract partial class QueryDbRequesterWithDocumentBatchWriteBase : IQueryDbRequester, IWithDocumentModel where TDbRequestType : DocumentBatchWrite { public TDbRequestType? getDbRequestGenericType() => m_db_request; public Table? getTable() => m_table; public void setQueryBatch(QueryBatchBase queryBatch) => m_query_batch = queryBatch; public QueryBatchBase? getQueryBatch() => m_query_batch; public Int32 getQueryCount() { NullReferenceCheckHelper.throwIfNull(m_query_batch, () => $"m_query_batch is null !!!"); return m_query_batch.getQueryCount(); } } //============================================================================================== // QueryDbRequesterWithDocumentBatchGetBase 의 GetSet 함수들 //============================================================================================== public abstract partial class QueryDbRequesterWithDocumentBatchGetBase : IQueryDbRequester, IWithDocumentModel where TDbRequestType : DocumentBatchGet { public TDbRequestType? getDbRequestGenericType() => m_db_request; public Table? getTable() => m_table; public void setQueryBatch(QueryBatchBase queryBatch) => m_query_batch = queryBatch; public QueryBatchBase? getQueryBatch() => m_query_batch; public Int32 getQueryCount() { NullReferenceCheckHelper.throwIfNull(m_query_batch, () => $"m_query_batch is null !!!"); return m_query_batch.getQueryCount(); } } //============================================================================================== // QueryDbRequesterWithDocumentTransactWriteBase 의 GetSet 함수들 //============================================================================================== public abstract partial class QueryDbRequesterWithDocumentTransactWriteBase : IQueryDbRequester, IWithDocumentModel where TDbRequestType : DocumentTransactWrite { public TDbRequestType? getDbRequestGenericType() => m_db_request; public Table? getTable() => m_table; public void setQueryBatch(QueryBatchBase queryBatch) => m_query_batch = queryBatch; public QueryBatchBase? getQueryBatch() => m_query_batch; public Int32 getQueryCount() { NullReferenceCheckHelper.throwIfNull(m_query_batch, () => $"m_query_batch is null !!!"); return m_query_batch.getQueryCount(); } } //============================================================================================== // QueryDbRequesterWithDocumentTransactGetBase 의 GetSet 함수들 //============================================================================================== public abstract partial class QueryDbRequesterWithDocumentTransactGetBase : IQueryDbRequester, IWithDocumentModel where TDbRequestType : DocumentTransactGet { public TDbRequestType? getDbRequestGenericType() => m_db_request; public Table? getTable() => m_table; public void setQueryBatch(QueryBatchBase queryBatch) => m_query_batch = queryBatch; public QueryBatchBase? getQueryBatch() => m_query_batch; public Int32 getQueryCount() { NullReferenceCheckHelper.throwIfNull(m_query_batch, () => $"m_query_batch is null !!!"); return m_query_batch.getQueryCount(); } }