Example #1
0
void MainWindow::on_action_3_triggered()
{
    QSqlQuery query;
    query.exec("select isadmin from users where login='******'");
    query.next();
    if (query.value(0).toInt()){
        places s(&db);
        s.exec();
        SetDays(Days);
    }else{
        QMessageBox::critical(0,tr("Error!"),tr("You have no right to edit platforms!"));
    }
}
void CBCGPRecurrenceRuleWeekly::SetProperties (const CBCGPAppointmentPropertyList& props)
{
	CBCGPRecurrenceBaseRule::SetProperties (props);

	if (props.GetCount () > 0)
	{
		CBCGPAppointmentProperty* prop = NULL;

		if (props.PropertyExists (BCGP_REC_RULE_PROPERTY_WEEKLY_SPAN))
		{
			prop = (CBCGPAppointmentProperty*)props.Get (BCGP_REC_RULE_PROPERTY_WEEKLY_SPAN);
			m_dwSpan = *prop;
		}

		if (props.PropertyExists (BCGP_REC_RULE_PROPERTY_WEEKLY_DAYS))
		{
			prop = (CBCGPAppointmentProperty*)props.Get (BCGP_REC_RULE_PROPERTY_WEEKLY_DAYS);
			SetDays (*prop);
		}
	}
}
void CBCGPRecurrenceRuleWeekly::Serialize (CArchive& ar)
{
	CBCGPRecurrenceBaseRule::Serialize (ar);

	if (ar.IsStoring ())
	{
		ar << m_dwSpan;
		ar << m_dwDays;
	}
	else
	{
		ar >> m_dwSpan;

		DWORD dwDays = 0;
		ar >> dwDays;
		SetDays (dwDays);

		// for scheme #1
		if (GetID() == 0)
		{
			SetID(BCGP_PLANNER_RULE_WEEKLY);
		}
	}
}
Example #4
0
void MainWindow::on_ttable_cellDoubleClicked(int row, int column)
{
    if (ui->ttable->item(row,column)){
       //Ячейка уже занята
        //Проверяем, не обеденное ли это время
        if (ui->ttable->item(row, column)->statusTip()=="dt") {
            QMessageBox::critical(0,tr("Error!"),tr("You can't work at dinner time!"));
        }else if(ui->ttable->item(row, column)->statusTip()=="ac"){
            ; //В дополнительную строчку работы вставлять нельзя
        }else {


        if(QMessageBox::question(0,tr("Confirm"),tr("Are you really want to insert another work in this cell?"),3,4,0)==3){
            //Узнаём время
            QTime tme=QTime::fromString(ui->ttable->item(row,0)->text(),"h:mm");

            //Узнаём, на сколько часов нужно сократить работу
            QSqlQuery q;
            q.exec("select hours, date from ttable where record_id="+ui->ttable->item(row,column)->statusTip()); q.first();
            int hours=q.value(0).toInt(); QDateTime dat = q.value(1).toDateTime();
            int begin=dat.toString("HH").toInt();
            int tm= tme.toString("HH").toInt();

            //Здесь ещё нужно учесть обед
            QSqlQuery queryD;
            queryD.exec("select value from settings where name='dinner_start_time'"); queryD.first();
            int dinner_start_time=queryD.value(0).toInt();
            queryD.exec("select value from settings where name='dinner_end_time'"); queryD.first();
            int dinner_end_time=queryD.value(0).toInt();
            int dt=0;
            if (begin<dinner_start_time && (begin+hours)>dinner_end_time) dt=1;


            int delta=(hours+begin)-tm+dt;
            QVariant newHours=hours-delta;
            q.exec("update ttable set hours="+newHours.toString()+" where record_id="+ui->ttable->item(row,column)->statusTip());
            q.exec("select place_id from places where name='"+ui->ttable->item(1,column)->text()+"';");
            q.first();
            //Узнаём дату и время
            QDateTime data = QDateTime::fromString(day.addDays((column+1)/(ui->ttable->columnCount() / Days)).toString("dd.MM.yyyy")+" "+tme.toString("hh:mm:ss"), "dd.MM.yyyy hh:mm:ss");
            //Вызываем форму назначения
            order_details s(&db, q.value(0).toInt(), data);
            s.exec();
            SetDays(Days);
            }
        }
    }else{
    QSqlQuery q;
    //Узнаём номер площадки
    if (db.isOpen()){
        q.exec("select place_id from places where name='"+ui->ttable->item(1,column)->text()+"';");
        q.first();
    }
    //Узнаём дату и время
    QTime tme=QTime::fromString(ui->ttable->item(row,0)->text(),"h:mm");
    QDateTime data = QDateTime::fromString(day.addDays((column+1)/(ui->ttable->columnCount() / Days)).toString("dd.MM.yyyy")+" "+tme.toString("hh:mm:ss"), "dd.MM.yyyy hh:mm:ss");
   //Вызываем форму назначения
   order_details s(&db, q.value(0).toInt(), data);
   s.exec();
    SetDays(Days);
    }
}
Example #5
0
void MainWindow::onWeek(){Days=7; SetDays(7);}
Example #6
0
void MainWindow::onThreeDays(){Days=3; SetDays(3);}
Example #7
0
void MainWindow::onTwoDays(){Days=2; SetDays(2);}
Example #8
0
void MainWindow::onOneDay(){Days=1; SetDays(1);}
Example #9
0
void MainWindow::onNext(){
    day=day.addDays(1);
    SetDays(Days);
}
Example #10
0
void MainWindow::onPrev()
{
day=day.addDays(-1);
SetDays(Days);
}