using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            RefreshList();
        }
        public void RefreshList()
        {
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A1;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select * from Citalac", connection);
            SqlDataReader reader = komanda.ExecuteReader();
            listView1.Items.Clear();
            comboBox1.Items.Clear();
            
            while (reader.Read())
            {
                ListViewItem item = new ListViewItem(reader[0].ToString());
                item.SubItems.Add(reader[1].ToString());
                item.SubItems.Add(reader[2].ToString());
                item.SubItems.Add(reader[3].ToString());
                item.SubItems.Add(reader[4].ToString());
                listView1.Items.Add(item);
                comboBox1.Items.Add(reader[0].ToString() + " - " + reader[2].ToString() + " " + reader[3].ToString());
            }
            connection.Close();
            comboBox1.SelectedIndex = 0;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            numericUpDown2.Minimum = numericUpDown1.Value + 10;
        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count == 0)
            {
                textBox1.Text = (listView1.Items.Count+1).ToString();
            }
            if (listView1.SelectedItems.Count > 0)
            {
                textBox1.Text = listView1.SelectedItems[0].SubItems[0].Text;
                textBox2.Text = listView1.SelectedItems[0].SubItems[1].Text;
                textBox3.Text = listView1.SelectedItems[0].SubItems[2].Text;
                textBox4.Text = listView1.SelectedItems[0].SubItems[3].Text;
                textBox5.Text = listView1.SelectedItems[0].SubItems[4].Text;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            int br = listView1.Items.Count;
            for(int i = 0; i < br; i++) 
            {
                if (textBox1.Text == listView1.Items[i].SubItems[0].Text)
                {
                    textBox2.Text = listView1.Items[i].SubItems[1].Text;
                    textBox3.Text = listView1.Items[i].SubItems[2].Text;
                    textBox4.Text = listView1.Items[i].SubItems[3].Text;
                    textBox5.Text = listView1.Items[i].SubItems[4].Text;
                    break;
                }
                
                else
                {
                    textBox2.Text = "";
                    textBox3.Text = "";
                    textBox4.Text = "";
                    textBox5.Text = "";
                }
            }
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox2.Text == "" || textBox3.Text == "" || textBox4.Text == "" || textBox5.Text == "")
                {
                    throw new Exception("Nisu popunjeni svi podaci");
                }
                if (textBox1.Text == listView1.SelectedItems[0].SubItems[0].Text)
                {
                    throw new Exception("ne mozete uneti vec postojeceg!");
                }
                if (Convert.ToInt32(textBox1.Text) > (listView1.Items.Count + 1))
                {
                    throw new Exception("ne mozete uneti veci od sledecg u nizu");
                }
                int broj = Convert.ToInt32(textBox1.Text);
                SqlConnection connection = new SqlConnection("Data Source=DESKTOP-8O361E7;Initial Catalog=A1;Integrated Security=True");
                connection.Open();
                SqlCommand komanda = new SqlCommand("insert into Citalac values(@p1,@p2,@p3,@p4)", connection);
                komanda.Parameters.AddWithValue("p1", textBox2.Text);
                komanda.Parameters.AddWithValue("p2", textBox3.Text);
                komanda.Parameters.AddWithValue("p3", textBox4.Text);
                komanda.Parameters.AddWithValue("p4", textBox5.Text);
                komanda.ExecuteNonQuery();
                RefreshList();
                textBox1.Clear();
                textBox2.Clear();
                textBox3.Clear();
                textBox4.Clear();
                textBox5.Clear();
            }
            catch (FormatException)
            {
                MessageBox.Show("Greska: nisu uneti podaci u dobrom formatu");
            }
            catch(Exception eks)
            {
                MessageBox.Show("Greska: " + eks.Message);
            }

        }

        private void button3_Click(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A1;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select (ime + ' '+ prezime) as 'Citalac', YEAR(Na_Citanju.DatumUzimanja) as'Godina',COUNT(Na_Citanju.CitalacID) as'Broj iznajmljivanja',SUM(case when DatumVracanja is NULL then 1 else 0 end) as 'Nije vraceno' from Citalac inner join Na_Citanju on Citalac.CitalacID=Na_Citanju.CitalacID where Citalac.CitalacID=@id and YEAR(Na_Citanju.DatumUzimanja) between @od and @do group by YEAR(Na_Citanju.DatumUzimanja),ime,prezime,Na_Citanju.CitalacID", connection);
            komanda.Parameters.AddWithValue("@id", comboBox1.Text.Split()[0]);
            komanda.Parameters.AddWithValue("@od", numericUpDown1.Value);
            komanda.Parameters.AddWithValue("@do", numericUpDown2.Value);
            
            SqlDataAdapter adapter = new SqlDataAdapter(komanda);
            
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            dataGridView1.DataSource = dt;
            chart1.DataSource = dt;
            chart1.Series[0].XValueMember = "Godina";
            chart1.Series[0].YValueMembers = "Broj iznajmljivanja";
            chart1.Series[1].XValueMember = "Godina";
            chart1.Series[1].YValueMembers = "Nije vraceno";
            chart1.DataBind();

        }

        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            numericUpDown2.Minimum = numericUpDown1.Value + 10;
        }
    }
}

