Exemplo n.º 1
0
    private void InitializeBank()
    {
        if (templateItem != null)
        {
            float         distance      = 0;
            RectTransform rectTransform = (RectTransform)templateItem.transform;
            if (rectTransform != null)
            {
                distance = rectTransform.rect.xMax;
            }

            if (dataProvider != null && dataProvider.bankItems != null)
            {
                int counter = 0;
                foreach (BankItemData itemData in dataProvider.bankItems)
                {
                    BankItem newItem = CreateBankItem(itemData, counter * distance);
                    if (newItem != null)
                    {
                        if (_bankItems == null)
                        {
                            _bankItems = new BankItem[dataProvider.bankItems.Length];
                        }
                        _bankItems[counter] = newItem;
                        counter++;
                    }
                }
            }
        }
    }
Exemplo n.º 2
0
 public SerializedBankItem(BankItem bankItem)
 {
     Slot   = bankItem.Slot;
     Type   = bankItem.Type;
     TypeId = bankItem.TypeId;
     Count  = bankItem.Count;
 }
Exemplo n.º 3
0
        public async Task <IActionResult> PutBankItem([FromRoute] int id, [FromBody] BankItem bankItem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != bankItem.Id)
            {
                return(BadRequest());
            }

            _context.Entry(bankItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BankItemExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Exemplo n.º 4
0
        public BankItem Create(BankItem bankItem, string userId)
        {
            bankItem.UserId = userId;
            int id = _repo.Create(bankItem);

            bankItem.Id = id;
            return(bankItem);
        }
Exemplo n.º 5
0
        public bool Run(params object[] args)
        {
            NWPlaceable terminal = Object.OBJECT_SELF;
            int         bankID   = terminal.GetLocalInt("BANK_ID");

            if (bankID <= 0)
            {
                return(false);
            }

            NWPlayer player      = _.GetLastDisturbed();
            NWItem   item        = _.GetInventoryDisturbItem();
            int      disturbType = _.GetInventoryDisturbType();
            int      itemCount   = terminal.InventoryItems.Count();
            int      itemLimit   = terminal.GetLocalInt("BANK_LIMIT");

            if (itemLimit <= 0)
            {
                itemLimit = 20;
            }

            Data.Entity.Bank bank = _data.Single <Data.Entity.Bank>(x => x.ID == bankID);

            if (disturbType == INVENTORY_DISTURB_TYPE_ADDED)
            {
                if (itemCount > itemLimit)
                {
                    _item.ReturnItem(player, item);
                    player.SendMessage(_color.Red("No more items can be placed inside."));
                }
                else
                {
                    BankItem itemEntity = new BankItem
                    {
                        ItemName   = item.Name,
                        ItemTag    = item.Tag,
                        ItemResref = item.Resref,
                        ItemID     = item.GlobalID.ToString(),
                        ItemObject = _serialization.Serialize(item),
                        BankID     = bank.ID,
                        PlayerID   = player.GlobalID,
                        DateStored = DateTime.UtcNow
                    };

                    _data.SubmitDataChange(itemEntity, DatabaseActionType.Insert);
                }
            }
            else if (disturbType == INVENTORY_DISTURB_TYPE_REMOVED)
            {
                var record = _data.Get <BankItem>(item.GlobalID);
                _data.SubmitDataChange(record, DatabaseActionType.Delete);
            }

            player.SendMessage(_color.White("Item Limit: " + (itemCount > itemLimit ? itemLimit : itemCount) + " / ") + _color.Red("" + itemLimit));
            return(true);
        }
Exemplo n.º 6
0
        //Updated for new DB
        public void MoveToBag(BankItem bankitem)
        {
            //OpenConn();
            SqlCommand cmd = new SqlCommand("exec MoveToBag @id", conn);

            cmd.Parameters.AddWithValue("@id", bankitem.id);
            cmd.CommandType = CommandType.Text;
            cmd.ExecuteNonQuery();
            cmd.Dispose();
        }
Exemplo n.º 7
0
    private BankItem CreateBankItem(BankItemData itemData, float displacement = 0)
    {
        BankItem result      = Instantiate(templateItem, transform);
        Vector3  newPosition = new Vector3(transform.position.x + displacement, transform.position.y);

        result.transform.SetPositionAndRotation(newPosition, result.transform.rotation);
        result.UpdateData(itemData);
        result.gameObject.SetActive(true);
        return(result);
    }
Exemplo n.º 8
0
 public TransferPageViewModel(BankItem fromCard, string numberCard, string type)
 {
     FromCard         = fromCard as BankCard;
     NumberToCard     = numberCard;
     _isButtonEnabled = true;
     PaymentReceiver  = type;
     ToPayCommand     = new Command(ToPay, () => IsButtonEnabled);
     Amount           = new ValidationInput();
     UserPassword     = new ValidatableObject <string>();
 }
Exemplo n.º 9
0
 public PaymentTopUpViewModel(BankItem selectedBankItem, BankAccount fromAccount)
 {
     SelectedBankItem = selectedBankItem;
     FromAccount      = fromAccount;
     _isButtonEnabled = true;
     IsCardVisible    = false;
     IsAccountVisible = true;
     ToPayCommand     = new Command(ToPay, () => IsButtonEnabled);
     Amount           = new ValidationInput();
     UserPassword     = new ValidatableObject <string>();
 }
Exemplo n.º 10
0
        public string Remove(BankItem bankItem)
        {
            BankItem exists = _repo.Check(bankItem.BankId, bankItem.ItemId);

            if (exists == null)
            {
                throw new Exception("Invalid ID");
            }
            _repo.Remove(exists.Id);
            return("Successfully deleted.");
        }
Exemplo n.º 11
0
 public ActionResult <string> Delete([FromBody] BankItem bankItem)
 {
     try
     {
         return(Ok(_bis.Remove(bankItem)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Exemplo n.º 12
0
 public TransferCardViewModel(INavigation navigation, ObservableCollection <BankCard> cards, ObservableCollection <BankAccount> accounts, BankItem item)
 {
     Navigation       = navigation;
     _isButtonEnabled = true;
     BankCards        = new ObservableCollection <BankCard>();
     cards.Where(x => x != item as BankCard && x.IsWorked == true).ForEach(x => BankCards.Add(x));
     SelectedBankItem       = item;
     BankAccounts           = accounts;
     OpenTransferTapCommand = new Command(OpenTransferTap, (_) => IsButtonEnabled);
     OpenTransferCommand    = new Command(OpenTransfer, () => IsButtonEnabled);
 }
Exemplo n.º 13
0
        public int Create(BankItem bankItem)
        {
            string sql = @"
      INSERT INTO bankitems
      (bankId, itemId, userId)
      VALUES
      (@BankId, @ItemId, @UserId);
      SELECT LAST_INSERT_ID();";

            return(_db.ExecuteScalar <int>(sql, bankItem));
        }
Exemplo n.º 14
0
 public ActionResult <BankItem> Create([FromBody] BankItem bankItem)
 {
     try
     {
         string userId = HttpContext.User.FindFirstValue("Id");
         return(Ok(_bis.Create(bankItem, userId)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Exemplo n.º 15
0
        public async Task <IActionResult> PostBankItem([FromBody] BankItem bankItem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.BankItem.Add(bankItem);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetBankItem", new { id = bankItem.Id }, bankItem));
        }
Exemplo n.º 16
0
    public void AddItem(string name, int stacks)
    {
        BankItem i = bankItems.FirstOrDefault(bi => bi.Name == name);

        if (i != null)
        {
            i.Stacks += stacks;
        }
        else
        {
            bankItems.Add(new BankItem(name, stacks));
        }
    }
Exemplo n.º 17
0
        public void GetByID_OneItem_ReturnsBankItem()
        {
            // Arrange
            var      id     = Guid.NewGuid();
            BankItem entity = new BankItem {
                ID = id
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <BankItem>(entity));

            // Assert
            Assert.AreNotSame(entity, _cache.GetByID(id));
        }
Exemplo n.º 18
0
        public BankItemViewModel(MainScreenViewModel viewModel, BankItem bankItem)
        {
            BankCards        = viewModel.BankCards;
            BankAccounts     = viewModel.BankAccounts;
            Navigation       = viewModel.Navigation;
            SelectedBankItem = bankItem;

            BankItemHistory   = new ObservableCollection <History>();
            _isButtonEnabled  = true;
            TopUpCard         = new Command(TopUp, () => IsButtonEnabled);
            TransferCard      = new Command(Transfer, () => IsButtonEnabled);
            HistoryCommand    = new Command(OpenHistory, () => IsButtonEnabled);
            BlockCardCommand  = new Command(BlockCard, () => IsButtonEnabled);
            RenameCardCommand = new Command(RenameCard, () => IsButtonEnabled);
        }
Exemplo n.º 19
0
        private static void OnRemoveBankItem(NWPlayer player, BankItem entity)
        {
            var @event = new ModuleEvent
            {
                ModuleEventTypeID = 6,
                PlayerID          = entity.PlayerID,
                CDKey             = GetPCPublicCDKey(player),
                AccountName       = GetPCPlayerName(player),
                BankID            = entity.BankID,
                ItemID            = new Guid(entity.ItemID),
                ItemName          = entity.ItemName,
                ItemTag           = entity.ItemTag,
                ItemResref        = entity.ItemResref
            };

            // Bypass the caching logic
            DataService.DataQueue.Enqueue(new DatabaseAction(@event, DatabaseActionType.Insert));
        }
Exemplo n.º 20
0
 public TopUpCardViewModel(INavigation navigation, ObservableCollection <BankCard> cards, ObservableCollection <BankAccount> accounts, BankItem item)
 {
     Navigation       = navigation;
     _isButtonEnabled = true;
     BankCards        = new ObservableCollection <BankCard>();
     cards.Where(x => x != item as BankCard && x.IsWorked == true).ForEach(x => BankCards.Add(x));
     BankAccounts     = accounts;
     SelectedBankItem = item;
     OpenCard         = new Command(() => {
         IsOpenCardVisible    = true;
         IsOpenAccountVisible = false;
     });
     OpenAccount = new Command(() => {
         IsOpenCardVisible    = false;
         IsOpenAccountVisible = true;
     });
     OpenTopUp        = new Command(TopUp, (_) => IsButtonEnabled);
     OpenTopUpAccount = new Command(TopUpAccount, (_) => IsButtonEnabled);
 }
Exemplo n.º 21
0
        public void GetByID_TwoItems_ReturnsCorrectObject()
        {
            // Arrange
            var      id1     = Guid.NewGuid();
            var      id2     = Guid.NewGuid();
            BankItem entity1 = new BankItem {
                ID = id1
            };
            BankItem entity2 = new BankItem {
                ID = id2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <BankItem>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <BankItem>(entity2));

            // Assert
            Assert.AreNotSame(entity1, _cache.GetByID(id1));
            Assert.AreNotSame(entity2, _cache.GetByID(id2));
        }
Exemplo n.º 22
0
        public void GetByID_RemovedItem_ReturnsCorrectObject()
        {
            // Arrange
            var      id1     = Guid.NewGuid();
            var      id2     = Guid.NewGuid();
            BankItem entity1 = new BankItem {
                ID = id1
            };
            BankItem entity2 = new BankItem {
                ID = id2
            };

            // Act
            MessageHub.Instance.Publish(new OnCacheObjectSet <BankItem>(entity1));
            MessageHub.Instance.Publish(new OnCacheObjectSet <BankItem>(entity2));
            MessageHub.Instance.Publish(new OnCacheObjectDeleted <BankItem>(entity1));

            // Assert
            Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(id1); });
            Assert.AreNotSame(entity2, _cache.GetByID(id2));
        }
Exemplo n.º 23
0
 public void RemoveItem(BankItem i)
 {
     bankItems.Remove(i);
 }
Exemplo n.º 24
0
        public bool Run(params object[] args)
        {
            NWPlaceable terminal = Object.OBJECT_SELF;
            int         bankID   = terminal.GetLocalInt("BANK_ID");

            if (bankID <= 0)
            {
                return(false);
            }

            NWPlayer player      = _.GetLastDisturbed();
            NWItem   item        = _.GetInventoryDisturbItem();
            int      disturbType = _.GetInventoryDisturbType();
            int      itemCount   = terminal.InventoryItems.Count();
            int      itemLimit   = terminal.GetLocalInt("BANK_LIMIT");

            if (itemLimit <= 0)
            {
                itemLimit = 20;
            }

            if (disturbType == INVENTORY_DISTURB_TYPE_ADDED)
            {
                if (_.GetHasInventory(item) == TRUE)
                {
                    item.SetLocalInt("RETURNING_ITEM", TRUE);
                    ItemService.ReturnItem(player, item);
                    player.SendMessage(ColorTokenService.Red("Containers cannot currently be stored inside banks."));
                    return(false);
                }

                if (itemCount > itemLimit)
                {
                    ItemService.ReturnItem(player, item);
                    player.SendMessage(ColorTokenService.Red("No more items can be placed inside."));
                }
                else
                {
                    BankItem itemEntity = new BankItem
                    {
                        ItemName   = item.Name,
                        ItemTag    = item.Tag,
                        ItemResref = item.Resref,
                        ItemID     = item.GlobalID.ToString(),
                        ItemObject = SerializationService.Serialize(item),
                        BankID     = bankID,
                        PlayerID   = player.GlobalID,
                        DateStored = DateTime.UtcNow
                    };

                    DataService.SubmitDataChange(itemEntity, DatabaseActionType.Insert);
                }
            }
            else if (disturbType == INVENTORY_DISTURB_TYPE_REMOVED)
            {
                if (item.GetLocalInt("RETURNING_ITEM") == TRUE)
                {
                    item.DeleteLocalInt("RETURNING_ITEM");
                }
                else
                {
                    var record = DataService.Single <BankItem>(x => x.ItemID == item.GlobalID.ToString());
                    DataService.SubmitDataChange(record, DatabaseActionType.Delete);
                }
            }

            player.SendMessage(ColorTokenService.White("Item Limit: " + (itemCount > itemLimit ? itemLimit : itemCount) + " / ") + ColorTokenService.Red("" + itemLimit));
            return(true);
        }
 public OnRemoveBankItem(NWPlayer player, BankItem entity)
 {
     Player = player;
     Entity = entity;
 }
 public OnStoreBankItem(NWPlayer player, BankItem entity)
 {
     Player = player;
     Entity = entity;
 }
Exemplo n.º 27
0
 public Item(IDatabasePreloader databasePreloader, IItemEnchantConfiguration enchantConfig, IItemCreateConfiguration itemCreateConfig, BankItem bankItem) : this(databasePreloader, enchantConfig, itemCreateConfig, bankItem.Type, bankItem.TypeId, bankItem.Count)
 {
 }
Exemplo n.º 28
0
        public void Main()
        {
            NWPlaceable terminal = OBJECT_SELF;
            int         bankID   = terminal.GetLocalInt("BANK_ID");

            if (bankID <= 0)
            {
                return;
            }

            NWPlayer player      = GetLastDisturbed();
            NWItem   item        = GetInventoryDisturbItem();
            var      disturbType = GetInventoryDisturbType();
            int      itemCount   = terminal.InventoryItems.Count();
            int      itemLimit   = terminal.GetLocalInt("BANK_LIMIT");

            if (itemLimit <= 0)
            {
                itemLimit = 20;
            }

            if (disturbType == DisturbType.Added)
            {
                if (GetHasInventory(item) == true)
                {
                    SetLocalBool(item, "RETURNING_ITEM", true);
                    ItemService.ReturnItem(player, item);
                    player.SendMessage(ColorTokenService.Red("Containers cannot currently be stored inside banks."));
                    return;
                }

                if (itemCount > itemLimit)
                {
                    ItemService.ReturnItem(player, item);
                    player.SendMessage(ColorTokenService.Red("No more items can be placed inside."));
                }
                else
                {
                    BankItem itemEntity = new BankItem
                    {
                        ItemName   = item.Name,
                        ItemTag    = item.Tag,
                        ItemResref = item.Resref,
                        ItemID     = item.GlobalID.ToString(),
                        ItemObject = SerializationService.Serialize(item),
                        BankID     = bankID,
                        PlayerID   = player.GlobalID,
                        DateStored = DateTime.UtcNow
                    };

                    DataService.SubmitDataChange(itemEntity, DatabaseActionType.Insert);
                    MessageHub.Instance.Publish(new OnStoreBankItem(player, itemEntity));
                }
            }
            else if (disturbType == DisturbType.Removed)
            {
                if (GetLocalBool(item, "RETURNING_ITEM") == true)
                {
                    item.DeleteLocalInt("RETURNING_ITEM");
                }
                else
                {
                    var record = DataService.BankItem.GetByItemID(item.GlobalID.ToString());
                    DataService.SubmitDataChange(record, DatabaseActionType.Delete);
                    MessageHub.Instance.Publish(new OnRemoveBankItem(player, record));
                }
            }

            player.SendMessage(ColorTokenService.White("Item Limit: " + (itemCount > itemLimit ? itemLimit : itemCount) + " / ") + ColorTokenService.Red("" + itemLimit));
        }