Esempio n. 1
0
        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;
            }
        }
Esempio n. 2
0
        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);
        }