A1

a1
create table Ogranak(id int primary key identity(1,1), nazivSkole varchar(50));
alter table Knjiga add idOgranka int foreign key references Ogranak(id);
alter table Knjiga add datumNabavke date check(datumNabavke >= '2000-01-01');
-----------------------
a2
alter table Knjiga add vrstaFormata varchar(20) check(vrstaFormata in ('tvrdi povez','meki povez','ilustrovano izdanje'));
alter table Citalac add poslednjaIsplataClanarine date check(poslednjaIsplataClanarine >= GETDATE());
--------------------------------------------
a3
create table Podizvodjac (
    id int primary key, PocetakAngazovanja date default(GETDATE()),
    KrajAngazovanja date default(DATEFROMPARTS(YEAR(GETDATE()), 12, 31)),
    constraint CK_KrajAngazovanja check(KrajAngazovanja > PocetakAngazovanja)
);

alter table Angazman add idPodizvodjaca int, foreign key (idPodizvodjaca) references Podizvodjac(id);
alter table Angazman add PocetakPodizvodjaca date;
-----------------------------
a4
create table DodatnePonude(PonudaID int primary key, naziv varchar(20));

create table PonudeKucice(
  KucicaID int foreign key references kucica(KucicaID),
  UslugaID int foreign key references DodatnePonude(PonudaID),
  primary key (KucicaID, UslugaID),
  cenaOd float,
  cenaDo float,
  constraint Cena_Check check (cenaOd < cenaDo)
);
--------------------------------
a5
create table Nastavnik(NastavnikID int primary key, ime varchar(20));
alter table Aktivnosti add NastavnikID int foreign key references Nastavnik(NastavnikID);

alter table Dete add DatumPrijema date, check(DatumPrijema > DatumRodjenja);
-------------------
a6
create table vlasnik (
id int primary key, ime varchar(20), prezime varchar(20), telefon int, adresa varchar(20), prvi_vlasnik bit
);

alter table vozilo add idvlasnika int foreign key references vlasnik(id);
drop table vlasnik;

alter table vozilo add pocetna_cena float check (pocetna_cena>=0);
-------------------------------
a7
create table Akreditacija(idAkreditacije int primary key, naziv varchar(50), datum date check(YEAR(datum)>(YEAR(GETDATE())-7)))

create table Smer(idSmera int primary key, naziv varchar(50), idAkreditacije int foreign key references Akreditacija(idAkreditacije))

create table PredmetiSmera(idSmera int foreign key references Smer(idSmera), idPredmeta int foreign key references Predmet(PredmetId))
----------------------
a9
create table igrac (
id int primary key, ime varchar(20), prezime varchar (20), datum date, zemlja varchar(20)
);

