Files
caliverse_server/ServerBase/DB/Query_GetSet.cs
2025-05-01 07:20:41 +09:00

195 lines
7.1 KiB
C#

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<ILogInvoker> 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<IQueryDbRequester> getDbRequesters() => m_db_requesters;
public List<AmazonWebServiceResponse> 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<TDbRequestType> 의 GetSet 함수들
//==============================================================================================
public abstract partial class QueryDbRequesterWithItemRequestBase<TDbRequestType> : 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<TDbRequestType> 의 GetSet 함수들
//==============================================================================================
public abstract partial class QueryDbRequesterWithDocumentBatchWriteBase<TDbRequestType> : 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<TDbRequestType> 의 GetSet 함수들
//==============================================================================================
public abstract partial class QueryDbRequesterWithDocumentBatchGetBase<TDbRequestType> : 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<TDbRequestType> 의 GetSet 함수들
//==============================================================================================
public abstract partial class QueryDbRequesterWithDocumentTransactWriteBase<TDbRequestType> : 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<TDbRequestType> 의 GetSet 함수들
//==============================================================================================
public abstract partial class QueryDbRequesterWithDocumentTransactGetBase<TDbRequestType> : 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();
}
}