뽑기 기능 문제 해결

This commit is contained in:
김판돌 2024-03-10 14:19:15 +09:00
parent a7d69bf578
commit a8913ff036
2 changed files with 46 additions and 27 deletions

View File

@ -6,8 +6,6 @@ namespace Server.Manager
{ {
public class ItemManager public class ItemManager
{ {
private static readonly NLog.ILogger logger = LogManager.GetCurrentClassLogger();
User user; User user;
public ItemBox box; public ItemBox box;
@ -205,23 +203,23 @@ namespace Server.Manager
switch (randomRewardDatas[selectItem].reward_item_type) switch (randomRewardDatas[selectItem].reward_item_type)
{ {
case eRewardItemType.gold: case eRewardItemType.gold:
user.gold += (randomRewardDatas[selectItem].return_count * count); user.gold += randomRewardDatas[selectItem].return_count;
break; break;
case eRewardItemType.freecash: case eRewardItemType.freecash:
user.free_cash += (randomRewardDatas[selectItem].return_count * count); user.free_cash += randomRewardDatas[selectItem].return_count;
break; break;
case eRewardItemType.paycash: case eRewardItemType.paycash:
user.pay_cash += (randomRewardDatas[selectItem].return_count * count); user.pay_cash += randomRewardDatas[selectItem].return_count;
break; break;
case eRewardItemType.character: case eRewardItemType.character:
DeckUnitInfo deckUnitInfo = new DeckUnitInfo(); DeckUnitInfo deckUnitInfo = new DeckUnitInfo();
deckUnitInfo.user_id = user.id; deckUnitInfo.user_id = user.id;
deckUnitInfo.unit_data_id = randomRewardDatas[selectItem].reward; deckUnitInfo.unit_data_id = randomRewardDatas[selectItem].reward;
deckUnitInfo.count = (randomRewardDatas[selectItem].return_count * count); deckUnitInfo.count = (randomRewardDatas[selectItem].return_count);
box.Add(deckUnitInfo); box.Add(deckUnitInfo);
break; break;
case eRewardItemType.equipment: case eRewardItemType.equipment:
int reward_count = (randomRewardDatas[selectItem].return_count * count); int reward_count = randomRewardDatas[selectItem].return_count;
for (int m = 0; m < reward_count; m++) for (int m = 0; m < reward_count; m++)
{ {
Equipment equipment = new Equipment(); Equipment equipment = new Equipment();
@ -237,14 +235,14 @@ namespace Server.Manager
ConsumableItem consumableItem = new ConsumableItem(); ConsumableItem consumableItem = new ConsumableItem();
consumableItem.user_id = user.id; consumableItem.user_id = user.id;
consumableItem.consumable_item_data_id = randomRewardDatas[selectItem].reward; consumableItem.consumable_item_data_id = randomRewardDatas[selectItem].reward;
consumableItem.count = (randomRewardDatas[selectItem].return_count * count); consumableItem.count = randomRewardDatas[selectItem].return_count;
box.Add(consumableItem); box.Add(consumableItem);
break; break;
case eRewardItemType.etc: case eRewardItemType.etc:
EtcItem etcItem = new EtcItem(); EtcItem etcItem = new EtcItem();
etcItem.user_id = user.id; etcItem.user_id = user.id;
etcItem.etc_item_data_id = randomRewardDatas[selectItem].reward; etcItem.etc_item_data_id = randomRewardDatas[selectItem].reward;
etcItem.count = (randomRewardDatas[selectItem].return_count * count); etcItem.count = randomRewardDatas[selectItem].return_count;
box.Add(etcItem); box.Add(etcItem);
break; break;
default: default:
@ -300,35 +298,58 @@ namespace Server.Manager
Statics.userSQL.SaveChanges(); Statics.userSQL.SaveChanges();
if (addDeckUnitInfo.Count != 0) if (addDeckUnitInfo.Count != 0)
{ {
Statics.deckUnitInfoSQL.Insert(addDeckUnitInfo); List<DeckUnitInfo> newItem = new List<DeckUnitInfo>();
foreach (var item in _deckUnitInfo)
{
if(item.id == 0)
{
newItem.Add(item);
}
}
if (newItem.Count != 0)
Statics.deckUnitInfoSQL.Insert(newItem);
Statics.deckUnitInfoSQL.SaveChanges(); Statics.deckUnitInfoSQL.SaveChanges();
} }
if (addEquipment.Count != 0) if (addEquipment.Count != 0)
{ {
Statics.equipmentrSQL.Insert(addEquipment); List<Equipment> newItem = new List<Equipment>();
foreach (var item in _equipment)
{
if (item.id == 0)
{
newItem.Add(item);
}
}
if (newItem.Count != 0)
Statics.equipmentrSQL.Insert(newItem);
Statics.equipmentrSQL.SaveChanges(); Statics.equipmentrSQL.SaveChanges();
} }
if (addConsumableItem.Count != 0) if (addConsumableItem.Count != 0)
{ {
for (int n = 0; n < addConsumableItem.Count; n++) List<ConsumableItem> newItem = new List<ConsumableItem>();
foreach (var item in _consumableItem)
{ {
if (addConsumableItem[n].id == 0) if (item.id == 0)
Statics.consumableItemSQL.Insert(addConsumableItem[n]); {
else newItem.Add(item);
Statics.consumableItemSQL.Update(_consumableItem[_consumableItem.FindIndex(item => item.id == addConsumableItem[n].id)]);
} }
}
if (newItem.Count != 0)
Statics.consumableItemSQL.Insert(newItem);
Statics.consumableItemSQL.SaveChanges(); Statics.consumableItemSQL.SaveChanges();
} }
if (addEtcItem.Count != 0) if (addEtcItem.Count != 0)
{ {
for (int n = 0; n < addEtcItem.Count; n++) List<EtcItem> newItem = new List<EtcItem>();
foreach (var item in _etcItem)
{ {
if (addEtcItem[n].id == 0) if (item.id == 0)
Statics.etcItemSQL.Insert(addEtcItem[n]); {
else newItem.Add(item);
Statics.etcItemSQL.Update(_etcItem[_etcItem.FindIndex(item => item.id == addEtcItem[n].id)]);
} }
}
if (newItem.Count != 0)
Statics.etcItemSQL.Insert(newItem);
Statics.etcItemSQL.SaveChanges(); Statics.etcItemSQL.SaveChanges();
} }
} }
@ -352,7 +373,7 @@ namespace Server.Manager
} }
else else
{ {
addDeckUnitInfo[index].count += item.count; addDeckUnitInfo[addIndex].count += item.count;
} }
return true; return true;
@ -404,7 +425,7 @@ namespace Server.Manager
} }
else else
{ {
addConsumableItem[index].count += item.count; addConsumableItem[addIndex].count += item.count;
} }
return true; return true;
} }
@ -438,7 +459,7 @@ namespace Server.Manager
} }
else else
{ {
addEtcItem[index].count += item.count; addEtcItem[addIndex].count += item.count;
} }
return true; return true;
} }

View File

@ -21,13 +21,11 @@ namespace Server.SQL
public void Insert(T newData) public void Insert(T newData)
{ {
table.Add(newData); table.Add(newData);
SaveChanges();
} }
public void Insert(List<T> newData) public void Insert(List<T> newData)
{ {
table.AddRange(newData); table.AddRange(newData);
SaveChanges();
} }
// Update 예시 // Update 예시