create table timovi(
id int foreign key references igrac (id) not null,
idkluba int foreign key references klub(klubid) not null,
pocetak date not null, kraj date, check (pocetak<kraj)
);
-------------------------
-- A10 Prosirenje
create table Oprema(
	idOpreme int primary key,
	stap varchar(20),
	masinica varchar(20),
	najlon varchar(20),
	mamac varchar(20),
	udica varchar(20),
);

alter table Ulov add idOpreme int foreign key references Oprema(idOpreme);

--------- A11 Prosirenje
create table Zaposleni(
	idZaposlenog int primary key,
	ime varchar(20),
	prezime varchar(20),
	funkcija varchar(20),
);

create table Upotreba(
	idZaposlenog int foreign key references Zaposleni(idZaposlenog),
	KnjigaID int foreign key references Knjiga(KnjigaID),
	datumUzimanja date,
	datumVracanja date,
	check(datumVracanja > datumUzimanja),
);

alter table Izdavac add adresa varchar(30);

--------------- A12 Prosirenje
create table Igrac(
	IgracID int primary key,
	ime varchar(30),
	prezime varchar(30),
	datumRodjenja date,
	zemljaPorekla varchar(20),
);

create table Igra(
	IgracID int foreign key references Igrac(IgracID),
	datumPocetka date not null,
	datumZavrsetka date,
	check(datumZavrsetka > datumPocetka or datumZavrsetka IS NULL),
);

------------- A13 Prosirenje
create table Zaposleni(
    zaposleniID int primary key,
    ime varchar(30),
    prezime varchar(30),
    telefon varchar(15),
    adresa varchar(30),
);

create table UzetiFilmovi(
    zaposleniID int foreign key references Zaposleni(zaposleniID),
    FilmID int foreign key references film(FilmID),
    datumUzimanja Date,
    datumVracanja Date,
    check(datumUzimanja <= datumVracanja),
);

alter table film add uzet bit;


-------------- A14 Prosirenje
create table Apoteka(
    apotekaID int primary key,
    imeApoteke varchar(30),
    brojTelefona varchar(15),
    emailAdresa varchar(30) check (emailAdresa like'%@%.%'),
    adresa varchar(30),
    grad varchar(30),
    drzava varchar(30),
);

create table Narudzbine(
    apotekaID int foreign key references Apoteka(apotekaID),
    lekID int foreign key references Lek(LekID),
    kolicina int check(kolicina > 0),
    datumNarudzbe date,
);

alter table Pakovanje add rokTrajanja date;

------------- A15 Prosirenje
create table Simptom(
	SimptomID int primary key,
	opis varchar(255),
	jacina varchar(30) check (jacina in ('blag','izrazen','jak')),
);

create table Bolest_Simptom(
	SimptomID int foreign key references Simptom(SimptomID),
	BolestID int foreign key references Bolest(BolestID),
);


alter table Proizvodjac add adresa varchar(30), grad varchar(30);	

-- A30 Prosirenje
create table Sudija(
	SudijaID int primary key,
	ime varchar(30),
	prezime varchar(30),
	adresa varchar(30),
	telefon varchar(30),
	email varchar(30) check (email like '%@%.%'),
);

create table Sudija_Teren(
	TerenID int foreign key references Teren(TerenID),
	SudijaID int foreign key references Sudija(SudijaID),
);

alter table Teren add kategorijaTerena varchar(20);

Prosirenja

