75 lines
3.1 KiB
C#
75 lines
3.1 KiB
C#
using Google.Protobuf;
|
|
using Google.Protobuf.WellKnownTypes;
|
|
|
|
|
|
using ServerCore;
|
|
using ServerBase;
|
|
using ServerCommon;
|
|
using ServerCommon.BusinessLogDomain;
|
|
using MetaAssets;
|
|
|
|
|
|
namespace ServerCommon;
|
|
|
|
public static class TransactionRunnerHelper
|
|
{
|
|
|
|
public static async Task onApplyCommonResultOfInsertedItem( this TransactionRunner transactionRunner
|
|
, ItemBase insertedItemInBag )
|
|
{
|
|
await Task.CompletedTask;
|
|
|
|
var owner = transactionRunner.getOwner();
|
|
NullReferenceCheckHelper.throwIfNull(owner, () => $"owner is null !!!");
|
|
ArgumentNullReferenceCheckHelper.throwIfNull(insertedItemInBag, () => $"insertedItemInBag is null !!! - {owner.toBasicString()}");
|
|
|
|
var item_attribute_base = insertedItemInBag.getEntityAttribute<ItemAttributeBase>();
|
|
NullReferenceCheckHelper.throwIfNull(item_attribute_base, () => $"item_attribute_base is null !!! - {owner.toBasicString()}");
|
|
|
|
(var result, var entity_common_result) = transactionRunner.getOrNewEntityCommonResult(item_attribute_base);
|
|
if (result.isFail())
|
|
{
|
|
Log.getLogger().fatal(result.toBasicString());
|
|
|
|
// 유저 로그 아웃 처리 필요 !!!
|
|
return;
|
|
}
|
|
NullReferenceCheckHelper.throwIfNull(entity_common_result, () => $"entity_common_result is null !!! - {owner.toBasicString()}");
|
|
|
|
var item_result = entity_common_result.Item;
|
|
NullReferenceCheckHelper.throwIfNull(item_result, () => $"item_result is null !!! - {owner.toBasicString()}");
|
|
|
|
var item_guid = item_attribute_base.ItemGuid;
|
|
item_result.NewItems.TryAdd(item_guid, item_attribute_base.toItemData4Client());
|
|
}
|
|
|
|
public static async Task onApplyCommonResultOfDeletedItem( this TransactionRunner transactionRunner
|
|
, ItemBase deletedItemInBag )
|
|
{
|
|
await Task.CompletedTask;
|
|
|
|
var owner = transactionRunner.getOwner();
|
|
NullReferenceCheckHelper.throwIfNull(owner, () => $"owner is null !!!");
|
|
NullReferenceCheckHelper.throwIfNull(deletedItemInBag, () => $"deletedItemInBag is null !!! - {owner.toBasicString()}");
|
|
|
|
var item_attribute_base = deletedItemInBag.getEntityAttribute<ItemAttributeBase>();
|
|
NullReferenceCheckHelper.throwIfNull(item_attribute_base, () => $"item_attribute_base is null !!! - {owner.toBasicString()}");
|
|
|
|
(var result, var entity_common_result) = transactionRunner.getOrNewEntityCommonResult(item_attribute_base);
|
|
if (result.isFail())
|
|
{
|
|
Log.getLogger().fatal(result.toBasicString());
|
|
|
|
// 유저 로그 아웃 처리 필요 !!!
|
|
return;
|
|
}
|
|
NullReferenceCheckHelper.throwIfNull(entity_common_result, () => $"entity_common_result is null !!! - {owner.toBasicString()}");
|
|
|
|
var item_result = entity_common_result.Item;
|
|
NullReferenceCheckHelper.throwIfNull(item_result, () => $"item_result is null !!! - {owner.toBasicString()}");
|
|
|
|
var item_guid = item_attribute_base.ItemGuid;
|
|
item_result.DeletedItems.Add(item_guid);
|
|
}
|
|
}
|