초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,154 @@
using Newtonsoft.Json;
using ServerCore; using ServerBase;
namespace ServerCommon;
public class CaliumStorageAttribute : EntityAttributeBase, ICopyEntityAttributeFromDoc, IMergeWithEntityAttribute
{
[JsonProperty]
public double ConverterTotalCalium { get; set; }
[JsonProperty]
public double DailyConvertRate { get; set; }
[JsonProperty]
public double OperatorTotalCalium { get; set; }
[JsonProperty]
public int DailyApplyEpoch { get; set; }
[JsonProperty]
public double DailyInflationRate { get; set; }
[JsonProperty]
public DateTime DailyPivotDate { get; set; } = DateTimeHelper.MinTime;
public CaliumStorageAttribute(EntityBase owner) : base(owner, false) {}
public override void onClear()
{
ConverterTotalCalium = 0.0;
DailyConvertRate = 0.0;
OperatorTotalCalium = 0.0;
DailyApplyEpoch = 0;
DailyInflationRate = 0.0;
DailyPivotDate = DateTimeHelper.MinTime;
getAttributeState().reset();
}
public override EntityAttributeBase onCloned()
{
var cloned = new CaliumStorageAttribute(getOwner());
cloned.ConverterTotalCalium = ConverterTotalCalium;
cloned.DailyConvertRate = DailyConvertRate;
cloned.OperatorTotalCalium = OperatorTotalCalium;
cloned.DailyApplyEpoch = DailyApplyEpoch;
cloned.DailyInflationRate = DailyInflationRate;
cloned.DailyPivotDate = DailyPivotDate;
return cloned;
}
public override IEntityAttributeTransactor onNewEntityAttributeTransactor()
{
return new CaliumStorageAttributeTransactor(getOwner());
}
public Result onMerge(EntityAttributeBase otherEntityAttribute)
{
var owner = getOwner();
ArgumentNullReferenceCheckHelper.throwIfNull(otherEntityAttribute, () => $"otherEntityAttribute is null !!! - {owner.toBasicString()}");
var result = new Result();
string err_msg;
//=====================================================================================
// OtherAttribute => Attribute
//=====================================================================================
var calium_storage_attribute = otherEntityAttribute as CaliumStorageAttribute;
if (null == calium_storage_attribute)
{
err_msg = $"Failed to cast CaliumAttribute !!!, calium_storage_attribute is null - {toBasicString()}, {owner.toBasicString()}";
result.setFail(ServerErrorCode.ClassTypeCastIsNull, err_msg);
Log.getLogger().error(result.toBasicString());
return result;
}
ConverterTotalCalium = calium_storage_attribute.ConverterTotalCalium;
DailyConvertRate = calium_storage_attribute.DailyConvertRate;
OperatorTotalCalium = calium_storage_attribute.OperatorTotalCalium;
DailyApplyEpoch = calium_storage_attribute.DailyApplyEpoch;
DailyInflationRate = calium_storage_attribute.DailyInflationRate;
DailyPivotDate = calium_storage_attribute.DailyPivotDate;
return result;
}
public bool copyEntityAttributeFromDoc(DynamoDbDocBase? newDocBase)
{
var owner = getOwner();
var calium_storage_doc = newDocBase as CaliumStorageDoc;
if (null == calium_storage_doc)
{
var err_msg = $"calium_doc is null !!!, in copyEntityAttributeFromDoc() - docName:{nameof(CaliumStorageDoc)} - {owner.toBasicString()}";
Log.getLogger().error(err_msg);
return false;
}
//=====================================================================================
// Origin Doc => Attribute
//=====================================================================================
var calium_storage_attrib = calium_storage_doc.getAttrib<CaliumStorageAttrib>();
NullReferenceCheckHelper.throwIfNull(calium_storage_attrib, () => $"calium_storage_attrib is null !!! - {owner.toBasicString()}");
ConverterTotalCalium = calium_storage_attrib.ConverterStorage.TotalCalium;
DailyConvertRate = calium_storage_attrib.ConverterStorage.DailyConvertRate;
DailyPivotDate = calium_storage_attrib.DailyPivotDate;
DailyApplyEpoch = calium_storage_attrib.DailyEpoch;
OperatorTotalCalium = calium_storage_attrib.OperatorStorage.TotalCalium;
DailyInflationRate = calium_storage_attrib.ExchangerStorage.DailyInflationRate;
return true;
}
}
public class CaliumStorageAttributeTransactor : EntityAttributeTransactorBase<CaliumAttribute>, ICopyEntityAttributeTransactorFromEntityAttribute
{
public CaliumStorageAttributeTransactor(EntityBase owner) : base(owner) { }
public bool copyEntityAttributeTransactorFromEntityAttribute(EntityAttributeBase? entityAttributeBase)
{
string err_msg;
var copy_from_calium_storage_attribute = entityAttributeBase as CaliumStorageAttribute;
if (null == copy_from_calium_storage_attribute)
{
err_msg = $"Failed to copyEntityAttributeTransactorFromEntityAttribute() !!!, copy_from_calium_storage_attribute is null :{nameof(CaliumAttribute)}";
Log.getLogger().error(err_msg);
return false;
}
var copy_to_calium_storage_attribute = getClonedEntityAttribute() as CaliumStorageAttribute;
if (null == copy_to_calium_storage_attribute)
{
err_msg = $"Failed to copyEntityAttributeTransactorFromEntityAttribute() !!!, copy_to_calium_storage_attribute is null :{nameof(CaliumAttribute)}";
Log.getLogger().error(err_msg);
return false;
}
copy_to_calium_storage_attribute.ConverterTotalCalium = copy_from_calium_storage_attribute.ConverterTotalCalium;
copy_to_calium_storage_attribute.DailyConvertRate = copy_from_calium_storage_attribute.DailyConvertRate;
copy_to_calium_storage_attribute.OperatorTotalCalium = copy_from_calium_storage_attribute.OperatorTotalCalium;
copy_to_calium_storage_attribute.DailyApplyEpoch = copy_from_calium_storage_attribute.DailyApplyEpoch;
copy_to_calium_storage_attribute.DailyInflationRate = copy_from_calium_storage_attribute.DailyInflationRate;
copy_to_calium_storage_attribute.DailyPivotDate = copy_from_calium_storage_attribute.DailyPivotDate;
return true;
}
}