Exemplo n.º 1
0
        //"Оплата", "Скидка", "Бонус", "Потраты гостя"
        private void SendTransaction(int account, long total)
        {
            TTransactionInfo info = new TTransactionInfo();

            info.Kind    = 0;
            info.Summa   = total;
            info.UnitNum = 1;
            info.CheckNo = CheckNo;
            CheckNo++;

            RKeeper.RKeeper.SendTransaction(account, info);
            AppendLog(RKeeper.RKeeperApi.LastMsg + "\n");
        }
Exemplo n.º 2
0
        private bool RKeeperWaresSale(int accountID, long total)
        {
            bool             result = false;
            TTransactionInfo info   = new TTransactionInfo();

            info.Kind     = 0;
            info.LogDate  = (int)DateTime.Now.Date.ToOADate();
            info.Summa    = total;
            info.UnitNum  = Convert.ToByte(R_Keeper_UnitNum);
            info.CheckNo  = CheckNo;
            info.RestCode = Convert.ToUInt16(R_Keeper_RestCode);
            result        = RKeeper.RKeeper.SendTransaction(accountID, info);
            if (result)
            {
                CheckNo++;
            }

            return(result);
        }
Exemplo n.º 3
0
        private bool RKeeperAppnedBonus(int accountID, long total, double bonus, ref double appendBonus)
        {
            double bonusTotal = RKeeperGetBonusTotal(accountID);
            double money      = total / 100.0; // платеж.
            bool   result     = false;

            appendBonus = 0;

            if (bonusTotal < bonus)                 //Если общий бонус за день меньше ограничения за день
            {
                appendBonus = bonus - bonusTotal;   // получаем сколько можем начислить
                if (money < bonus)                  // если платеж меньше чем сумма бонуса то вычисляем сколько можем заплатить
                {
                    if (bonusTotal + money < bonus) // если сумма уже начисленного + платеж меньше чем сумма бонуса за день то
                    {
                        appendBonus = money;        // добавляем только сумму платежа. такое блин правило.
                    }
                }
            }

            if (appendBonus > 0)
            {
                TTransactionInfo info = new TTransactionInfo();
                info.Kind     = 2;
                info.LogDate  = (int)DateTime.Now.Date.ToOADate();
                info.Summa    = Convert.ToInt64(appendBonus * 100.0);
                info.UnitNum  = Convert.ToByte(R_Keeper_UnitNum);
                info.CheckNo  = CheckNo;
                info.RestCode = Convert.ToUInt16(R_Keeper_RestCode);
                result        = RKeeper.RKeeper.SendTransaction(accountID, info);
                if (result)
                {
                    CheckNo++;
                }
            }
            else
            {
                result = true;
            }

            return(result);
        }
Exemplo n.º 4
0
        private void btnCreateTransaction_Click(object sender, EventArgs e)
        {
            long   card        = 0;
            int    accountID   = 0;
            long   total       = 0;
            byte   unitNum     = 1;
            ushort restCode    = 1;
            int    checkNumber = 1;

            try
            {
                checkNumber = Convert.ToInt32(edCheckNumber.Text);
            }
            catch (Exception ex)
            {
                edCheckNumber.SelectAll();
                edCheckNumber.Focus();
                MessageBox.Show("Поле номер чека заполнено некорректно. \n" + ex.Message, "Ошибка");

                return;
            }


            try
            {
                total = Convert.ToInt64((Convert.ToDecimal(txtTotalTran.Text.Replace(".", ",")) * 100));
            }
            catch (Exception ex)
            {
                txtTotalTran.SelectAll();
                txtTotalTran.Focus();
                MessageBox.Show("Поле Сумма заполнено некорректно. \n" + ex.Message, "Ошибка");

                return;
            }

            try
            {
                unitNum = Convert.ToByte(edUnitNum.Text);
            }
            catch (Exception ex) {
                edUnitNum.SelectAll();
                edUnitNum.Focus();
                MessageBox.Show("Поле Unit номер заполнено некорректно!\n" + ex.Message, "Ошибка");
                return;
            }

            try
            {
                restCode = Convert.ToUInt16(edRestCode.Text);
            }
            catch (Exception ex)
            {
                edRestCode.SelectAll();
                edRestCode.Focus();
                MessageBox.Show("Поле код ресторана заполнено некорректно!\n" + ex.Message, "Ошибка");
                return;
            }



            try
            {
                card = Convert.ToInt64(edCardNumb.Text);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            if (RKeeper.RKeeper.GetAccount(card))
            {
                accountID = RKeeper.RKeeper.AccountID;
                TTransactionInfo info = new TTransactionInfo();
                info.Kind    = (ushort)cmbKindOper.SelectedIndex;
                info.LogDate = (int)dtOperDate.Value.ToOADate();

                info.Summa    = total;
                info.UnitNum  = unitNum;
                info.CheckNo  = checkNumber;
                info.RestCode = restCode;
                info.Comment  = edComment.Text;
                RKeeper.RKeeper.SendTransaction(accountID, info);
                CheckNo++;
            }
        }