A2
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            RefreshList();
        }
        public void RefreshList()
        {
            listView1.Items.Clear();
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A2;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select * from autor", connection);
            SqlDataReader reader = komanda.ExecuteReader();
            while (reader.Read())
            {
                ListViewItem item = new ListViewItem(reader[0].ToString());
                item.SubItems.Add(reader[1].ToString());
                item.SubItems.Add(reader[2].ToString());
                item.SubItems.Add(reader[3].ToString().Split()[0]);
                listView1.Items.Add(item);
            }
            connection.Close();
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            try
            {
                if (listView1.SelectedItems.Count==0)
                {
                    throw new Exception("nije selektovan ni jedan");
                }
                SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A2;Integrated Security=True");
                connection.Open();
                SqlCommand komanda = new SqlCommand("delete from autor where autorid=@p1", connection);
                SqlCommand komanda1 = new SqlCommand("delete from napisali where autorid=@p1", connection);
                komanda.Parameters.AddWithValue("@p1", Convert.ToInt32(textBox1.Text));
                komanda1.Parameters.AddWithValue("@p1", Convert.ToInt32(textBox1.Text));
           
                komanda1.ExecuteNonQuery();    
                komanda.ExecuteNonQuery();

                RefreshList();
                MessageBox.Show("uspesno ste obrisali lika");
                textBox1.Text = "";
                textBox2.Text = "";
                textBox3.Text = "";
                textBox4.Text = "";
            }
            catch(Exception eks)
            {
                MessageBox.Show("gRESKA: " + eks.Message);
            }
            
        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            Form2 forma = new Form2();
            this.Hide();
            forma.Show();
        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                textBox1.Text = listView1.SelectedItems[0].SubItems[0].Text;
                textBox2.Text = listView1.SelectedItems[0].SubItems[1].Text;
                textBox3.Text = listView1.SelectedItems[0].SubItems[2].Text;
                textBox4.Text = listView1.SelectedItems[0].SubItems[3].Text;
            }
        }
    }
}
------------------------druga
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            comboBox1.Items.Clear();
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A2;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select * from autor", connection);
            SqlDataReader reader = komanda.ExecuteReader();
            while (reader.Read())
            {
                comboBox1.Items.Add(reader[1].ToString()+" "+reader[2].ToString());
            }
            connection.Close();
        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A2;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select YEAR(Na_Citanju.DatumUzimanja) as 'Godina', COUNT(Na_Citanju.DatumUzimanja) as'Broj' from Na_Citanju inner join Knjiga on Na_Citanju.knjigaid=knjiga.knjigaid inner join napisali on knjiga.knjigaid=napisali.knjigaid inner join autor on napisali.autorid=autor.autorid where (autor.ime + ' '+ autor.prezime)=@imePisca and YEAR(Na_Citanju.DatumUzimanja)> YEAR(GETDATE())-@godina group by YEAR(Na_Citanju.DatumUzimanja)", connection);
            DataTable dt = new DataTable();
            SqlDataAdapter adapter = new SqlDataAdapter(komanda);
            komanda.Parameters.AddWithValue("@imePisca", comboBox1.Text);
            komanda.Parameters.AddWithValue("@godina", Convert.ToInt32(numericUpDown1.Value));
            adapter.Fill(dt);
            dataGridView1.DataSource = dt;
            chart1.DataSource = dt;
            chart1.Series[0].XValueMember = "Godina";
            chart1.Series[0].YValueMembers = "Broj";
            chart1.DataBind();
            connection.Close();
        }
    }
}

A2

