//"Оплата", "Скидка", "Бонус", "Потраты гостя" 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"); }
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); }
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); }
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++; } }