public string GetSqlUpdateString() { StringBuilder SQLString; SQLString = new StringBuilder(); try { SQLString.Append('^'); SQLString.Append(ItemIndex); SQLString.Append('^'); SQLString.Append(ItemC0); SQLString.Append('^'); SQLString.Append(ItemC1); SQLString.Append('^'); SQLString.Append(ItemC2); SQLString.Append('^'); SQLString.Append(ItemC3); SQLString.Append('^'); SQLString.Append(ItemC4); SQLString.Append('^'); SQLString.Append(ItemIsValid); SQLString.Append('^'); SQLString.Append(IfCompare <byte>(IffEntry.IsSelfDesign(ItemTypeID), 1, 0)); SQLString.Append('^'); SQLString.Append(ItemUCCStatus ?? 0); SQLString.Append('^'); SQLString.Append(ItemUCCUnique ?? "0"); SQLString.Append('^'); SQLString.Append(GetSQLTime(ItemEndDate)); SQLString.Append('^'); SQLString.Append(ItemFlag ?? 0); SQLString.Append('^'); // { CLUB SET DATA } SQLString.Append(ItemClubPoint); SQLString.Append('^'); SQLString.Append(ItemClubWorkCount); SQLString.Append('^'); SQLString.Append(ItemClubPointLog); SQLString.Append('^'); SQLString.Append(ItemClubPangLog); SQLString.Append('^'); SQLString.Append(ItemC0Slot); SQLString.Append('^'); SQLString.Append(ItemC1Slot); SQLString.Append('^'); SQLString.Append(ItemC2Slot); SQLString.Append('^'); SQLString.Append(ItemC3Slot); SQLString.Append('^'); SQLString.Append(ItemC4Slot); SQLString.Append('^'); SQLString.Append(ItemClubSlotCancelledCount); SQLString.Append('^'); SQLString.Append(IfCompare <byte>(GetItemGroup(ItemTypeID) == 4, 1, 0)); SQLString.Append(','); // close for next player var data = SQLString.ToString(); return(data); } finally { SQLString = null; } }
public AddData AddItemToDB(AddItem ItemAddData) { Object TPlayerItemData; PlayerTransactionData Tran; AddData Result; Result = new AddData() { Status = false }; var _db = new PangyaEntities(); var additem = _db.ProcAddItem((int)UID, (int)ItemAddData.ItemIffId, (int)ItemAddData.Quantity, IfCompare <byte>(IffEntry.IsSelfDesign(ItemAddData.ItemIffId), 1, 0), IffEntry.GetItemTimeFlag(ItemAddData.ItemIffId, ItemAddData.Day), (int)ItemAddData.Day).ToList(); if (additem.Count > 0) { var dbdata = additem.FirstOrDefault(); Tran = new PlayerTransactionData() { 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 ((TITEMGROUP)GetPartGroup(ItemAddData.ItemIffId)) { case TITEMGROUP.ITEM_TYPE_CHARACTER: { TPlayerItemData = new PlayerCharacterData(); ((PlayerCharacterData)(TPlayerItemData)).Index = (uint)dbdata.IDX; ((PlayerCharacterData)(TPlayerItemData)).TypeID = (uint)dbdata.iffTypeId; ((PlayerCharacterData)(TPlayerItemData)).HairColour = 0; ((PlayerCharacterData)(TPlayerItemData)).GiftFlag = 0; ItemCharacter.CharacterAdd((PlayerCharacterData)(TPlayerItemData)); CharacterIndex = (uint)dbdata.IDX; Result = new AddData() { Status = true, ItemIndex = ((PlayerCharacterData)(TPlayerItemData)).Index, ItemTypeID = ((PlayerCharacterData)(TPlayerItemData)).TypeID, ItemOldQty = 1, ItemNewQty = 1, ItemUCCKey = string.Empty, ItemFlag = 0, ItemEndDate = DateTime.MinValue, }; } break; case TITEMGROUP.ITEM_TYPE_AUX: case TITEMGROUP.ITEM_TYPE_PART: case TITEMGROUP.ITEM_TYPE_CLUB: case TITEMGROUP.ITEM_TYPE_BALL: case TITEMGROUP.ITEM_TYPE_USE: { TPlayerItemData = new PlayerItemData(); ((PlayerItemData)(TPlayerItemData)).ItemIndex = (uint)dbdata.IDX; ((PlayerItemData)(TPlayerItemData)).ItemTypeID = (uint)dbdata.iffTypeId; ((PlayerItemData)(TPlayerItemData)).ItemC0 = (ushort)dbdata.Quantity; ((PlayerItemData)(TPlayerItemData)).ItemUCCUnique = dbdata.UCC_KEY; ((PlayerItemData)(TPlayerItemData)).CreateNewItem(); // Add to inventory list ItemWarehouse.ItemAdd((PlayerItemData)(TPlayerItemData)); // Set the result data Result = new AddData() { Status = true, ItemIndex = ((PlayerItemData)(TPlayerItemData)).ItemIndex, ItemTypeID = ((PlayerItemData)(TPlayerItemData)).ItemTypeID, ItemOldQty = 0, ItemNewQty = ItemAddData.Quantity, ItemUCCKey = ((PlayerItemData)(TPlayerItemData)).ItemUCCUnique, ItemFlag = 0, ItemEndDate = null, }; } break; case TITEMGROUP.ITEM_TYPE_CADDIE: { TPlayerItemData = new PlayerCaddieData(); ((PlayerCaddieData)(TPlayerItemData)).CaddieIdx = (uint)dbdata.IDX; ((PlayerCaddieData)(TPlayerItemData)).CaddieTypeId = (uint)dbdata.iffTypeId; ((PlayerCaddieData)(TPlayerItemData)).CaddieDateEnd = (DateTime)dbdata.END_DATE; ((PlayerCaddieData)(TPlayerItemData)).CaddieAutoPay = 0; ((PlayerCaddieData)(TPlayerItemData)).CaddieType = (byte)dbdata.Flag; // Add caddie to inventory list ItemCaddie.CadieAdd((PlayerCaddieData)(TPlayerItemData)); // set the result data Result = new AddData() { Status = true, ItemIndex = ((PlayerCaddieData)(TPlayerItemData)).CaddieIdx, ItemTypeID = ((PlayerCaddieData)(TPlayerItemData)).CaddieTypeId, ItemOldQty = 0, ItemNewQty = 1, ItemUCCKey = string.Empty, ItemFlag = ((PlayerCaddieData)(TPlayerItemData)).CaddieType, ItemEndDate = null, }; } break; case TITEMGROUP.ITEM_TYPE_SKIN: { TPlayerItemData = new PlayerItemData(); ((PlayerItemData)(TPlayerItemData)).ItemIndex = (uint)dbdata.IDX; ((PlayerItemData)(TPlayerItemData)).ItemTypeID = (uint)dbdata.iffTypeId; ((PlayerItemData)(TPlayerItemData)).ItemC0 = (ushort)ItemAddData.Quantity; ((PlayerItemData)(TPlayerItemData)).ItemUCCUnique = dbdata.UCC_KEY; ((PlayerItemData)(TPlayerItemData)).ItemFlag = (byte)dbdata.Flag; ((PlayerItemData)(TPlayerItemData)).ItemEndDate = dbdata.END_DATE; ((PlayerItemData)(TPlayerItemData)).ItemIsValid = 1; // Add to inventory list ItemWarehouse.ItemAdd((PlayerItemData)(TPlayerItemData)); // Set the result data Result = new AddData() { Status = true, ItemIndex = ((PlayerItemData)(TPlayerItemData)).ItemIndex, ItemTypeID = ((PlayerItemData)(TPlayerItemData)).ItemTypeID, ItemOldQty = 0, ItemNewQty = ItemAddData.Quantity, ItemUCCKey = ((PlayerItemData)(TPlayerItemData)).ItemUCCUnique, ItemFlag = (byte)((PlayerItemData)(TPlayerItemData)).ItemFlag, ItemEndDate = ((PlayerItemData)(TPlayerItemData)).ItemEndDate, }; } break; case TITEMGROUP.ITEM_TYPE_CARD: { TPlayerItemData = new PlayerCardData(); ((PlayerCardData)(TPlayerItemData)).CardIndex = (uint)dbdata.IDX; ((PlayerCardData)(TPlayerItemData)).CardTypeID = (uint)dbdata.iffTypeId; ((PlayerCardData)(TPlayerItemData)).CardQuantity = ItemAddData.Quantity; ((PlayerCardData)(TPlayerItemData)).CardIsValid = 1; ((PlayerCardData)(TPlayerItemData)).CardNeedUpdate = false; // ## add to card ItemCard.CardAdd((PlayerCardData)(TPlayerItemData)); // set the result data Result = new AddData() { Status = true, ItemIndex = ((PlayerCardData)(TPlayerItemData)).CardIndex, ItemTypeID = ((PlayerCardData)(TPlayerItemData)).CardTypeID, ItemOldQty = 0, ItemNewQty = ((PlayerCardData)(TPlayerItemData)).CardQuantity, ItemUCCKey = string.Empty, ItemFlag = 0, ItemEndDate = null, }; } break; case TITEMGROUP.ITEM_TYPE_MASCOT: { TPlayerItemData = new PlayerMascotData(); ((PlayerMascotData)(TPlayerItemData)).MascotIndex = (uint)dbdata.IDX; ((PlayerMascotData)(TPlayerItemData)).MascotTypeID = (uint)dbdata.iffTypeId; ((PlayerMascotData)(TPlayerItemData)).MascotMessage = "Pangya !"; ((PlayerMascotData)(TPlayerItemData)).MascotIsValid = 1; ((PlayerMascotData)(TPlayerItemData)).MascotNeedUpdate = false; ((PlayerMascotData)(TPlayerItemData)).MascotEndDate = (DateTime)dbdata.END_DATE; ((PlayerMascotData)(TPlayerItemData)).MascotDayToEnd = (ushort)(DaysBetween(dbdata.END_DATE, DateTime.Now)); // ## add to card ItemMascot.MascotAdd((PlayerMascotData)(TPlayerItemData)); // set the result data Result = new AddData() { Status = true, ItemIndex = ((PlayerMascotData)(TPlayerItemData)).MascotIndex, ItemTypeID = ((PlayerMascotData)(TPlayerItemData)).MascotTypeID, ItemOldQty = 0, ItemNewQty = 1, ItemUCCKey = string.Empty, ItemFlag = 4, ItemEndDate = DateTime.Now.AddDays(ItemAddData.Day + 1), }; } break; } } catch { var player = (GPlayer)MainServer.Program._server.GetPlayerByUID(UID); if (player != null) { player.Close(); } } } // ## resulted return(Result); }