A3
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            PopuniListView();
        }
        public void PopuniListView()
        {
            listView1.Items.Clear();
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A3;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select * from Projekat", connection);
            SqlDataReader reader = komanda.ExecuteReader();
            while (reader.Read())
            {
                ListViewItem item = new ListViewItem(reader[0].ToString());
                item.SubItems.Add(reader[1].ToString());
                item.SubItems.Add(reader[2].ToString());
                item.SubItems.Add(reader[3].ToString());
                item.SubItems.Add(reader[4].ToString());
                item.SubItems.Add(reader[5].ToString());
                listView1.Items.Add(item);
            }
            connection.Close();
        }
        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                textBox1.Text = listView1.SelectedItems[0].SubItems[0].Text;
                textBox2.Text = listView1.SelectedItems[0].SubItems[1].Text;
                textBox3.Text = listView1.SelectedItems[0].SubItems[2].Text.Split()[0].ToString();
                textBox4.Text = listView1.SelectedItems[0].SubItems[3].Text;
                if (listView1.SelectedItems[0].SubItems[4].Text == "True")
                {
                    checkBox1.Checked = true;
                }
                else
                {
                    checkBox1.Checked = false;
                }
                textBox5.Text = listView1.SelectedItems[0].SubItems[5].Text;
            }
        }
        public void WriteLog()
        {
            string filePath = @"C:\Users\Nidzo\Desktop\MATURA SANJA GLAVNO\1 VEZBANJE ZA MATURU ZADACI SVI\PROGRAMIRANJE\A3 - Evidencija radnika\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\log_" + DateTime.Now.Day + "_" + DateTime.Now.Month + "_" + DateTime.Now.Year + ".txt";

            using (StreamWriter writer = new StreamWriter(filePath, true))
            {
              

                writer.WriteLine(textBox1.Text + " " + textBox2.Text);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (listView1.SelectedItems.Count == 0)
                {

                    throw new Exception("nijedan red nije selektovan");
                }
                if (checkBox1.Checked == true && (DateTime.Now.Year - (Convert.ToDateTime(textBox3.Text).Year) >= 5))
                {
                    SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A3;Integrated Security=True");
                    connection.Open();
                    SqlCommand komanda1 = new SqlCommand("delete from Angazman where projekatID=@p1", connection);
                    SqlCommand komanda2 = new SqlCommand("delete from Projekat where projekatID=@p1", connection);
                    komanda1.Parameters.AddWithValue("@p1", textBox1.Text);
                    komanda2.Parameters.AddWithValue("@p1", textBox1.Text);
                    komanda1.ExecuteNonQuery();
                    komanda2.ExecuteNonQuery();
                    MessageBox.Show("Uspesno obrisan");
                    PopuniListView();
                    WriteLog();
                    textBox1.Clear();
                    textBox2.Clear();
                    textBox3.Clear();
                    textBox4.Clear();
                    textBox5.Clear();
                    checkBox1.Checked = false;
                    connection.Close();
                }
                else
                {
                    MessageBox.Show("Nije ispunjen uslov brisanja");
                }
            }
            catch (Exception eks)
            {
                
                MessageBox.Show("greska: " + eks.Message);
            }

        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Form2 forma = new Form2();
            this.Hide();
            forma.Show();
        }
    }
}
-----------------------druga
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A3;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select YEAR(Projekat.DatumPocetka) as 'Godina',COUNT(distinct Projekat.ProjekatID) as 'Broj projekata',COUNT(Angazman.RadnikID) as 'Broj radnika' from projekat inner join angazman on projekat.projekatid=angazman.projekatid where YEAR(Projekat.DatumPocetka)>YEAR(GETDATE())-@godina group by YEAR(Projekat.DatumPocetka)", connection);
            komanda.Parameters.AddWithValue("@godina",numericUpDown1.Value);
            SqlDataAdapter adapter = new SqlDataAdapter(komanda);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            dataGridView1.DataSource = dt;
            chart1.DataSource = dt;
            chart1.Series[0].XValueMember = "Godina";
            chart1.Series[0].YValueMembers = "Broj radnika";
            chart1.DataBind();
            connection.Close();
        }
    }
}

A3

