You are on page 1of 11

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Data.Odbc;

namespace prjSimpaticiiPractica
{
public partial class frmClienti : Form
{
OdbcCommand comanda;
OdbcConnection conexiune;
DataSet dsDateLocalitati, dsDateClienti, dsDateFacturi;

public frmClienti()
{
InitializeComponent();
}

private void frmClienti_Load(object sender, EventArgs e)


{
populeazaLocalitati();
}
private void populeazaLocalitati()
{
//initializez o conexiune in mod explicit
conexiune = new OdbcConnection();

//stabilesc stringul de conectare


conexiune.ConnectionString = "Driver={PostgreSQL
ANSI};database=bazaADL;server=localhost;port=5432;uid=postgres;sslmode=disable;readonly=0
;protocol=7.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100
;socket=4096;unknownsizes=0;maxvarcharsize=255;maxlongvarcharsize=8190;debug=0;commlog=0;
optimizer=0;ksqo=1;usedeclarefetch=0;textaslongvarchar=1;unknownsaslongvarchar=0;boolsasc
har=1;parse=0;cancelasfreestmt=0;extrasystableprefixes=dd_;lfconversion=1;updatablecursor
s=1;disallowpremature=0;trueisminus1=0;bi=0;byteaaslongvarbinary=0;useserversideprepare=0
;lowercaseidentifier=0;gssauthusegss=0;xaopt=1;pwd=postgres";
//deschid conexiunea
conexiune.Open();

// MessageBox.Show("S-a deschis conexiunea!!!!");

//incercam sa aducem date din baza de date


//prin intermediul unei comenzi
OdbcCommand comanda;
comanda = new OdbcCommand();
comanda.Connection = conexiune;
comanda.CommandText = "SELECT codpost || ' ' || loc || ' ' || jud AS
denumire, codpost, loc, jud FROM coduri_postale ORDER BY jud, loc";

//definesc cititor (reader)


OdbcDataReader cititor;
cititor = comanda.ExecuteReader();

//definim o tabela "locala"


DataTable tblLocalitati;
tblLocalitati = new DataTable("LOCALITATI");
tblLocalitati.Load(cititor);

// MessageBox.Show("Am obtinut tabela locala");

//construiesc un set de date local pe baza tabelei obtinute anterior


dsDateLocalitati = new DataSet();
dsDateLocalitati.Tables.Add(tblLocalitati);

//populez combobox-ul
cboLocalitati.DataSource = dsDateLocalitati.Tables["LOCALITATI"];
cboLocalitati.DisplayMember = "denumire";
cboLocalitati.ValueMember = "codpost";
cboLocalitati.Refresh();
}

private void cboLocalitati_SelectedIndexChanged(object sender, EventArgs e)


{
//"punem mana" pe codul postal aferent localitatii selectate de utilizator
string codPostalSelectat;
codPostalSelectat = cboLocalitati.SelectedValue.ToString();

//cu acest cod postal obtinem lista clientilor aferenti


comanda = new OdbcCommand();
comanda.CommandText = "SELECT * FROM clienti WHERE codpost=? ORDER BY dencl";
comanda.Connection = conexiune;

comanda.Parameters.AddWithValue("codpost", codPostalSelectat);

//definesc cititor (reader)


OdbcDataReader cititor;
cititor = comanda.ExecuteReader();

//definim o tabela "locala"


DataTable tblClienti;
tblClienti = new DataTable("CLIENTI");
tblClienti.Load(cititor);

dsDateClienti = new DataSet();


dsDateClienti.Tables.Add(tblClienti);

//curat gridul cu facturi


grdFacturi.DataMember = null;
grdFacturi.Refresh();
// MessageBox.Show("Tocmai am facut refresh la facturi");

//stabilesc sursa de date pentru gridul cu clienti


grdClienti.DataSource = dsDateClienti;
grdClienti.DataMember = "CLIENTI";

grdClienti.Refresh();

//actualizam eticheta cu informatia sintetica


lblClienti.Text = "Nr clienti = " +
dsDateClienti.Tables["CLIENTI"].Rows.Count.ToString();
}

private void grdClienti_SelectionChanged(object sender, EventArgs e)


{
//curat gridul cu facturi
grdFacturi.DataMember = null;
grdFacturi.Refresh();

//MessageBox.Show("Te-ai deplasat in grid");


//obtin valoarea codului client (de pe prima celula) de pe linia curent
selectata
//din grid
int codClientCurent;
codClientCurent =
Int32.Parse(grdClienti.CurrentRow.Cells[0].FormattedValue.ToString());
// MessageBox.Show("Codul clientului selectat este " + codClientCurent);
// MessageBox.Show(grdClienti.RowCount.ToString());

comanda = new OdbcCommand();


comanda.CommandText = "SELECT * FROM facturi WHERE codcl=?";
comanda.Connection = conexiune;

comanda.Parameters.AddWithValue("codcl", codClientCurent );

//definesc cititor (reader)


OdbcDataReader cititor;
cititor = comanda.ExecuteReader();

//definim o tabela "locala"


DataTable tblFacturi;
tblFacturi = new DataTable("FACTURI");
tblFacturi.Load(cititor);

dsDateFacturi = new DataSet();


dsDateFacturi.Tables.Add(tblFacturi );

//stabilesc sursa de date pentru gridul cu clienti


grdFacturi.DataSource = dsDateFacturi;
grdFacturi.DataMember = "FACTURI";
grdFacturi.Refresh();

//actualizare eticheta cu suma totala a facturilor emise clientului curent


selectat
comanda.CommandText = "SELECT SUM(cantitate*pretunit) AS total FROM clienti c
INNER JOIN facturi F ON c.codcl=f.codcl INNER JOIN liniifact lf ON f.nrfact=lf.nrfact
WHERE c.codcl=?";
comanda.Parameters.Clear();
comanda.Parameters.AddWithValue("codcl", codClientCurent);

cititor = comanda.ExecuteReader();

//definim o tabela "locala"


DataTable tblTotalFacturi;
tblTotalFacturi = new DataTable("TOTALFACTURI");
tblTotalFacturi.Load(cititor);

dsDateFacturi = new DataSet();


dsDateFacturi.Tables.Add(tblTotalFacturi);

lblFacturi.Text = "Total facturi = " +


dsDateFacturi.Tables["TOTALFACTURI"].Rows[0].ItemArray[0].ToString();

private void grdClienti_CellContentClick(object sender, DataGridViewCellEventArgs


e)
{

}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace prjSimpaticiiPractica
{
public partial class frmPrincipal : Form
{
public frmPrincipal()
{
InitializeComponent();
}

private void iesireToolStripMenuItem_Click(object sender, EventArgs e)


{
this.Close();
}

private void localitatiToolStripMenuItem_Click(object sender, EventArgs e)


{
new frmLocalitati().ShowDialog();
}

private void despreToolStripMenuItem_Click(object sender, EventArgs e)


{
afiseazaInformatii();
}
private void afiseazaInformatii()
{
MessageBox.Show("Aplicatie realizata special pentru InfoEc anul 2 spre 3");
}

private void frmPrincipal_MouseUp(object sender, MouseEventArgs e)


{
//interceptez care este butonul apasat de utilizator pe mouse
if (e.Button == MouseButtons.Right)
{
// MessageBox.Show("Click dreapta");
//afisez meniul contextual pe care l-am definit anterior
this.meniuContextual.Show(this.PointToClient(Cursor.Position));
//afisarea se realizeaza la pozitia curenta a cursorului
}

private void despreToolStripMenuItem1_Click(object sender, EventArgs e)


{
afiseazaInformatii();
}

private void ajutorToolStripMenuItem_Click(object sender, EventArgs e)


{
MessageBox.Show("Aplicatia se utilizeaza cu tastele si mouse-ul");
}

private void refreshToolStripMenuItem_Click(object sender, EventArgs e)


{

private void frmPrincipal_Load(object sender, EventArgs e)


{

private void clientiToolStripMenuItem_Click(object sender, EventArgs e)


{
new frmClienti().Show();
}

private void clientiPeRegiuniToolStripMenuItem_Click(object sender, EventArgs e)


{
new frmRaportRegiuniClienti().Show();
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using System.Data.Odbc;

namespace prjSimpaticiiPractica
{
public partial class frmRaportRegiuniClienti : Form
{
public frmRaportRegiuniClienti()
{
InitializeComponent();
}

private void frmRaportRegiuniClienti_Load(object sender, EventArgs e)


{
// TODO: This line of code loads data into the
'dsSursaRaportLocalitatiClienti.tblRegiuniClienti' table. You can move, or remove it, as
needed.

this.tblRegiuniClientiTableAdapter.Connection.ConnectionString +=
";pwd=postgres;";
populeazaRegiuni();
cboRegiune.Visible = false;
// MessageBox.Show("Voi face refreshul pe conexiunea " +
this.tblRegiuniClientiTableAdapter.Connection.ConnectionString.ToString());
this.tblRegiuniClientiTableAdapter.Fill(this.dsSursaRaportLocalitatiClienti.tblRegiuniCli
enti);

this.rvRaport.RefreshReport();
// MessageBox.Show("Am facut refreshul");
}

private void chkParametru_CheckedChanged(object sender, EventArgs e)


{
if (chkParametru.Checked == true)
{
cboRegiune.Visible = false;
//actualizez raportul cu TOATE regiunile

this.tblRegiuniClientiTableAdapter.Fill(this.dsSursaRaportLocalitatiClienti.tblRegiuniCli
enti);

this.rvRaport.RefreshReport();
}
else
{
populeazaRegiuni();
}
}

private void populeazaRegiuni()


{
cboRegiune.Visible = true;
//aducem lista regiunilor din baza de date in combobox
//initializez o conexiune in mod explicit
OdbcConnection conexiune;
OdbcCommand comanda;
DataSet dsDateLocalitati;
conexiune = new OdbcConnection();

//stabilesc stringul de conectare


conexiune.ConnectionString = "Driver={PostgreSQL
ANSI};database=bazaADL;server=localhost;port=5432;uid=postgres;sslmode=disable;readonly=0
;protocol=7.4;fakeoidindex=0;showoidcolumn=0;rowversioning=0;showsystemtables=0;fetch=100
;socket=4096;unknownsizes=0;maxvarcharsize=255;maxlongvarcharsize=8190;debug=0;commlog=0;
optimizer=0;ksqo=1;usedeclarefetch=0;textaslongvarchar=1;unknownsaslongvarchar=0;boolsasc
har=1;parse=0;cancelasfreestmt=0;extrasystableprefixes=dd_;lfconversion=1;updatablecursor
s=1;disallowpremature=0;trueisminus1=0;bi=0;byteaaslongvarbinary=0;useserversideprepare=0
;lowercaseidentifier=0;gssauthusegss=0;xaopt=1;pwd=postgres";
//deschid conexiunea
conexiune.Open();

// MessageBox.Show("S-a deschis conexiunea!!!!");

//incercam sa aducem date din baza de date


//prin intermediul unei comenzi
comanda = new OdbcCommand();
comanda.Connection = conexiune;
comanda.CommandText = "SELECT DISTINCT regiune FROM judete ORDER by regiune";

//definesc cititor (reader)


OdbcDataReader cititor;
cititor = comanda.ExecuteReader();

//definim o tabela "locala"


DataTable tblLocalitati;
tblLocalitati = new DataTable("LOCALITATI");
tblLocalitati.Load(cititor);

// MessageBox.Show("Am obtinut tabela locala");

//construiesc un set de date local pe baza tabelei obtinute anterior


dsDateLocalitati = new DataSet();
dsDateLocalitati.Tables.Add(tblLocalitati);

//populez combobox-ul
cboRegiune.DataSource = dsDateLocalitati.Tables["LOCALITATI"];
cboRegiune.DisplayMember = "regiune";
cboRegiune.ValueMember = "regiune";
cboRegiune.Refresh();

}
private void cboRegiune_SelectedIndexChanged(object sender, EventArgs e)
{
//actualizez sursa de date a raportului folosind un "FillBY" parametrizat
//pe care l-am definit anterior in sursa de date de tip Data Set

//"pun mana" pe regiunea curent selectata de catre utilizator


string regiuneUtilizator;
regiuneUtilizator = cboRegiune.SelectedValue.ToString();
// MessageBox.Show(regiuneUtilizator);

this.tblRegiuniClientiTableAdapter.FillByRegiune(this.dsSursaRaportLocalitatiClienti.tblR
egiuniClienti, regiuneUtilizator);
this.rvRaport.RefreshReport();
}
}
}

You might also like