示例#1
0
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;
	}
示例#2
0
文件: invoice.cpp 项目: jkusniar/tara
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")) + "] ");
}
示例#3
0
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("}}");
}
示例#4
0
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));
}