public AddItemData AddItemToDB(AddItem ItemAddItemData) { Object PlayerObjectData; TransactionData Tran; AddItemData Result; Result = new AddItemData() { Status = false }; var _db = new PangyaEntities(); var additem = _db.ProcAddItem((int)UID, (int)ItemAddItemData.ItemIffId, (int)ItemAddItemData.Quantity, Compare.IfCompare <byte>(IFFEntry.GetIff.IsSelfDesign(ItemAddItemData.ItemIffId), 1, 0), IFFEntry.GetIff.GetItemTimeFlag(ItemAddItemData.ItemIffId, ItemAddItemData.Day), (int)ItemAddItemData.Day).ToList(); if (additem.Count > 0) { var dbdata = additem.FirstOrDefault(); Tran = new TransactionData() { Types = 2, Index = (uint)dbdata.IDX, TypeID = (uint)dbdata.iffTypeId, PreviousQuan = 0, NewQuan = (uint)dbdata.Quantity, UCC = dbdata.UCC_KEY }; ItemTransaction.Add(Tran); try { switch (ItemAddItemData.ItemIffId.GetItemGroup()) { case IffGroupFlag.ITEM_TYPE_CHARACTER: { PlayerObjectData = new CharacterData(); ((CharacterData)(PlayerObjectData)).Index = (uint)dbdata.IDX; ((CharacterData)(PlayerObjectData)).TypeID = (uint)dbdata.iffTypeId; ((CharacterData)(PlayerObjectData)).HairColour = 0; ((CharacterData)(PlayerObjectData)).GiftFlag = 0; ItemCharacter.CharacterAdd((CharacterData)(PlayerObjectData)); CharacterIndex = (uint)dbdata.IDX; Result = new AddItemData() { Status = true, ItemIndex = ((CharacterData)(PlayerObjectData)).Index, ItemTypeID = ((CharacterData)(PlayerObjectData)).TypeID, ItemOldQty = 1, ItemNewQty = 1, ItemUCCKey = string.Empty, ItemFlag = 0, ItemEndDate = DateTime.MinValue, }; } break; case IffGroupFlag.ITEM_TYPE_AUX: case IffGroupFlag.ITEM_TYPE_PART: case IffGroupFlag.ITEM_TYPE_CLUB: case IffGroupFlag.ITEM_TYPE_BALL: case IffGroupFlag.ITEM_TYPE_USE: case IffGroupFlag.ITEM_TYPE_SKIN: { PlayerObjectData = new WarehouseData(); ((WarehouseData)(PlayerObjectData)).ItemIndex = (uint)dbdata.IDX; ((WarehouseData)(PlayerObjectData)).ItemTypeID = (uint)dbdata.iffTypeId; ((WarehouseData)(PlayerObjectData)).ItemC0 = (ushort)dbdata.Quantity; ((WarehouseData)(PlayerObjectData)).ItemUCCUnique = dbdata.UCC_KEY; ((WarehouseData)(PlayerObjectData)).CreateNewItem(); // Add to inventory list ItemWarehouse.ItemAdd((WarehouseData)(PlayerObjectData)); // Set the result data Result = new AddItemData() { Status = true, ItemIndex = ((WarehouseData)(PlayerObjectData)).ItemIndex, ItemTypeID = ((WarehouseData)(PlayerObjectData)).ItemTypeID, ItemOldQty = 0, ItemNewQty = ItemAddItemData.Quantity, ItemUCCKey = ((WarehouseData)(PlayerObjectData)).ItemUCCUnique, ItemFlag = 0, ItemEndDate = null, }; } break; case IffGroupFlag.ITEM_TYPE_CADDIE: { PlayerObjectData = new CaddieData(); ((CaddieData)(PlayerObjectData)).CaddieIdx = (uint)dbdata.IDX; ((CaddieData)(PlayerObjectData)).CaddieTypeId = (uint)dbdata.iffTypeId; ((CaddieData)(PlayerObjectData)).CaddieDateEnd = (DateTime)dbdata.END_DATE; ((CaddieData)(PlayerObjectData)).CaddieAutoPay = 0; ((CaddieData)(PlayerObjectData)).CaddieType = (byte)dbdata.Flag; // Add caddie to inventory list ItemCaddie.CadieAdd((CaddieData)(PlayerObjectData)); // set the result data Result = new AddItemData() { Status = true, ItemIndex = ((CaddieData)(PlayerObjectData)).CaddieIdx, ItemTypeID = ((CaddieData)(PlayerObjectData)).CaddieTypeId, ItemOldQty = 0, ItemNewQty = 1, ItemUCCKey = string.Empty, ItemFlag = ((CaddieData)(PlayerObjectData)).CaddieType, ItemEndDate = null, }; } break; case IffGroupFlag.ITEM_TYPE_CARD: { PlayerObjectData = new CardData(); ((CardData)(PlayerObjectData)).CardIndex = (uint)dbdata.IDX; ((CardData)(PlayerObjectData)).CardTypeID = (uint)dbdata.iffTypeId; ((CardData)(PlayerObjectData)).CardQuantity = ItemAddItemData.Quantity; ((CardData)(PlayerObjectData)).CardIsValid = 1; ((CardData)(PlayerObjectData)).CardNeedUpdate = false; // ## add to card ItemCard.CardAdd((CardData)(PlayerObjectData)); // set the result data Result = new AddItemData() { Status = true, ItemIndex = ((CardData)(PlayerObjectData)).CardIndex, ItemTypeID = ((CardData)(PlayerObjectData)).CardTypeID, ItemOldQty = 0, ItemNewQty = ((CardData)(PlayerObjectData)).CardQuantity, ItemUCCKey = string.Empty, ItemFlag = 0, ItemEndDate = null, }; } break; case IffGroupFlag.ITEM_TYPE_MASCOT: { PlayerObjectData = new MascotData(); ((MascotData)(PlayerObjectData)).MascotIndex = (uint)dbdata.IDX; ((MascotData)(PlayerObjectData)).MascotTypeID = (uint)dbdata.iffTypeId; ((MascotData)(PlayerObjectData)).MascotMessage = "Pangya !"; ((MascotData)(PlayerObjectData)).MascotIsValid = 1; ((MascotData)(PlayerObjectData)).MascotNeedUpdate = false; ((MascotData)(PlayerObjectData)).MascotEndDate = (DateTime)dbdata.END_DATE; ((MascotData)(PlayerObjectData)).MascotDayToEnd = (ushort)dbdata.END_DATE.DaysBetween(DateTime.Now); // ## add to card ItemMascot.MascotAdd((MascotData)(PlayerObjectData)); // set the result data Result = new AddItemData() { Status = true, ItemIndex = ((MascotData)(PlayerObjectData)).MascotIndex, ItemTypeID = ((MascotData)(PlayerObjectData)).MascotTypeID, ItemOldQty = 0, ItemNewQty = 1, ItemUCCKey = string.Empty, ItemFlag = 4, ItemEndDate = DateTime.Now.AddDays(ItemAddItemData.Day + 1), }; } break; } } catch { } } // ## resulted return(Result); }
public AddItemData Remove(uint ItemIffId, uint Index, uint Quantity, bool Transaction = true) { AddItemData ItemDeletedData; WarehouseData Items; CardData Cards; TransactionData Tran; ItemDeletedData = new AddItemData() { Status = false }; if (UID <= 0) { return(ItemDeletedData); } if (ItemIffId <= 0 && Quantity <= 0) { return(ItemDeletedData); } switch (ItemIffId.GetItemGroup()) { case IffGroupFlag.ITEM_TYPE_CLUB: case IffGroupFlag.ITEM_TYPE_USE: { Items = ItemWarehouse.GetItem(ItemIffId, Index, Quantity); if (!(Items == null)) { ItemDeletedData.Status = true; ItemDeletedData.ItemIndex = Items.ItemIndex; ItemDeletedData.ItemTypeID = Items.ItemTypeID; ItemDeletedData.ItemOldQty = Items.ItemC0; ItemDeletedData.ItemNewQty = Items.ItemC0 - Quantity; ItemDeletedData.ItemUCCKey = Items.ItemUCCUnique; ItemDeletedData.ItemFlag = 0; ItemDeletedData.ItemEndDate = null; if (Transaction) { Tran = new TransactionData() { UCC = "", Types = 2, TypeID = Items.ItemTypeID, Index = Items.ItemIndex, PreviousQuan = Items.ItemC0, NewQuan = Items.ItemC0 - Quantity }; ItemTransaction.Add(Tran); } } // update item info Items.RemoveQuantity(Quantity); return(ItemDeletedData); } case IffGroupFlag.ITEM_TYPE_PART: { Items = ItemWarehouse.GetItem(ItemIffId, Index, 0); // ## part should be zero if (!(Items == null)) { ItemDeletedData.Status = true; ItemDeletedData.ItemIndex = Items.ItemIndex; ItemDeletedData.ItemTypeID = Items.ItemTypeID; ItemDeletedData.ItemOldQty = 1; ItemDeletedData.ItemNewQty = 0; ItemDeletedData.ItemUCCKey = Items.ItemUCCUnique; ItemDeletedData.ItemFlag = 0; ItemDeletedData.ItemEndDate = null; if (Transaction) { Tran = new TransactionData() { UCC = "", Types = 2, TypeID = Items.ItemTypeID, Index = Items.ItemIndex, PreviousQuan = 1, NewQuan = 0 }; ItemTransaction.Add(Tran); } } // update item info Items.RemoveQuantity(Quantity); return(ItemDeletedData); } case IffGroupFlag.ITEM_TYPE_CARD: { Cards = ItemCard.GetCard(ItemIffId, Index, Quantity); if (!(Cards == null)) { ItemDeletedData.Status = true; ItemDeletedData.ItemIndex = Cards.CardIndex; ItemDeletedData.ItemTypeID = Cards.CardTypeID; ItemDeletedData.ItemOldQty = Cards.CardQuantity; ItemDeletedData.ItemNewQty = Cards.CardQuantity - Quantity; ItemDeletedData.ItemUCCKey = string.Empty; ItemDeletedData.ItemFlag = 0; ItemDeletedData.ItemEndDate = null; if (Transaction) { Tran = new TransactionData() { UCC = "", Types = 2, TypeID = Cards.CardTypeID, Index = Cards.CardIndex, PreviousQuan = Cards.CardQuantity, NewQuan = Cards.CardQuantity - Quantity }; ItemTransaction.Add(Tran); } } // update item info Cards.RemoveQuantity(Quantity); return(ItemDeletedData); } } ItemDeletedData.SetData(false, 0, 0, 0, 0, string.Empty, 0, DateTime.Now); return(ItemDeletedData); }