private List<payOptionContainer> getOptionList(decimal amount)
        {
            var helper = new List<payOptionContainer>();
            checkoutShared cs = new checkoutShared(db);
            var list = db.tbl_bank.Include("tbl_bankPos.tbl_bankPosOption").Where(a => a.statu).SelectMany(a => a.tbl_bankPos).Where(a => a.statu && a.isPosShownOnTable).ToList();

            List<payOptionItem> blockList = new List<payOptionItem>();

            int index = 1;
            // to Do : installment Tablo

            foreach (var item in list)
            {
                payOptionItem blockItem = new payOptionItem();

                db.Entry(item).Reference(a => a.tbl_bank).Load();
                db.Entry(item).Collection(a => a.tbl_bankPosOption).Load();

                if (index % 4 == 0)
                {
                    blockItem.containerId = (index / 4);
                }
                else
                {
                    blockItem.containerId = (index / 4) + 1;
                }

                blockItem.logoColor = item.tbl_bank.color1;
                blockItem.headerColor = item.tbl_bank.color2;
                blockItem.rowColor = item.tbl_bank.color3;
                blockItem.logoImg = item.tbl_bank.paymentLogo;
                blockItem.itemList = new List<installmentItem>();

                // 9 Taksit Max
                for (int i = 2; i < 10; i++)
                {
                    installmentItem rowItem = new installmentItem();

                    var dataRowItem = item.tbl_bankPosOption.Where(a => a.paymentCount == i).FirstOrDefault();

                    rowItem.payCount = i;

                    if (dataRowItem != null)
                    {
                        var calc = cs.getInstallmentAmount(amount, i, dataRowItem.additionalAmount);

                        rowItem.totalAmount = calc.Item2;
                        rowItem.insallmentAmount = calc.Item1;

                        if (dataRowItem.minBasketAmount > amount)
                        {
                            rowItem.isMinSpentRequired = true;
                            rowItem.spentAmount = dataRowItem.minBasketAmount;
                        }

                        blockItem.itemList.Add(rowItem);

                    }

                }

                blockItem.excluedeList = blockItem.itemList.Where(a => a.isMinSpentRequired).ToList();

                blockList.Add(blockItem);

                index = index + 1;
            }

            int containerCount = 0;

            if (blockList.Count % 4 == 0)
            {
                containerCount = blockList.Count / 4;
            }
            else
            {
                containerCount = blockList.Count / 4 + 1;
            }

            for (int i = 1; i < containerCount + 1; i++)
            {
                var item = new payOptionContainer();
                item.payOptionList = blockList.Where(a => a.containerId == i).ToList();

                helper.Add(item);
            }

            return helper;
        }