Advertisement
Guest User

Untitled

a guest
Apr 25th, 2015
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 12.41 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using iTextSharp.text;
  11. using iTextSharp.text.pdf;
  12. using System.IO;
  13.  
  14. namespace LicnaKartaWindowsForms
  15. {
  16.     public partial class Form1 : Form
  17.     {
  18.         private List<string>[] listUsers;
  19.  
  20.         public Form1()
  21.         {
  22.             InitializeComponent();
  23.            
  24.  
  25.         }
  26.         protected override void OnLoad(EventArgs e)
  27.         {
  28.             LoadUsers();
  29.             CountUsers();
  30.            
  31.         }
  32.  
  33.         private void btnDodadiNovoLice_Click(object sender, EventArgs e)
  34.         {
  35.             DBConnect konekcija = new DBConnect();
  36.  
  37.             Dodadi_novo_Lice novoLice = new Dodadi_novo_Lice();
  38.  
  39.             if (novoLice.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  40.             {
  41.                 konekcija.Insert(novoLice.User1);
  42.                
  43.                 listLicniKarti.Items.Clear();
  44.                // DBConnect konekcija = new DBConnect();
  45.                 listUsers = konekcija.Select();
  46.                 listLicniKarti.BeginUpdate();
  47.                 for (int i = 0; i < listUsers[0].Count; i++)
  48.                 {
  49.  
  50.                     User user = new User();
  51.                     user.Id_br_karta = listUsers[0][i];
  52.                     user.Ime = listUsers[1][i];
  53.                     user.Prezime = listUsers[2][i];
  54.                     user.EMBG = listUsers[3][i];
  55.                     user.Drzavjanstvo = listUsers[4][i];
  56.                     user.Pol = listUsers[5][i];
  57.                     user.Datum_na_raganje = listUsers[6][i];
  58.                     user.Datum_na_izdavanje = listUsers[7][i];
  59.                     user.Datum_na_vaznost = listUsers[8][i];
  60.                     user.Mesto_na_raganje = listUsers[9][i];
  61.                     user.Adresa = listUsers[10][i];
  62.                     user.Izdavac = listUsers[11][i];
  63.  
  64.                     listLicniKarti.Items.Add(user);
  65.                 }
  66.                 listLicniKarti.EndUpdate();
  67.                 CountUsers();
  68.             }
  69.         }
  70.  
  71.  
  72.  
  73.         public void LoadUsers()
  74.         {
  75.             listLicniKarti.Items.Clear();
  76.              DBConnect konekcija = new DBConnect();
  77.             listUsers = konekcija.Select();
  78.             for (int i = 0; i < listUsers[0].Count; i++)
  79.             {
  80.  
  81.                 User user = new User();
  82.                 user.Id_br_karta = listUsers[0][i];
  83.                 user.Ime = listUsers[1][i];
  84.                 user.Prezime = listUsers[2][i];
  85.                 user.EMBG = listUsers[3][i];
  86.                 user.Drzavjanstvo = listUsers[4][i];
  87.                 user.Pol = listUsers[5][i];
  88.                 user.Datum_na_raganje = listUsers[6][i];
  89.                 user.Datum_na_izdavanje = listUsers[7][i];
  90.                 user.Datum_na_vaznost = listUsers[8][i];
  91.                 user.Mesto_na_raganje = listUsers[9][i];
  92.                 user.Adresa = listUsers[10][i];
  93.                 user.Izdavac = listUsers[11][i];
  94.  
  95.                 listLicniKarti.Items.Add(user);
  96.  
  97.             }
  98.         }
  99.  
  100.         public void CountUsers()
  101.         {
  102.             DBConnect konekcija = new DBConnect();
  103.  
  104.             tbVkupenBrLica.Text = string.Format("{0}",konekcija.Count());
  105.            
  106.         }
  107.  
  108.         private void listLicniKarti_SelectedIndexChanged(object sender, EventArgs e)
  109.         {
  110.             if(listLicniKarti.SelectedIndex >= 0)
  111.             {
  112.                 User user = listLicniKarti.SelectedItem as User;
  113.                 tbAdresa.Text = user.Adresa;
  114.                 tbDatumNaIzdavanje.Text = user.Datum_na_izdavanje;
  115.                 tbDatumNaRaganje.Text = user.Datum_na_raganje;
  116.                 tbDatumNaVazenje.Text = user.Datum_na_vaznost;
  117.                 tbDrzavjanstvo.Text = user.Drzavjanstvo;
  118.                 tbID.Text = user.Id_br_karta;
  119.                 tbIme.Text = user.Ime;
  120.                 tbMaticen.Text = user.EMBG;
  121.                 tbMestoNaRaganje.Text = user.Mesto_na_raganje;
  122.                 tbPol.Text = user.Pol;
  123.                 tbPrezime.Text = user.Prezime;
  124.                 btnPromenaLice.Enabled = true;
  125.                 btnIzbrisiLice.Enabled = true;
  126.             }
  127.         }
  128.  
  129.         private void cbFilter_SelectedIndexChanged(object sender, EventArgs e)
  130.         {
  131.             funkcija();
  132.         }
  133.  
  134.         public void funkcija()
  135.         {
  136.            
  137.  
  138.             if (cbFilter.SelectedIndex != -1)
  139.             {
  140.                 List<User> lista = new List<User>();
  141.  
  142.                 foreach (Object o in listLicniKarti.Items)
  143.                 {
  144.                     lista.Add(o as User);
  145.                 }
  146.                 if (cbFilter.SelectedIndex == 0) // licna karta
  147.                 {
  148.                     lista = lista.OrderBy(x => x.Id_br_karta).ToList();
  149.                     listLicniKarti.Items.Clear();
  150.                     for (int i = 0; i < lista.Count; i++)
  151.                     {
  152.                         listLicniKarti.Items.Add(lista[i]);
  153.                     }
  154.                 }
  155.                 if (cbFilter.SelectedIndex == 1) // ime
  156.                 {
  157.                     lista = lista.OrderBy(x => x.Ime).ToList();
  158.                     listLicniKarti.Items.Clear();
  159.                     for (int i = 0; i < lista.Count; i++)
  160.                     {
  161.                         listLicniKarti.Items.Add(lista[i]);
  162.                     }
  163.                 }
  164.                 if (cbFilter.SelectedIndex == 2) // prezime
  165.                 {
  166.                     lista = lista.OrderBy(x => x.Prezime).ToList();
  167.                     listLicniKarti.Items.Clear();
  168.                     for (int i = 0; i < lista.Count; i++)
  169.                     {
  170.                         listLicniKarti.Items.Add(lista[i]);
  171.                     }
  172.                 }
  173.  
  174.             }
  175.            
  176.         }
  177.  
  178.         private void btnIzbrisiLice_Click(object sender, EventArgs e)
  179.         {
  180.             User user = listLicniKarti.SelectedItem as User;
  181.             DialogResult res = MessageBox.Show(String.Format("Дали сте сигурни дека сакате да го избришете корисникот {0}",user) ,"Бришење на корисник",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
  182.  
  183.  
  184.             if (listLicniKarti.SelectedItem != null && res == System.Windows.Forms.DialogResult.Yes)
  185.             {
  186.  
  187.                 DBConnect konekcija = new DBConnect();
  188.                
  189.                
  190.                 string id = user.Id_br_karta;
  191.                 listLicniKarti.Items.Remove(listLicniKarti.SelectedItem);
  192.                 MessageBox.Show("Лицето со бој на лична карта " + id + " Име: " + user.Ime + " Презиме: " + user.Prezime + " е успешно избришано!!");
  193.                 listLicniKarti.Refresh();
  194.                 konekcija.Delete(id);
  195.  
  196.                 CountUsers();
  197.                 ClearText();
  198.             }
  199.            
  200.         }
  201.  
  202.         private void ClearText()
  203.         {
  204.             tbAdresa.Clear();
  205.             tbBrPominatRok.Clear();
  206.             tbDatumNaIzdavanje.Clear();
  207.             tbDatumNaRaganje.Clear();
  208.             tbDatumNaVazenje.Clear();
  209.             tbDrzavjanstvo.Clear();
  210.             tbID.Clear();
  211.             tbIme.Clear();
  212.             tbMaticen.Clear();
  213.             tbMestoNaRaganje.Clear();
  214.             tbPol.Clear();
  215.             tbPrezime.Clear();
  216.            
  217.            
  218.         }
  219.  
  220.         private void btnPromenaLice_Click(object sender, EventArgs e)
  221.         {
  222.             if(listLicniKarti.SelectedIndex != -1)
  223.                 changeEnabled();
  224.             smeniDatumi();
  225.             //Dokolku liceto e pomalo od 30 godini negovata licna karta ke vazi 5 godini
  226.             //dokolku liceto e pogolemo od 30 negovata licna karta ke vazi 10 godini
  227.             // dokolku liceto e pogolemo od 60 god negovata licna karta ke vazi do krajot na negoviot zivot
  228.             //treba da vidime koj polinja treba da gi napravime da mozat da se azuriraat odnodno Enable=false
  229.             // i tie funkciite so ti se so datata da gi napravime sami da se povikuvaat spored godinata nesto taka ke izmislime
  230.         }
  231.  
  232.         private void changeEnabled()
  233.         {
  234.             User user = listLicniKarti.SelectedItem as User;
  235.             if(user.Pol.Equals("Ж"))
  236.                 tbPrezime.ReadOnly = false;
  237.             tbAdresa.ReadOnly = false;
  238.             tbDrzavjanstvo.ReadOnly = false;
  239.             btnZacuvaj.Visible = true;
  240.             btnDodadiNovoLice.Enabled = false;
  241.             listLicniKarti.Enabled = false;
  242.             btnIzbrisiLice.Enabled = false;
  243.             btnIzvestaj.Enabled = false;
  244.             btnPromenaLice.Enabled = false;
  245.             cbFilter.Enabled = false;
  246.         }
  247.  
  248.         private void smeniDatumi()
  249.         {
  250.             int segasnaGodina = 0;
  251.             int godina = 0;
  252.             int.TryParse(tbDatumNaRaganje.Text.Substring(6, 4), out godina);
  253.             int.TryParse(DateTime.Now.ToString().Substring(5, 4), out segasnaGodina);
  254.             if (segasnaGodina - godina <= 27)
  255.             {
  256.                 DateTime dt = DateTime.Now;
  257.                 string sega = String.Format("{0:MM/dd/yyyy}", dt);
  258.                 tbDatumNaIzdavanje.Text = sega;
  259.  
  260.                 godina = dt.Year + 5;
  261.  
  262.                 string smeneta = sega.Substring(0, 6) + godina.ToString();
  263.                 tbDatumNaVazenje.Text = smeneta;
  264.  
  265.             }
  266.             else
  267.             {
  268.                 DateTime dt = DateTime.Now;
  269.                 string sega = String.Format("{0:MM/dd/yyyy}", dt);
  270.                 tbDatumNaIzdavanje.Text = sega;
  271.  
  272.                 godina = dt.Year + 10;
  273.  
  274.                 string smeneta = sega.Substring(0, 6) + godina.ToString();
  275.                 tbDatumNaVazenje.Text = smeneta;
  276.             }
  277.         }
  278.  
  279.         private void btnIzvestaj_Click(object sender, EventArgs e)
  280.         {
  281.             //ili ke napravime nova forma ili messagebox za licata koj sto imaat zakasnati licni karti
  282.             //treba da ima plus funkcionalnost dokolku mozime da napravime da moze da se siminja seto kako pdf od tie lica
  283.  
  284.             Document document = new Document();
  285.             string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
  286.             PdfWriter.GetInstance(document, new FileStream(path+"/Izvestaj.pdf", FileMode.Create));
  287.             document.Open();
  288.            
  289.             StringBuilder sb = new StringBuilder();
  290.  
  291.             sb.Append("МВР ИЗВЕШТАЈ НА РЕПУБЛИКА МАКЕДОНИЈА \n Лични карти со поминат рок на траење.");
  292.             sb.AppendLine();
  293.             sb.Append("А1234 - Zvko stojanov");
  294.             sb.AppendLine();
  295.             sb.Append("B1234 - Jordan Arsov \n");
  296.             sb.AppendLine();
  297.  
  298.  
  299.             string text = sb.ToString();
  300.             byte[] utf8Bytes = Encoding.UTF8.GetBytes(text);
  301.             String str2 = Encoding.UTF8.GetString(utf8Bytes);
  302.             sb.Clear();
  303.             sb.Append(text);
  304.  
  305.             MessageBox.Show(sb.ToString());
  306.             Paragraph p = new Paragraph(sb.ToString());
  307.             document.Add(p);
  308.             document.Close();
  309.             MessageBox.Show("Извештајот ви е автоматски симнат и тој се наоѓа на десктоп!!");
  310.         }
  311.  
  312.         private void btnZacuvaj_Click(object sender, EventArgs e)
  313.         {
  314.             User user = listLicniKarti.SelectedItem as User;
  315.             user.Adresa = tbAdresa.Text;
  316.             user.Datum_na_izdavanje = tbDatumNaIzdavanje.Text;
  317.             user.Datum_na_vaznost = tbDatumNaVazenje.Text;
  318.             user.Prezime = tbPrezime.Text;
  319.  
  320.             MessageBox.Show("Промените се успешно направени!");
  321.             if (user.Pol.Equals("Ж"))
  322.                 tbPrezime.ReadOnly = true;
  323.             tbAdresa.ReadOnly = true;
  324.             tbDrzavjanstvo.ReadOnly = true;
  325.             btnZacuvaj.Visible = false;
  326.             btnDodadiNovoLice.Enabled = true;
  327.             listLicniKarti.Enabled = true;
  328.             btnIzbrisiLice.Enabled = true;
  329.             btnIzvestaj.Enabled = true;
  330.             btnPromenaLice.Enabled = true;
  331.             cbFilter.Enabled = true;
  332.         }
  333.  
  334.         private void cbFilter_Click(object sender, EventArgs e)
  335.         {
  336.             cbFilter.SelectedIndex = 0;
  337.             funkcija();
  338.         }
  339.  
  340.  
  341.  
  342.  
  343.  
  344.     }
  345. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement