// visergebnis.cpp: Implementierungsdatei
//

#include "stdafx.h"
#include "Leipzigoberftest.h"
#include "visergebnis.h"
#include "MySQLConnector.h"

using namespace std;
using namespace sql;
// visergebnis-Dialogfeld

IMPLEMENT_DYNAMIC(visergebnis, CDialog)

visergebnis::visergebnis(CWnd* pParent /*=NULL*/)
: CDialog(visergebnis::IDD, pParent)
{

}

visergebnis::~visergebnis()
{
}

void visergebnis::DoDataExchange( CDataExchange* pDX)
{
    CDialog::DoDataExchange( pDX);
}

BEGIN_MESSAGE_MAP(visergebnis, CDialog)
ON_WM_PAINT()
END_MESSAGE_MAP()

// visergebnis-Meldungshandler

BOOL visergebnis::OnInitDialog()
{
    wndFilterKontrolleDialog.Create(IDD_FILTERKONTROLLE,0);
    wndFilterKontrolleDialog.CenterWindow(this);
    wndFilterKontrolleDialog.ShowWindow(SW_SHOW);
    return TRUE;
}

int konfid1;
int konfigurationsInt1;

void visergebnis::OnPaint()
{
    CPaintDC dc( this); // device context for painting
    // TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein.
    // CDialog::OnPaint() soll zum Zeichnen von Meldungen nicht aufgerufen werden.
    CDC pdC;
    pdC.CreateCompatibleDC( &dc);
    CDC* pDC;
    pDC = &pdC;
    MySQLConnector *mysql = new MySQLConnector();

    //try{
    CString nstr;
    mysql->holeKonfigurationen();

    mysql->holeArten( pDC, wndFilterKontrolleDialog.ErgebnisFilter);
    //AfxMessageBox("hole Arten",MB_YESNO,0);

    // fügen Konfigurations IDs der ComboBox hinzu
    for( int i = 0; i < mysql->konfigurationenAnzahl; i++)
    {
        //char konfString[11];
        //_itoa_s(mysql->konfigurationen[i], konfString , 10);
        //CString str(konfString); 
        nstr.Format( _T( "%d"), mysql->konfigurationen[ i]);

        //wndFilterKontrolleDialog.ComboBox->AddString((LPCTSTR)str);
        wndFilterKontrolleDialog.m_konfigID.AddString( nstr);
        //wndFilterKontrolleDialog.ComboBox->AddString((LPCTSTR)nstr);
        //AfxMessageBox("in Konfigurationen",MB_YESNO,0);
    }

    //AfxMessageBox("nach Konfigurationen",MB_YESNO,0);
    // wählen die erste KonfigurationsID aus
    //char konfStringAuswahl[11];
    //_itoa_s(mysql->konfigurationen[0], konfStringAuswahl , 10);
    //CString str(konfStringAuswahl); 
    nstr.Format( _T( "%d"), mysql->konfigurationen[ 0]);
    wndFilterKontrolleDialog.m_konfigID.SelectString( 0, nstr);
    if( wndFilterKontrolleDialog.erneuereCombobox == true)
    {
        for( int i = 0;
                i
                        < mysql->artenAnzahl[ wndFilterKontrolleDialog
                                .KonfigurationsIndex2]; i++)
        {
            wndFilterKontrolleDialog.addArt(
                    (LPCTSTR) mysql->ArtenNamen[ wndFilterKontrolleDialog
                            .KonfigurationsIndex2][ i]);
            //wndFilterKontrolleDialog.ComboBox2->AddString((LPCTSTR)mysql->ArtenNamen[wndFilterKontrolleDialog.KonfigurationsIndex2][i]);
            wndFilterKontrolleDialog.m_combo2.SelectString( 0,
                    (LPCTSTR) mysql->ArtenNamen[ wndFilterKontrolleDialog
                            .KonfigurationsIndex2][ 0]);
            wndFilterKontrolleDialog.erneuereCombobox = false;
        }
    }
    //AfxMessageBox("vor dem Zeichnen",MB_YESNO,0);
    // zeichne alles Pixel ohne Ergebnisse
    if( wndFilterKontrolleDialog.zeigeAllgemein)
    {
        mysql->holePixel( pDC, wndFilterKontrolleDialog.Filter);
    }

    // zeichne den Ergebnis Layer darüber
    if( wndFilterKontrolleDialog.zeigeErgebnisse)
    {
        konfid1 = wndFilterKontrolleDialog.KonfigurationsIndex2;
        konfigurationsInt1 = mysql->konfigurationen[ konfid1];

        if( wndFilterKontrolleDialog.ErgebnisFilter == mysql->ART_FILTER
                || wndFilterKontrolleDialog.ErgebnisFilter
                        == mysql->QUALITAET_FILTER)
        {
            mysql->holeArtenLayer( pDC, wndFilterKontrolleDialog.ErgebnisFilter,
                    konfigurationsInt1,
                    wndFilterKontrolleDialog.KonfigurationsIndex2,
                    wndFilterKontrolleDialog.ArtenIndex);
        } else
        {
            mysql->holeErgebnisLayer( pDC,
                    wndFilterKontrolleDialog.ErgebnisFilter,
                    konfigurationsInt1);
        }
    }
    mysql->holeUmriss( pDC);

    // plottet die Konfigurations ID aus.
    char bufferKonfID[ 33];
    //itoa(konfigurationsInt,bufferKonfID,10);
    //CString str3(bufferKonfID);
    CString str3;
    str3.Format( _T( "%d"), konfigurationsInt1);

    pDC->SetTextColor( RGB( 0, 0, 0));
    pDC->TextOut( 10, 30, _T( "Konfigurations ID:"));
    pDC->TextOut( 10, 30 + 20, str3);
    // trennen die Datenbank Verbindung

    // falls der speicher Bool gesetzt ist speichern wir die jetzige Ansicht ab
    /*if(wndFilterKontrolleDialog.speichereBild){
     if(wndFilterKontrolleDialog.ErgebnisFilter == mysql->ART_FILTER || wndFilterKontrolleDialog.ErgebnisFilter == mysql->QUALITAET_FILTER){
     this->speicherBildAb(pDC,konfigurationsInt,wndFilterKontrolleDialog.Filter,mysql->ArtenNamen[wndFilterKontrolleDialog.KonfigurationsIndex2][wndFilterKontrolleDialog.ArtenIndex]);
     }else{
     this->speicherBildAb(pDC,konfigurationsInt,wndFilterKontrolleDialog.Filter,_T("-1"));
     }
     wndFilterKontrolleDialog.speichereBild = false;
     }
     */
    //	mysql->closeConnection();

    /*}catch(sql::SQLException &e) {
     int code =  e.getErrorCode();
     string error = e.what();
     char er[1000];
     lstrcpy(er, error.c_str());
     AfxMessageBox(er,MB_YESNO,0);
     }*/

}
