bool PokerData::TransferMoneyFromMainBalance(int nUserId, INT_CHIPS nAmount, int nCurrencyId, double dMainBalance, int nMainBalanceEntryId, INT_CHIPS& nBalanceNew){ if( nUserId <= 0 || nAmount <= 0 ) return false; TransferFromMainBalanceProc proc; proc.m_nUserId = nUserId; proc.m_dAmount = (double)(nAmount / 100.0); proc.m_nCurrencyId = nCurrencyId; proc.m_nMainBalanceEntryId = nMainBalanceEntryId; proc.m_dMainBalance = dMainBalance; proc.m_dBalanceNew = 0.0; nBalanceNew = 0; if( m_pDataMan->ExecuteProc(&proc) && proc.m_nSuccess == 0 ){ nBalanceNew = ConvertMoney(proc.m_dBalanceNew); return true; } return false; }
void InvoiceFormatter::formatBillPrice(StringBuffer &buf, InvoiceData &invoice) { buf.Cat("[*A1 " + AsString(t_("Amount payed:")) + " -|-|"); buf.Cat(fixFuckedLinuxFormating(ConvertMoney().Format(invoice.summary_price))); buf.Cat(" " + AsString(t_("CUR")) + "]&"); buf.Cat("[A1 " + AsString(t_("Amount in words:")) + " "); String xxx = AsString(invoice.summary_price); int idx = xxx.Find('.'); int d; String s = xxx; if (idx > 0) s = xxx.Left(idx); sscanf(~s, "%d", &d); NumberToTextConverter *converter = new SlovakNumberToTextConverter(); buf.Cat(converter->convert(d)); delete ((SlovakNumberToTextConverter *)converter); buf.Cat(" " + AsString(t_("CUR")) + "] "); }
void InvoiceList::formatItems(StringBuffer &buf) { buf.Cat("[A1 {{1:2:2:2f4 "); buf.Cat("[*A1 " + AsString(t_("N.")) + "] :: [*A1 " + AsString(t_("Create date")) + "] :: "); buf.Cat("[*A1 " + AsString(t_("Invoice num")) + "] :: [*A1 " + AsString(t_("Invoice total")) + "]"); for (int i=0; i<inv_list_items.GetCount(); i++) { const VectorMap<int, String> &vmap = inv_list_items[i]; buf.Cat(":: "); buf.Cat(AsString(i+1)); buf.Cat(":: "); buf.Cat(vmap.Get(iliDate)); buf.Cat(":: "); buf.Cat(vmap.Get(iliInvNum)); buf.Cat(":: "); buf.Cat(vmap.Get(iliTotal) + AsString(t_("CUR"))); } buf.Cat("::-2 "); buf.Cat("[*A1> " + AsString(t_("Invoice list total:"))); buf.Cat(" :: :: ]:: "); buf.Cat("[*A1 " + fixFuckedLinuxFormating(ConvertMoney().Format(summary_price))); buf.Cat(" " + AsString(t_("CUR")) + "]"); buf.Cat("}}"); }
void ComplexStatsWin::refresh() { Time f; // from Time t; // to switch ( (En_stats_interval)((int)interval.GetData()) ) { case siDay: { Date d = day_date.GetData(); f = ToTime(d); t = Time(d.year, d.month, d.day, 23, 59, 59); break; } case siMonth: { Date from = FirstDayOfMonth(month_date.GetData()); Date to = LastDayOfMonth(month_date.GetData()); f = Time(from.year, from.month, from.day, 0, 0, 0); t = Time(to.year, to.month, to.day, 23, 59, 59); break; } case siDateRange: { Date from = date_from.GetData(); Date to = date_to.GetData(); f = Time(from.year, from.month, from.day, 0, 0, 0); t = Time(to.year, to.month, to.day, 23, 59, 59); } }; //record count SQL & Select(SqlCountRows()).From(RECORD).Where(REC_DATE >= f && REC_DATE <= t); if (SQL.Fetch()) record_count.SetText(~AsString(SQL[0])); //income SQL & Select(SqlSum(ITEM_PRICE)) .From(RECORD_ITEM) .InnerJoin(RECORD).On(RECORD_ID.Of(RECORD_ITEM) == ID.Of(RECORD)) .Where(REC_DATE.Of(RECORD) >= f && REC_DATE.Of(RECORD) <= t) ; if (SQL.Fetch()) { String s = ConvertMoney().Format(SQL[0]); income.SetText(~s); } //income from invoices only SQL & Select(SqlSum(ITEM_PRICE)) .From(RECORD_ITEM) .InnerJoin(RECORD).On(RECORD_ID.Of(RECORD_ITEM) == ID.Of(RECORD)) .Where(REC_DATE.Of(RECORD) >= f && REC_DATE.Of(RECORD) <= t && NotNull(INVOICE_ID.Of(RECORD))) ; if (SQL.Fetch()) { String s = ConvertMoney().Format(SQL[0]); income_inv.SetText(~s); } //income without invoices SQL & Select(SqlSum(ITEM_PRICE)) .From(RECORD_ITEM) .InnerJoin(RECORD).On(RECORD_ID.Of(RECORD_ITEM) == ID.Of(RECORD)) .Where(REC_DATE.Of(RECORD) >= f && REC_DATE.Of(RECORD) <= t && IsNull(INVOICE_ID.Of(RECORD))) ; if (SQL.Fetch()) { String s = ConvertMoney().Format(SQL[0]); income_noinv.SetText(~s); } //products products.Clear(); SQL & Select(NAME.Of(LOV_PRODUCT), Count(LOV_PRODUCT)) .From(RECORD_ITEM) .InnerJoin(LOV_PRODUCT).On(PROD_ID.Of(RECORD_ITEM) == ID.Of(LOV_PRODUCT)) .InnerJoin(RECORD).On(RECORD_ID.Of(RECORD_ITEM) == ID.Of(RECORD)) .Where(REC_DATE.Of(RECORD) >= f && REC_DATE.Of(RECORD) <= t) .GroupBy(NAME.Of(LOV_PRODUCT)) .OrderBy(Descending(Count(LOV_PRODUCT))) ; while(SQL.Fetch()) products.Add(SQL); //clients unsigned c = 0; clients.Clear(); SQL & Select(NAME.Of(LOV_TITLE), FIRST_NAME.Of(CLIENT), LAST_NAME.Of(CLIENT)) .From(RECORD) .InnerJoin(PATIENT).On(PATIENT_ID.Of(RECORD) == ID.Of(PATIENT)) .InnerJoin(CLIENT).On(CLIENT_ID.Of(PATIENT) == ID.Of(CLIENT)) .LeftJoin(LOV_TITLE).On(TITLE_ID.Of(CLIENT) == ID.Of(LOV_TITLE)) .Where(REC_DATE.Of(RECORD) >= f && REC_DATE.Of(RECORD) <= t) .OrderBy(REC_DATE.Of(RECORD)) ; while(SQL.Fetch() && ++c) clients.Add(SQL); client_count.SetText(AsString(c)); }