void  MainTabSaleItemController::changeDisabledMenuActions()
{

    if(!(view->getTableView()->getSymbol().contains("FV")||view->getTableView()->getSymbol().contains("FMP")||view->getTableView()->getSymbol().contains("PRO")))
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedFK()->setDisabled(true);
    else
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedFK()->setDisabled(false);
    if(ApplicationManager::getInstance()->containsModule(ModuleManager::Cash))
    {
    if(checkAmount()>0 ||view->getTableView()->getSymbol().contains("FV"))
    {
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedCashDocKW()->setDisabled(true);
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedCashDocKP()->setDisabled(false);
    }
    else if(checkAmount()<0)
    {
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedCashDocKW()->setDisabled(false);
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedCashDocKP()->setDisabled(true);
    }
    else if(checkAmount()==0)
    {
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedCashDocKW()->setDisabled(true);
        view->getTableView()->getExtendedMenu()->getMenuSale()->getActionIssuedCashDocKP()->setDisabled(true);
    }
    }
}
Ejemplo n.º 2
0
void TransakceForm::fillForm()
{
    ui->tableWidget->setColumnCount(3);
    ui->tableWidget->setRowCount(0);
    ui->tableWidget->setColumnWidth(0,150);
    ui->tableWidget->setColumnWidth(1,100);
    ui->tableWidget->setColumnWidth(2,250);
    QStringList labels; labels << tr("Konto") << tr("Částka") << tr("Poznámka");
    ui->tableWidget->setHorizontalHeaderLabels(labels);

    connect(ui->spnAmount,SIGNAL(valueChanged(int)),this,SLOT(checkAmount()));

    if(addingNew){
        ui->dateEdit->setDate(QDate::currentDate());
    } else {
        ui->dateEdit->setDate(transakce->getDatum());
        ui->spnAmount->setValue(transakce->getSum());

        QList<Transakce::Rozpis> r=transakce->getRozpis();
        QList<Transakce::Rozpis>::const_iterator i;
        for(i=r.constBegin(); i != r.constEnd(); ++i){
            addRow((*i).konto,(*i).amount,(*i).notice);
        }
    }
    checkAmount();
}
Ejemplo n.º 3
0
bool	Account::makeWithdrawal( int withdrawal ) {
	int		p_amount = _amount;

	if (checkAmount() < withdrawal)
	{
		Account::_displayTimestamp();
		std::cout << " index:" << _accountIndex
					<< ";p_amount:" << p_amount
					<< ";withdrawal:refused"
					<< std::endl;
		return (false);
	}
	++_nbWithdrawals;
	_amount -= withdrawal;
	Account::_totalAmount -= withdrawal;
	++Account::_totalNbWithdrawals;
	Account::_displayTimestamp();
	std::cout << " index:" << _accountIndex
				<< ";p_amount:" << p_amount
				<< ";withdrawal:" << withdrawal
				<< ";amount:" << _amount
				<< ";nb_withdrawals:" << _nbWithdrawals
				<< std::endl;
	return (true);
}
Ejemplo n.º 4
0
Account::~Account( void ) {
	Account::_displayTimestamp();
	std::cout << " index:" << _accountIndex
				<< ";amount:" << checkAmount()
				<< ";closed" << std::endl;
	--Account::_nbAccounts;
}
Ejemplo n.º 5
0
void	Account::displayStatus( void ) const {
	Account::_displayTimestamp();
	std::cout << " index:" << _accountIndex
				<< ";amount:" << checkAmount()
				<< ";deposits:" << _nbDeposits
				<< ";withdrawals:" << _nbWithdrawals
				<< std::endl;
}
Ejemplo n.º 6
0
Account::Account(int initial_deposit) :
		_accountIndex(Account::_nbAccounts++), _amount(initial_deposit),
		_nbDeposits(0), _nbWithdrawals(0) {
	Account::_displayTimestamp();
	std::cout << " index:" << _accountIndex
				<< ";amount:" << checkAmount()
				<< ";created" << std::endl;
	Account::_totalAmount += initial_deposit;
}
Ejemplo n.º 7
0
void TransakceForm::on_buttonBox_clicked(QAbstractButton *button)
{
    if(ui->buttonBox->buttonRole(button) == QDialogButtonBox::AcceptRole){
        if(!checkAmount()){
            QMessageBox::critical(this,tr("Špatně vyplněný formulář!"),tr("Neodpovídá součet transakce. Prosím, opravte hodnoty. "));
            return;
        }
        save();
        accept();
    }
}
Ejemplo n.º 8
0
int TransRecord::readLine(char *line, TransNode **node)
{
    int res = 0;
    char *ptk = NULL;

    char type;
    time_t time;
    int32_t amount;
    char *desc;

    
    ptk = strtok(line, "\t");
    if (FALSE == checkType(ptk)) {
        return FALSE;
    }
    type = *ptk;

    ptk = strtok(NULL, "\t");
    time = checkTime(ptk);
    if (time == FALSE) {
        return FALSE;
    }

    ptk = strtok(NULL, "\t");
    res = checkAmount(ptk);
    if (FALSE == res) {
        return FALSE;
    }
    amount = res;

    ptk = strtok(NULL, "\t");
    if (FALSE == checkDesc(ptk)) {
        return FALSE;
    }
    desc = ptk;

    ptk = strtok(NULL, "\t");
    if (NULL != ptk) {
        cerr << "malformed line, more than 3 <TAB>.\n"; 
        return FALSE;
    }

    *node = new TransNode(type, time, amount, desc);
    if (*node == NULL) {
        cerr << "new failed for line: " << line << endl;
        exit(-1);
    }

    return TRUE;
}
Ejemplo n.º 9
0
void	Account::makeDeposit( int deposit ) {
	int		p_amount = _amount;

	++_nbDeposits;
	_amount += deposit;
	Account::_totalAmount += deposit;
	++Account::_totalNbDeposits;
	Account::_displayTimestamp();
	std::cout << " index:" << _accountIndex
				<< ";p_amount:" << p_amount
				<< ";deposit:" << deposit
				<< ";amount:" << checkAmount()
				<< ";nb_deposits:" << _nbDeposits
				<< std::endl;
}
Ejemplo n.º 10
0
void main()
{
	int i;
	int a = 0;
	int b=0;
	int w=0;
	int N, M;
	int S=0;
	int F=0;
	int k;
	int **edges;
	int *lenMin;  //lenMin[i] - длина кратчайшего пути от вершины s в i
	int *h;  //h[i] - вершина, предшествующая i-й вершине на кратчайшем пути
	N=checkAmount();
	if (N == EOF)
		return;
	if (checkInVertex(N,&S,&F) == EOF)
		return;
	M = checkLines(N);
	if (M == EOF)
		return;
	S = S - 1;
	F = F - 1;
	edges = (int**)malloc(N*sizeof(int*));
	for (i = 0; i < N; i++)
	{
		edges[i] = (int*)malloc(N*sizeof(int));
	}
	nullEgdes(N, edges);
	lenMin = (int*)malloc(N*sizeof(int));
	h = (int*)malloc(N*sizeof(int));
	for (i = 0; i < M; i++)
	{
		if (checkEdges(N, &a, &b, &w) == EOF)
			return;
		edges[a - 1][b - 1] = w;
		edges[b - 1][a - 1] = w;
	}
	for (i = 0; i < N; i++)
	{
		lenMin[i] = Infinity; //Сначала все кратчайшие пути из s в i равны бесконечности        
	}
	k = 0;	//счетчик кратчайших путей равен нулю
	Deykstra(N, &k, edges, &lenMin, &h, S, F);
	printOutput(N, S, F, k, h, lenMin);
	getchar();
	getchar();
}
Ejemplo n.º 11
0
void TransakceForm::on_btnRemove_clicked()
{
    removeRow();
    checkAmount();
}
Ejemplo n.º 12
0
void TransakceForm::on_btnAdd_clicked()
{
    addRow();
    checkAmount();
}