public AddItemData AddRent(uint TypeID, ushort Day = 7) { object PRent; AddItemData Result; Result = new AddItemData() { Status = false }; if (!(TypeID.GetItemGroup() == IffGroupFlag.ITEM_TYPE_PART)) { return(Result); } var _db = new PangyaEntities(); var Add = _db.ProcAddRent((int)UID, (int)TypeID, Day).ToList(); if (Add.Count <= 0) { return(Result); } foreach (var data in Add) { PRent = new WarehouseData(); ((WarehouseData)(PRent)).ItemIndex = (uint)data.ITEM_INDEX; ((WarehouseData)(PRent)).ItemTypeID = (uint)data.ITEM_TYPEID; ((WarehouseData)(PRent)).ItemC0 = 0; ((WarehouseData)(PRent)).ItemUCCUnique = string.Empty; ((WarehouseData)(PRent)).CreateNewItem(); ((WarehouseData)(PRent)).ItemFlag = (byte)data.ITEM_FLAG; ((WarehouseData)(PRent)).ItemEndDate = data.ITEM_DATE_END; ItemWarehouse.ItemAdd((WarehouseData)(PRent)); Result.Status = true; Result.ItemIndex = ((WarehouseData)(PRent)).ItemIndex; Result.ItemTypeID = ((WarehouseData)(PRent)).ItemTypeID; Result.ItemOldQty = 0; Result.ItemNewQty = 1; Result.ItemUCCKey = ((WarehouseData)(PRent)).ItemUCCUnique; Result.ItemFlag = (byte)((WarehouseData)(PRent)).ItemFlag; Result.ItemEndDate = ((WarehouseData)(PRent)).ItemEndDate; } return(Result); }
public static byte[] ShowBuyItem(AddItemData Item, BuyItemData BuyData, uint Pang, uint Cookies) { var result = new PangyaBinaryWriter(); result.Write(new byte[] { 0xAA, 0x00 }); result.WriteUInt16(1);//count Sucess item(coloca sempre 1 eu acho) result.WriteUInt32(Item.ItemTypeID); result.WriteUInt32(Item.ItemIndex); result.WriteUInt16(BuyData.DayTotal); result.WriteByte(BuyData.Flag); result.WriteUInt32(Item.ItemNewQty); result.WriteTime((BuyData.EndDate)); result.WriteStr(Item.ItemUCCKey, 7); result.WriteUInt64(Pang); result.WriteUInt64(Cookies); return(result.GetBytes()); }
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 AddItem(AddItem ItemAddItemData) { Object WareHouseData; AddItemData Result; Result = new AddItemData() { Status = false }; if (UID == 0) { return(Result); } switch (ItemAddItemData.ItemIffId.GetItemGroup()) { case IffGroupFlag.ITEM_TYPE_CHARACTER: { WareHouseData = ItemCharacter.GetChar(ItemAddItemData.ItemIffId, 1); if (WareHouseData == null) { return(AddItemToDB(ItemAddItemData)); } else if (!(WareHouseData != null)) { Result.Status = true; Result.ItemIndex = ((CharacterData)(WareHouseData)).Index; Result.ItemTypeID = ((CharacterData)(WareHouseData)).TypeID; Result.ItemOldQty = 1; Result.ItemNewQty = 1; Result.ItemUCCKey = string.Empty; Result.ItemFlag = 0; Result.ItemEndDate = null; if (ItemAddItemData.Transaction) { ItemTransaction.AddChar(2, (CharacterData)WareHouseData); } } } break; case IffGroupFlag.ITEM_TYPE_HAIR_STYLE: { var IffHair = IFFEntry.GetIff.GetByHairColor(ItemAddItemData.ItemIffId); var character = ItemCharacter.GetCharByType((byte)IffHair.CharType); if (character != null) { character.HairColour = IffHair.HairColor; character.Update(character); Result.Status = true; Result.ItemIndex = character.Index; Result.ItemTypeID = ItemAddItemData.ItemIffId; Result.ItemOldQty = 0; Result.ItemNewQty = 1; Result.ItemUCCKey = null; Result.ItemFlag = 0; Result.ItemEndDate = null; } } break; case IffGroupFlag.ITEM_TYPE_PART: { return(AddItemToDB(ItemAddItemData)); } case IffGroupFlag.ITEM_TYPE_CLUB: { return(AddItemToDB(ItemAddItemData)); } case IffGroupFlag.ITEM_TYPE_AUX: case IffGroupFlag.ITEM_TYPE_BALL: case IffGroupFlag.ITEM_TYPE_USE: { WareHouseData = ItemWarehouse.GetItem(ItemAddItemData.ItemIffId, 1); if (WareHouseData != null) { Result.Status = true; Result.ItemIndex = ((WarehouseData)(WareHouseData)).ItemIndex; Result.ItemTypeID = ((WarehouseData)(WareHouseData)).ItemTypeID; Result.ItemOldQty = ((WarehouseData)(WareHouseData)).ItemC0; Result.ItemNewQty = ((WarehouseData)(WareHouseData)).ItemC0 + ItemAddItemData.Quantity; Result.ItemUCCKey = ((WarehouseData)(WareHouseData)).ItemUCCUnique; Result.ItemFlag = (byte)((WarehouseData)(WareHouseData)).ItemFlag; Result.ItemEndDate = null; //Add ((WarehouseData)(WareHouseData)).AddQuantity(ItemAddItemData.Quantity); if (ItemAddItemData.Transaction) { ItemTransaction.AddItem(0x02, (WarehouseData)WareHouseData, ItemAddItemData.Quantity); } } else if (WareHouseData == null) { return(AddItemToDB(ItemAddItemData)); } } break; case IffGroupFlag.ITEM_TYPE_CADDIE: { return(AddItemToDB(ItemAddItemData)); } case IffGroupFlag.ITEM_TYPE_CADDIE_ITEM: { WareHouseData = ItemCaddie.GetCaddieBySkinId(ItemAddItemData.ItemIffId); if (!(WareHouseData == null)) { ((CaddieData)(WareHouseData)).Update(); ((CaddieData)(WareHouseData)).UpdateCaddieSkin(ItemAddItemData.ItemIffId, ItemAddItemData.Day); Result.Status = true; Result.ItemIndex = ((CaddieData)(WareHouseData)).CaddieIdx; Result.ItemTypeID = ((CaddieData)(WareHouseData)).CaddieSkin; Result.ItemOldQty = 1; Result.ItemNewQty = 1; Result.ItemUCCKey = string.Empty; Result.ItemFlag = 0; Result.ItemEndDate = DateTime.Now.AddDays(ItemAddItemData.Day); } } break; case IffGroupFlag.ITEM_TYPE_SKIN: { return(AddItemToDB(ItemAddItemData)); } case IffGroupFlag.ITEM_TYPE_MASCOT: { WareHouseData = ItemMascot.GetMascotByTypeId(ItemAddItemData.ItemIffId); if (WareHouseData != null) { ((MascotData)(WareHouseData)).AddDay(ItemAddItemData.Day); Result.Status = true; Result.ItemIndex = ((MascotData)(WareHouseData)).MascotIndex; Result.ItemTypeID = ((MascotData)(WareHouseData)).MascotTypeID; Result.ItemOldQty = 1; Result.ItemNewQty = 1; Result.ItemUCCKey = ""; Result.ItemFlag = 0; Result.ItemEndDate = ((MascotData)(WareHouseData)).MascotEndDate; } else if (WareHouseData == null) { return(AddItemToDB(ItemAddItemData)); } } break; case IffGroupFlag.ITEM_TYPE_CARD: { WareHouseData = ItemCard.GetCard(ItemAddItemData.ItemIffId, 1); if (WareHouseData == null) { AddItemToDB(ItemAddItemData); } else if (WareHouseData != null) { Result.Status = true; Result.ItemIndex = ((CardData)(WareHouseData)).CardIndex; Result.ItemTypeID = ((CardData)(WareHouseData)).CardTypeID; Result.ItemOldQty = ((CardData)(WareHouseData)).CardQuantity; Result.ItemNewQty = ((CardData)(WareHouseData)).CardQuantity + ItemAddItemData.Quantity; Result.ItemUCCKey = string.Empty; Result.ItemFlag = 0; Result.ItemEndDate = null; ((CardData)(WareHouseData)).AddQuantity(ItemAddItemData.Quantity); if (ItemAddItemData.Transaction) { ItemTransaction.AddCard(0x02, (CardData)WareHouseData, ItemAddItemData.Quantity); } } } break; } 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); }