A4
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            PopuniListView();
            PopuniCB();
            comboBox1.SelectedIndex = 0;
        }
        public void PopuniCB()
        {
            comboBox1.Items.Clear();
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A4;Integrated Security=True");
            connection.Open();
            SqlCommand komandica = new SqlCommand("select grad from grad order by grad", connection);
            SqlDataReader reader = komandica.ExecuteReader();
            while (reader.Read())
            {
                comboBox1.Items.Add(reader[0].ToString());
            }
            connection.Close();
        }
        public void PopuniListView()
        {
            listView1.Items.Clear();
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A4;Integrated Security=True");
            connection.Open();
            SqlCommand komandica = new SqlCommand("select selo.seloid as 'Sifra',selo.naziv, grad.grad from selo inner join grad on selo.gradid=grad.gradid", connection);
            SqlDataReader reader = komandica.ExecuteReader();
            while (reader.Read())
            {
                ListViewItem item = new ListViewItem(reader[0].ToString());
                item.SubItems.Add(reader[1].ToString());
                item.SubItems.Add(reader[2].ToString());
                listView1.Items.Add(item);
            }
            connection.Close();
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Form2 forma = new Form2();
            this.Hide();
            forma.Show();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                textBox1.Text = listView1.SelectedItems[0].SubItems[0].Text;
                textBox2.Text = listView1.SelectedItems[0].SubItems[1].Text;
                comboBox1.Text = listView1.SelectedItems[0].SubItems[2].Text;
            }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

            bool found = false;
            listView1.SelectedItems.Clear();
            for(int i = 0; i < listView1.Items.Count; i++)
            {
                if (textBox1.Text == listView1.Items[i].SubItems[0].Text)
                {
                    listView1.Items[i].Selected = true;
                    found = true;
                    break;
                }
            }
            if (!found)
            {
                textBox1.Clear();
                textBox2.Clear();
                comboBox1.Text = "";
            }
        }
        public void WriteLog(string greskica)
        {
            string putanja = @"C:\Users\Nidzo\Desktop\MATURA SANJA GLAVNO\1 VEZBANJE ZA MATURU ZADACI SVI\PROGRAMIRANJE\A4 - Seoski turizam\WindowsFormsApp1\WindowsFormsApp1\bin\Debug\error.txt";
            using(StreamWriter writer = new StreamWriter(putanja, true))
            {

                writer.WriteLine("Datum: "+ DateTime.Now.Day+"."+DateTime.Now.Month+"."+DateTime.Now.Year+". \t"+greskica);
                writer.Close();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (textBox1.Text == "" || textBox2.Text == "" || comboBox1.Text == "")
                {
                    throw new Exception("ilija rs");
                }
                int broj = Convert.ToInt32(textBox1.Text);

                SqlConnection connection = new SqlConnection("Data Source=DESKTOP-8O361E7;Initial Catalog=A4;Integrated Security=True");
                connection.Open();
                SqlCommand komanda1 = new SqlCommand("select gradid from grad where grad=@naziv", connection);
                SqlCommand komanda2 = new SqlCommand("update selo set naziv=@p1,gradid=@p2 where seloid=@p3", connection);
                komanda1.Parameters.AddWithValue("@naziv", comboBox1.Text);
                komanda2.Parameters.AddWithValue("@p1", textBox2.Text);
                komanda2.Parameters.AddWithValue("@p2", komanda1.ExecuteScalar());
                komanda2.Parameters.AddWithValue("@p3", textBox1.Text);
                komanda2.ExecuteNonQuery();
                MessageBox.Show("brao majmune");
                PopuniListView();
                textBox1.Clear();
                textBox2.Clear();
                comboBox1.Text = "";
                connection.Close();
            }
            catch (FormatException)
            {
                MessageBox.Show("greska: pogresno uneti podaci");
                WriteLog("greska: pogresno uneti podaci");
            }
            catch(Exception eks)
            {
                MessageBox.Show("greska: " + eks.Message);
                WriteLog(eks.Message);
            }
        }
        public void MescExit(int k)
        {
            Application.Exit();
        }

        private void pictureBox3_Click(object sender, EventArgs e)
        {
            MescExit(0);
        }
    }
}
----------------------druga
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A4;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select (klijent.ime +' '+klijent.prezime) as 'Ime', COUNT(rezervacija.klijentid) as'Broj aranzmana' from klijent inner join rezervacija on klijent.klijentid=rezervacija.klijentid where klijent.aktivanklijent=1 group by ime, prezime HAVING(COUNT(rezervacija.klijentid)>@p1)", connection);
            komanda.Parameters.AddWithValue("@p1", numericUpDown1.Value);
            SqlDataAdapter adapter = new SqlDataAdapter(komanda);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            dataGridView1.DataSource = dt;
            connection.Close();
        }
    }
}

A4

A5
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            RefreshList();
        }
        public void RefreshList()
        {
            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A5;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select * from aktivnosti", connection);
            SqlDataReader reader = komanda.ExecuteReader();
            listView1.Items.Clear();
            while (reader.Read())
            {
                ListViewItem item = new ListViewItem(reader[0].ToString());
                item.SubItems.Add(reader[1].ToString());
                item.SubItems.Add(reader[2].ToString());
                item.SubItems.Add(reader[3].ToString());
                item.SubItems.Add(reader[4].ToString());
                listView1.Items.Add(item);
            }
            connection.Close();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            if (listView1.SelectedItems.Count > 0)
            {
                textBox1.Text = listView1.SelectedItems[0].SubItems[0].Text;
                textBox2.Text = listView1.SelectedItems[0].SubItems[1].Text;
                comboBox1.Text = listView1.SelectedItems[0].SubItems[2].Text;
                textBox3.Text = listView1.SelectedItems[0].SubItems[3].Text;
                textBox4.Text = listView1.SelectedItems[0].SubItems[4].Text;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try

            {
                SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A5;Integrated Security=True");
                connection.Open();
                if (textBox1.Text == "" || textBox2.Text == "")
                {
                    throw new Exception("Sifra i naziv ne smeju biti prazni");
                }

                if (listView1.SelectedItems[0].SubItems[2].Text == "" || int.Parse(listView1.SelectedItems[0].SubItems[3].Text) == 0 || int.Parse(listView1.SelectedItems[0].SubItems[4].Text) == 0)
                {
                    SqlCommand komanda = new SqlCommand("update aktivnosti set dan=@p1, pocetak=@p2, zavrsetak=@p3 where AktivnostID=@id ", connection);
                    komanda.Parameters.AddWithValue("@id", textBox1.Text);
                    komanda.Parameters.AddWithValue("@p1", comboBox1.Text);
                    komanda.Parameters.AddWithValue("@p2", textBox3.Text);
                    komanda.Parameters.AddWithValue("@p3", textBox4.Text);
                    komanda.ExecuteNonQuery();
                    RefreshList();
                }
                
                else
                {
                    SqlCommand komanda = new SqlCommand("insert into aktivnosti values(@p1,@p2,@p3,@p4,@p5)", connection);
                    komanda.Parameters.AddWithValue("@p1", textBox1.Text);
                    komanda.Parameters.AddWithValue("@p2", textBox2.Text);
                    komanda.Parameters.AddWithValue("@p3", comboBox1.Text);
                    komanda.Parameters.AddWithValue("@p4", textBox3.Text);
                    komanda.Parameters.AddWithValue("@p5", textBox4.Text);
                    komanda.ExecuteNonQuery();
                    RefreshList();
                }
            }
            catch(Exception eks)
            {
                MessageBox.Show("greska: " + eks.Message);
            }
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Form2 forma = new Form2();
            this.Hide();
            forma.Show();
        }
    }
}
----------------druga
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp1
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {

            SqlConnection connection = new SqlConnection(@"Data Source=DESKTOP-8O361E7;Initial Catalog=A5;Integrated Security=True");
            connection.Open();
            SqlCommand komanda = new SqlCommand("select Aktivnosti.dan as 'Dan', COUNT(Dete.DeteID) as'Broj dece' from aktivnosti inner join registar_aktivnosti on aktivnosti.aktivnostid=registar_aktivnosti.aktivnostid inner join dete on dete.deteid=registar_aktivnosti.deteid group by aktivnosti.dan order by CASE when dan='Ponedeljak' then 1 when dan='Utorak' then 2 when dan='Sreda' then 3 when dan='Cetvrtak' then 4 when dan='Petak' then 5 END", connection);
            SqlDataAdapter adapter = new SqlDataAdapter(komanda);
            DataTable dt = new DataTable();
            adapter.Fill(dt);
            dataGridView1.DataSource = dt;
            chart1.DataSource = dt;
            chart1.Series[0].XValueMember = "Dan";
            chart1.Series[0].YValueMembers = "Broj dece";
            chart1.DataBind();
        }
    }
}

A5

A1-A5 i prosirenja

By its4

A1-A5 i prosirenja

  • 109