public void SetValues(Int32 IDUcesnik)
        {
            List <Ucesnik> ucesnici = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                UcesnikID = IDUcesnik
            });

            if (ucesnici.Count > 0)
            {
                edit = true;
                staraLozinkaCBX.Enabled = true;
                uc                       = ucesnici[0];
                imeTXT.Text              = ucesnici[0].Ime;
                prezimeTXT.Text          = ucesnici[0].Prezime;
                korisnickoImeTXT.Text    = ucesnici[0].KorisnickoIme;
                lozinkaTXT.Text          = "";
                staraLozinka             = ucesnici[0].Lozinka;
                jmbgTXT.Text             = ucesnici[0].Jmbg;
                aktivanUcesnikCB.Checked = (bool)ucesnici[0].Aktivan;
                nazivUlogeCB.Text        = ucesnici[0].Uloga.Naziv;
                UcesnikIDKontrolni       = ucesnici[0].UcesnikID;
                popuniComboBoxUloge();
                foreach (String s in nazivUlogeCB.Items)
                {
                    if (s.Equals(ucesnici[0].Uloga.Naziv))
                    {
                        nazivUlogeCB.SelectedItem = s;
                        break;
                    }
                }
                this.ShowDialog();
            }
        }
Exemple #2
0
        public SefUcesnikAktivnostDetalji(Aktivnost ak, Ucesnik uc, Projekti forma)
        {
            InitializeComponent();
            projektiForma           = forma;
            ucesnik                 = uc;
            aktivnost               = ak;
            nazivAktivnostiLBL.Text = ak.Naziv;
            opisTBX.Text            = ak.Opis;
            string zavrsena = (ak.Zavrsena == true) ? "završena" : "nezavršena";

            zavrsenaAktivnostStatusLBL.Text = "Status: " + zavrsena;
            foreach (Ucesnik u in ak.UcesniciSaBrojemUtrosenihSati.Keys)
            {
                ucesnikSatLVW.Items.Add(u.Ime + " " + u.Prezime + ", sati: " + ak.UcesniciSaBrojemUtrosenihSati[u]);
            }
            foreach (Transakcija t in ak.Transakcije)
            {
                char c = (t.PrihodRashod == true) ? '+' : '-';
                transakcijeLVW.Items.Add(t.TransakcijaID + ". " + Convert.ToDateTime(t.DatumVrijeme).ToString("dd/MM/yyyy") + "  " + c + t.Iznos);
            }
            List <Dokument> dokumenti = MySqlDokumentDao.Instance.Read(new Dokument {
                AktivnostID = ak.AktivnostID, Aktivan = true
            });

            foreach (Dokument d in dokumenti)
            {
                dokumentiLVW.Items.Add(d.DokumentID + "." + d.Putanja);
            }
        }
Exemple #3
0
 private void dodajBTN_Click(object sender, EventArgs e)
 {
     if (validanUnos())
     {
         dodajBTN.Enabled = false;
         if (moguciUcesniciCBX.SelectedItem != null)
         {
             String  korIme = moguciUcesniciCBX.SelectedItem.ToString().Split('"')[1];
             Ucesnik uc     = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                 KorisnickoIme = korIme
             })[0];
             Uloga ul = MySqlUlogaDao.Instance.Read(new Uloga {
                 Naziv = "ucesnik"
             })[0];
             if (projekat != null)
             {
                 projekat.UcesniciNaProjektu.Add(uc, ul);
                 MySqlProjekatDao.Instance.Update(projekat);
                 this.Close();
             }
             else if (cjelina != null)
             {
                 cjelina.Ucesnici.Add(uc);
                 MySqlCjelinaDao.Instance.Update(cjelina);
                 this.Close();
             }
         }
     }
     else
     {
         errorLBL.Visible = true;
     }
 }
        public void Create(Projekat projekat)
        {
            #region Unesi projekat u bp
            using (conn)
            {
                conn.Open();
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "insert_projekat";

                cmd.Parameters.AddWithValue("@projekatID", MySqlDbType.Int32);
                cmd.Parameters["@projekatID"].Direction = ParameterDirection.Output;

                cmd.Parameters.AddWithValue("@naziv", projekat.Naziv);
                cmd.Parameters["@naziv"].Direction = ParameterDirection.Input;

                cmd.Parameters.AddWithValue("@datum_kreiranja", projekat.DatumKreiranja);
                cmd.Parameters["@datum_kreiranja"].Direction = ParameterDirection.Input;

                cmd.Parameters.AddWithValue("@aktivan", projekat.Aktivan);
                cmd.Parameters["@aktivan"].Direction = ParameterDirection.Input;

                cmd.ExecuteNonQuery();
                projekat.ProjekatID = Convert.ToInt32(cmd.Parameters["@projekatID"].Value);
            }

            #endregion

            #region Unesi ucesnike za projekat
            foreach (KeyValuePair <Ucesnik, Uloga> parUcesnikUloga in projekat.UcesniciNaProjektu)
            {
                Ucesnik ucesnik = parUcesnikUloga.Key;
                Uloga   uloga   = parUcesnikUloga.Value;

                if (uloga.UlogaID is null)
                {
                    MySqlUlogaDao.Instance.Create(uloga);
                }

                if (ucesnik.UcesnikID is null)
                {
                    MySqlUcesnikDao.Instance.Create(ucesnik);
                }

                InsertUcesnikProjekatUloga(ucesnik.UcesnikID.Value, projekat.ProjekatID.Value, uloga.UlogaID.Value);
            }
            #endregion

            #region Unesi cjeline za dati projekat
            foreach (Cjelina cjelina in projekat.Cjeline)
            {
                if (cjelina.CjelinaID is null)
                {
                    cjelina.ProjekatID = projekat.ProjekatID;
                    MySqlCjelinaDao.Instance.Create(cjelina);
                }
            }
            #endregion
        }
Exemple #5
0
        public async Task <ActionResult> DeleteUcesnika(int Id)
        {
            var                 ucesnik = new Ucesnik();
            HttpClient          client  = api.Initial();
            HttpResponseMessage res     = await client.DeleteAsync($"api/Ucesniks/{Id}");

            return(View("DeleteUcesnika"));
        }
        public SefNadzorProjekatDetalji(Projekat pr)
        {
            InitializeComponent();
            nazivProjektaLBL.Text = pr.Naziv;
            int procenatIzvrsenosti = 0, ukupnoPotrebnoCC = 0;

            foreach (Cjelina c in pr.Cjeline)
            {
                if (c.CjelinaRoditeljID == null && c.Aktivna == true)
                {
                    procenatIzvrsenosti += (int)(((double)c.ProcenatIzvrsenosti / 100.0) * c.BrojPotrebnihCovjekCasova);
                    ukupnoPotrebnoCC    += (int)c.BrojPotrebnihCovjekCasova;
                    Console.WriteLine("PI: " + procenatIzvrsenosti + " UK:" + ukupnoPotrebnoCC);
                }
            }
            int procenat = 0;

            if (ukupnoPotrebnoCC != 0)
            {
                procenat = (int)(((double)procenatIzvrsenosti / ukupnoPotrebnoCC) * 100);
            }
            procenatIzvrsenostiLBL.Text = procenat + "%";
            for (int i = 0; i < procenat; i++)
            {
                procenatIzvrsenostiPBR.PerformStep();
            }
            datumKreiranjaLBL.Text = "Datum kreiranja: " + Convert.ToDateTime(pr.DatumKreiranja).ToString("dd/MM/yyyy");
            Ucesnik sef = null;

            foreach (KeyValuePair <Ucesnik, Uloga> uu in pr.UcesniciNaProjektu)
            {
                if (uu.Value.Naziv.Equals("sef"))
                {
                    sef = uu.Key;
                    break;
                }
            }
            if (sef != null)
            {
                sefProjektaLBL.Text = "Šef projekta: " + sef.Ime + " " + sef.Prezime;
            }
            for (int i = 0; i < pr.UcesniciNaProjektu.Count; i++)
            {
                if (!pr.UcesniciNaProjektu[pr.UcesniciNaProjektu.ElementAt(i).Key].Naziv.Equals("sef"))
                {
                    Ucesnik u = pr.UcesniciNaProjektu.ElementAt(i).Key;
                    ucesniciLVW.Items.Add(u.Ime + " " + u.Prezime + " \"" + u.KorisnickoIme + "\"");
                }
            }
            foreach (Cjelina c in pr.Cjeline)
            {
                if (c.CjelinaRoditeljID == null && c.Aktivna == true)
                {
                    zadaciLVW.Items.Add(c.Naziv);
                }
            }
        }
Exemple #7
0
 private void sacuvajBTN_Click(object sender, EventArgs e)
 {
     if (validniPodaci())
     {
         sacuvajBTN.Enabled = false;
         if (projekat != null)
         {
             projekat.Naziv = nazivProjektaTBX.Text;
             Ucesnik sef = null;
             foreach (Ucesnik u in projekat.UcesniciNaProjektu.Keys)
             {
                 if (projekat.UcesniciNaProjektu[u].Naziv.Equals("sef"))
                 {
                     sef = u;
                     break;
                 }
             }
             Dictionary <Ucesnik, Uloga> novi = new Dictionary <Ucesnik, Uloga>();
             novi.Add(sef, projekat.UcesniciNaProjektu[sef]);
             foreach (ListViewItem it in ucesniciNaProjektuLVW.Items)
             {
                 if (it.Text.Split('\"').Length > 1 && MySqlUcesnikDao.Instance.Read(new Ucesnik {
                     KorisnickoIme = it.Text.Split('\"')[1], Aktivan = true
                 }).Count > 0)
                 {
                     Ucesnik u = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                         KorisnickoIme = it.Text.Split('\"')[1], Aktivan = true
                     })[0];
                     Uloga ul = null;
                     if (it.Text.StartsWith("Nadzor"))
                     {
                         ul = MySqlUlogaDao.Instance.Read(new Uloga {
                             Naziv = "nadzor", Aktivna = true
                         })[0];
                     }
                     else if (it.Text.StartsWith("Učesnik"))
                     {
                         ul = MySqlUlogaDao.Instance.Read(new Uloga {
                             Naziv = "ucesnik", Aktivna = true
                         })[0];
                     }
                     novi.Add(u, ul);
                 }
                 projekat.UcesniciNaProjektu = novi;
                 MySqlProjekatDao.Instance.Update(projekat);
             }
             this.Close();
         }
     }
     else
     {
         errorLBL.Visible = true;
     }
 }
Exemple #8
0
        private void btnNoviUcesnik_Click(object sender, EventArgs e)
        {
            if (listKupac.SelectedIndices.Count == 1)
            {
                ISession     sesija      = DataLayer.GetSession();
                ITransaction transakcija = sesija.BeginTransaction();

                Kupac kupac = (Kupac)listKupac.SelectedItem;
                kupac = sesija.Load <Kupac>(kupac.Id);
                sesija.Delete(kupac);
                transakcija.Commit();

                listKupac.Items.Clear();
                listUcesnik.Items.Clear();


                Ucesnik ucesnik = new Ucesnik();
                ucesnik.DatumPrvePorudzbine = kupac.DatumPrvePorudzbine;

                ucesnik.SakupljeniBodovi = 0;
                ucesnik.Porudzbine       = kupac.Porudzbine;
                ucesnik.LicniBroj        = kupac.LicniBroj;
                sesija.Save(ucesnik);

                sesija.Close();

                sesija      = DataLayer.GetSession();
                transakcija = sesija.BeginTransaction();
                foreach (Porudzbina porudzbina in kupac.Porudzbine)
                {
                    Porudzbina p;
                    if (porudzbina.GetType() == typeof(NeisporucenaPorudzbina))
                    {
                        p = new NeisporucenaPorudzbina();
                    }
                    else
                    {
                        p = new IsporucenaPorudzbina();
                    }
                    p         = porudzbina;
                    p.IdKupca = ucesnik;
                    sesija.Save(p);
                }
                transakcija.Commit();
                sesija.Close();

                UcitajKupce();
                UcitajUcesnike();
            }
            else
            {
                MessageBox.Show("Izaberite jednog kupca");
            }
        }
Exemple #9
0
        public async Task <ActionResult> DetaljiUcesnika(int Id)
        {
            var ucesnik = new Ucesnik();
            var client  = api.Initial();
            var res     = await client.GetAsync($"api/Ucesniks/{Id}");

            if (res.IsSuccessStatusCode)
            {
                var results = res.Content.ReadAsStringAsync().Result;
                ucesnik = JsonConvert.DeserializeObject <Ucesnik>(results);
            }
            return(View(ucesnik));
        }
Exemple #10
0
        public IActionResult KreirajUcesnika(Ucesnik ucesnik)
        {
            HttpClient client   = api.Initial();
            var        postTask = client.PostAsJsonAsync <Ucesnik>("api/Ucesniks", ucesnik);

            postTask.Wait();
            var res = postTask.Result;

            if (res.IsSuccessStatusCode)
            {
                return(RedirectToAction("AllUcesniks"));
            }
            return(RedirectToAction("Greska"));
        }
Exemple #11
0
        public IActionResult IzmeniUcesnika(Ucesnik ucesnik)
        {
            var client  = api.Initial();
            var putTask = client.PutAsJsonAsync <Ucesnik>($"api/Ucesniks/{ucesnik.IdUcesnika}", ucesnik);

            putTask.Wait();
            var res = putTask.Result;

            if (res.IsSuccessStatusCode)
            {
                return(RedirectToAction("AllUcesniks"));
            }
            return(View(ucesnik));
        }
Exemple #12
0
        public IActionResult IzmeniUcesnika(int Id)
        {
            var ucesnik = new Ucesnik();
            var client  = api.Initial();
            var resTask = client.GetAsync($"api/Ucesniks/{Id}");
            var result  = resTask.Result;

            if (result.IsSuccessStatusCode)
            {
                var readTask = result.Content.ReadAsAsync <Ucesnik>();
                readTask.Wait();
                ucesnik = readTask.Result;
            }
            return(View(ucesnik));
        }
Exemple #13
0
 public DokumentFormular(Aktivnost ak, Ucesnik u, Dokument d, bool edit)
 {
     InitializeComponent();
     this.edit = edit;
     aktivnost = ak;
     ucesnik   = u;
     if (edit)
     {
         dokument         = d;
         putanjaLBL.Text  = d.Putanja;
         napomenaTBX.Text = d.Napomena;
     }
     else
     {
     }
 }
 private void izmijeniButton_Click(object sender, EventArgs e)
 {
     if (ucesniciListBox.SelectedItems.Count > 0 && MySqlUcesnikDao.Instance.Read(new Ucesnik {
         UcesnikID = Convert.ToInt32(ucesniciListBox.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
     }).Count > 0)
     {
         Ucesnik uc = MySqlUcesnikDao.Instance.Read(new Ucesnik {
             UcesnikID = Convert.ToInt32(ucesniciListBox.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
         })[0];
         int val = 0;
         if (Svi.ContainsKey(uc))
         {
             val = Svi[uc];
         }
         KeyValuePair <Ucesnik, int> pair = new KeyValuePair <Ucesnik, int>(uc, val);
         new UtrosenoSatiUcesnikFormular(this, cid, pair, true).ShowDialog();
     }
 }
Exemple #15
0
 private void sacuvajBTN_Click(object sender, EventArgs e)
 {
     if (validanUnos())
     {
         sacuvajBTN.Enabled = false;
         if (edit)
         {
             if (MySqlUcesnikDao.Instance.Read(new Ucesnik {
                 UcesnikID = Convert.ToInt32(af.Ucesnici.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
             }).Count > 0)
             {
                 Ucesnik u = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                     UcesnikID = Convert.ToInt32(af.Ucesnici.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
                 })[0];
                 af.Ucesnici.Items.Remove(af.Ucesnici.SelectedItems[0]);
                 af.Ucesnici.Items.Add(p.Key.UcesnikID + ". " + p.Key.Ime + " " + p.Key.Prezime + " " + Convert.ToInt32(utrosenoSatiNUD.Value) + " sati");
                 if (af.Svi.ContainsKey(u))
                 {
                     af.Svi[u] = Convert.ToInt32(utrosenoSatiNUD.Value);
                 }
                 this.Close();
             }
         }
         else
         {
             if (MySqlUcesnikDao.Instance.Read(new Ucesnik {
                 UcesnikID = Convert.ToInt32(ucesniciLVW.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
             }).Count > 0)
             {
                 Ucesnik u = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                     UcesnikID = Convert.ToInt32(ucesniciLVW.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
                 })[0];
                 af.Ucesnici.Items.Add(u.UcesnikID + ". " + u.Ime + " " + u.Prezime + " " + Convert.ToInt32(utrosenoSatiNUD.Value) + " sati");
                 af.Svi.Add(u, (int)Convert.ToInt32(utrosenoSatiNUD.Value));
                 this.Close();
             }
         }
     }
     else
     {
         errorLBL.Visible = true;
     }
 }
 private void obrisiButton_Click(object sender, EventArgs e)
 {
     foreach (ListViewItem it in ucesniciListBox.SelectedItems)
     {
         if (MySqlUcesnikDao.Instance.Read(new Ucesnik {
             UcesnikID = Convert.ToInt32(it.Text.Split('.')[0]), Aktivan = true
         }).Count > 0)
         {
             ucesniciListBox.Items.Remove(it);
             Ucesnik uc = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                 UcesnikID = Convert.ToInt32(it.Text.Split('.')[0]), Aktivan = true
             })[0];
             if (Svi.ContainsKey(uc))
             {
                 Svi.Remove(uc);
             }
         }
     }
 }
Exemple #17
0
 private void UcesnikPoklon_Click(object sender, EventArgs e)
 {
     try
     {
         ISession s        = DataLayer.GetSession();
         Ucesnik  korisnik = s.Load <Ucesnik>(8);
         MessageBox.Show(korisnik.Id + " " + korisnik.LicniBroj.Ime);
         string podaci = "";
         foreach (Poklon p in korisnik.Pokloni)
         {
             podaci += p.DatumDodele.ToShortDateString() + " " + p.Tip + "\n";
         }
         MessageBox.Show(podaci);
         s.Close();
     }
     catch (Exception ec)
     {
         MessageBox.Show(ec.Message);
     }
 }
        public List <Projekat> ReadProjekatByUcesnikID(Ucesnik ucesnik)
        {
            List <Projekat> projekti   = new List <Projekat>();
            List <Int32>    projektiID = new List <Int32>();

            using (conn)
            {
                conn.Open();
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "read_ucesnik_projekat_uloga";

                cmd.Parameters.AddWithValue("@ucesnikID", ucesnik.UcesnikID);
                cmd.Parameters["@ucesnikID"].Direction = ParameterDirection.Input;

                cmd.Parameters.AddWithValue("@projekatID", null);
                cmd.Parameters["@projekatID"].Direction = ParameterDirection.Input;

                cmd.Parameters.AddWithValue("@ulogaID", null);
                cmd.Parameters["@ulogaID"].Direction = ParameterDirection.Input;

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    projektiID.Add(reader.GetInt32(1));
                }
            }

            foreach (Int32 pID in projektiID)
            {
                projekti.Add(MySqlProjekatDao.Instance.Read(new Projekat {
                    ProjekatID = pID
                })[0]);
            }

            return(projekti);
        }
        private void dokumentiLVW_SelectedIndexChanged(object sender, EventArgs e)
        {
            String selektovani = dokumentiLVW.SelectedItems[0].Text;

            if (MySqlDokumentDao.Instance.Read(new Dokument {
                Aktivan = true, Putanja = selektovani
            }).Count > 0)
            {
                Dokument d = MySqlDokumentDao.Instance.Read(new Dokument {
                    Aktivan = true, Putanja = selektovani
                })[0];
                if (MySqlUcesnikDao.Instance.Read(new Ucesnik {
                    UcesnikID = d.UcesnikID, Aktivan = true
                }).Count > 0)
                {
                    Ucesnik u = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                        UcesnikID = d.UcesnikID, Aktivan = true
                    })[0];
                    posljednjaIzmjenaLBL.Text = "Posljednja izmjena: \n" + d.DatumKreiranja.ToString() + "\n" + u.Ime + " " + u.Prezime;
                    napomenaDokumentLBL.Text  = "Napomena> \n" + d.Napomena;
                }
            }
        }
Exemple #20
0
 private void provjeriPostojanje()
 {
     if (sefProjektaCB.SelectedItem != null && edit)
     {
         string izabraniSef = sefProjektaCB.SelectedItem.ToString();
         if (MySqlUcesnikDao.Instance.Read(new Ucesnik {
             KorisnickoIme = izabraniSef, Aktivan = true
         }).Count > 0)
         {
             Ucesnik noviSef = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                 KorisnickoIme = izabraniSef, Aktivan = true
             })[0];
             foreach (Ucesnik u in projekat.UcesniciNaProjektu.Keys)
             {
                 if (u.UcesnikID == noviSef.UcesnikID && !projekat.UcesniciNaProjektu[u].Naziv.Equals("sef"))
                 {
                     MessageBox.Show("Izabrani korisnik već učestvuje na tom projektu. Akcija \"Sačuvaj\" će izbaciti datog korisnika sa svih zadataka na kojima je učestvovao i unaprijediti ga u šefa projekta. Ukoliko ovo nije željeni efekat, izaberite drugog šefa projekta", "Obavještenje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     break;
                 }
             }
         }
     }
 }
Exemple #21
0
 private void dokumentiLVW_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (dokumentiLVW.SelectedItems.Count > 0)
     {
         if (MySqlDokumentDao.Instance.Read(new Dokument {
             DokumentID = Convert.ToInt32(dokumentiLVW.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
         }).Count > 0)
         {
             Dokument d = MySqlDokumentDao.Instance.Read(new Dokument {
                 DokumentID = Convert.ToInt32(dokumentiLVW.SelectedItems[0].Text.Split('.')[0]), Aktivan = true
             })[0];
             if (MySqlUcesnikDao.Instance.Read(new Ucesnik {
                 Aktivan = true, UcesnikID = d.UcesnikID
             }).Count > 0)
             {
                 Ucesnik u = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                     Aktivan = true, UcesnikID = d.UcesnikID
                 })[0];
                 posljednjaIzmjenaLBL.Text = "Posljednja izmjena:\n" + d.DatumKreiranja.ToString() + "\n" + u.Ime + " " + u.Prezime;
                 napomenaDokumentLBL.Text  = "Napomena:\n" + d.Napomena;
             }
         }
     }
 }
Exemple #22
0
        private void btnPrimiPorudzibnu_Click(object sender, EventArgs e)
        {
            if (listOperater.SelectedItems.Count == 0 || listKupac.SelectedItems.Count == 0 || sadrzi.Count == 0 || comboNacinPlacanja.SelectedItem == null)
            {
                MessageBox.Show("Morate izbrati jednog operatera,dostavaljaca,nacin placanja i popuniti sadrzaj bar jedne porudzbine");
                return;
            }
            ISession     s = DataLayer.GetSession();
            ITransaction t = s.BeginTransaction();

            Kupac k    = s.Load <Kupac>(((Kupac)listKupac.SelectedItem).Id);
            int   suma = 0;

            Operater o = s.Load <Operater>(((Operater)listOperater.SelectedItem).Id);
            NeisporucenaPorudzbina p = new NeisporucenaPorudzbina()
            {
                NacinPlacanja       = comboNacinPlacanja.Text,
                IdKupca             = k,
                IdOperater          = o,
                DatumVremeKreiranja = DateTime.Now
            };

            s.Save(p);
            k.Porudzbine.Add(p);
            o.PrimljenePorudzbine.Add(p);
            foreach (var x in sadrzi)
            {
                x.PorudzbinaId = p;
                s.Save(x);
                p.Sadrzaj.Add(x);
                suma += x.VelicinaId.Bodovi;
            }
            //  k = (Ucesnik)k;
            if (k.GetType() == typeof(Ucesnik))
            {
                ISession     sesija      = DataLayer.GetSession();
                ITransaction transakcija = sesija.BeginTransaction();

                sesija.Delete(k);
                transakcija.Commit();

                listOperater.Items.Clear();
                listKupac.Items.Clear();

                Ucesnik novi = new Ucesnik();
                novi.DatumPrvePorudzbine = novi.DatumPrvePorudzbine;

                novi.SakupljeniBodovi = ((Ucesnik)k).SakupljeniBodovi + suma;
                novi.Porudzbine       = k.Porudzbine;
                novi.LicniBroj        = k.LicniBroj;
                sesija.Save(novi);

                sesija.Close();

                sesija      = DataLayer.GetSession();
                transakcija = sesija.BeginTransaction();
                foreach (Porudzbina porudzbina in k.Porudzbine)
                {
                    Porudzbina por;
                    if (porudzbina.GetType() == typeof(NeisporucenaPorudzbina))
                    {
                        por = new NeisporucenaPorudzbina();
                    }
                    else
                    {
                        por = new IsporucenaPorudzbina();
                    }
                    por         = porudzbina;
                    por.IdKupca = novi;
                    sesija.Save(por);
                }
                foreach (Poklon nagrada in ((Ucesnik)k).Pokloni)
                {
                    Poklon pok;
                    if (nagrada.GetType() == typeof(PoklonPopust))
                    {
                        pok = new PoklonPopust();
                    }
                    else
                    {
                        pok = new PoklonPizza();
                    }
                    pok         = nagrada;
                    pok.IdKupca = novi;
                    sesija.Save(pok);
                }
                transakcija.Commit();
                sesija.Close();
                //            k = novi;
            }
            t.Commit();
            s.Close();
            DialogResult = DialogResult.OK;
            Close();
        }
Exemple #23
0
        private void dodatiBTN_Click(object sender, EventArgs e)
        {
            if (nazivKorektnoLBL.Text.Equals("korektno") && validniPodaci())
            {
                if (!edit)
                {
                    dodatiBTN.Enabled = false;
                    Dictionary <Ucesnik, Uloga> ucesnici = new Dictionary <Ucesnik, Uloga>();
                    List <Ucesnik> ucesnik = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                        KorisnickoIme = sefProjektaCB.Text
                    });
                    List <Uloga> uloga = MySqlUlogaDao.Instance.Read(new Uloga {
                        Naziv = "sef"
                    });
                    ucesnici.Add(ucesnik[0], uloga[0]);
                    MySqlProjekatDao.Instance.Create(new Projekat {
                        Naziv = nazivTXT.Text, DatumKreiranja = Convert.ToDateTime(DateTime.Now.ToString()), Aktivan = aktivanCBX.Checked, UcesniciNaProjektu = ucesnici
                    });
                    MessageBox.Show("Projekat je uspješno unešen", "Obavještenje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
                else
                {
                    if (MySqlProjekatDao.Instance.Read(new Projekat {
                        ProjekatID = projekat.ProjekatID
                    }).Count > 0)
                    {
                        List <Projekat> projekti = MySqlProjekatDao.Instance.Read(new Projekat {
                            ProjekatID = projekat.ProjekatID
                        });
                        projekti[0].Naziv = nazivTXT.Text;
                        Ucesnik sef = null;
                        foreach (Ucesnik u in projekat.UcesniciNaProjektu.Keys)
                        {
                            if (projekat.UcesniciNaProjektu[u].Naziv.Equals("sef"))
                            {
                                sef = u;
                                break;
                            }
                        }
                        if (sef != null)
                        {
                            if (MySqlUcesnikDao.Instance.Read(new Ucesnik {
                                KorisnickoIme = sefProjektaCB.SelectedItem.ToString(), Aktivan = true
                            }).Count > 0 && MySqlUlogaDao.Instance.Read(new Uloga {
                                Naziv = "sef"
                            }).Count > 0)
                            {
                                Ucesnik noviSef = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                                    KorisnickoIme = sefProjektaCB.SelectedItem.ToString()
                                })[0];
                                Uloga sefovska = MySqlUlogaDao.Instance.Read(new Uloga {
                                    Naziv = "sef"
                                })[0];

                                if (projekti[0].UcesniciNaProjektu.Keys.Contains(noviSef) && noviSef.UcesnikID != sef.UcesnikID)
                                {
                                    projekti[0].UcesniciNaProjektu.Remove(noviSef);
                                    foreach (Cjelina c in projekti[0].Cjeline)
                                    {
                                        if (c.Ucesnici.Contains(noviSef))
                                        {
                                            c.Ucesnici.Remove(noviSef);
                                            MySqlCjelinaDao.Instance.Update(c);
                                        }
                                    }
                                }
                                projekti[0].UcesniciNaProjektu.Remove(sef);
                                projekti[0].UcesniciNaProjektu.Add(noviSef, sefovska);
                                projekti[0].Aktivan = aktivanCBX.Checked;
                                MySqlProjekatDao.Instance.Update(projekti[0]);
                                MessageBox.Show("Projekat je uspješno ažuriran", "Obavještenje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                this.Close();
                            }
                        }
                        this.Close();
                    }
                }
            }
            else
            {
                errorLBL.Visible = true;
            }
        }
        public List <Projekat> Read(Projekat projekat)
        {
            List <Projekat> projekti = new List <Projekat>();

            #region Procitaj projekte iz bp koji zadovoljavaju kriterijume
            using (conn)
            {
                conn.Open();
                MySqlCommand cmd = conn.CreateCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "read_projekat";

                cmd.Parameters.AddWithValue("@projekatID", projekat.ProjekatID);
                cmd.Parameters["@projekatID"].Direction = ParameterDirection.Input;

                cmd.Parameters.AddWithValue("@naziv", projekat.Naziv);
                cmd.Parameters["@naziv"].Direction = ParameterDirection.Input;

                cmd.Parameters.AddWithValue("@datum_kreiranja", projekat.DatumKreiranja);
                cmd.Parameters["@datum_kreiranja"].Direction = ParameterDirection.Input;

                cmd.Parameters.AddWithValue("@aktivan", projekat.Aktivan);
                cmd.Parameters["@aktivan"].Direction = ParameterDirection.Input;

                MySqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    projekti.Add(new Projekat {
                        ProjekatID = reader.GetInt32(0), Naziv = reader.GetString(1), DatumKreiranja = reader.GetDateTime(2), Aktivan = reader.GetBoolean(3)
                    });
                }
            }
            #endregion

            #region Procitaj sve ucesnike za projekat iz bp
            foreach (Projekat p in projekti)
            {
                Dictionary <Int32, Int32> dict = ReadUcesnikIDAndUlogaIDFromUcesnikProjekatUlogaByProjekatID(p.ProjekatID.Value);

                foreach (KeyValuePair <Int32, Int32> pair in dict)
                {
                    Ucesnik ucesnik = MySqlUcesnikDao.Instance.Read(new Ucesnik {
                        UcesnikID = pair.Key
                    })[0];
                    Uloga uloga = MySqlUlogaDao.Instance.Read(new Uloga {
                        UlogaID = pair.Value
                    })[0];
                    p.UcesniciNaProjektu[ucesnik] = uloga;
                }
            }
            #endregion

            #region Procitaj sve cjeline za svaki projekat iz bp
            foreach (Projekat p in projekti)
            {
                p.Cjeline = MySqlCjelinaDao.Instance.Read(new Cjelina {
                    ProjekatID = p.ProjekatID
                });
            }
            #endregion

            return(projekti);
        }
 public Projekti(Ucesnik uc)
 {
     Ucesnik    = uc;
     pronadjeno = false;
     InitializeComponent();
 }
Exemple #26
0
        private void btnDodeli_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndices.Count == 1)
            {
                ISession     sesija      = DataLayer.GetSession();
                ITransaction transakcija = sesija.BeginTransaction();

                //             sesija.Save(poklon);

                Ucesnik ucesnik = (Ucesnik)listBox1.SelectedItem;
                ucesnik = sesija.Load <Ucesnik>(ucesnik.Id);
                sesija.Delete(ucesnik);
                transakcija.Commit();

                listBox1.Items.Clear();

                Ucesnik dobitnik = new Ucesnik();
                dobitnik.DatumPrvePorudzbine = ucesnik.DatumPrvePorudzbine;

                Poklon poklon;
                if (radioPizza.Checked)
                {
                    poklon = new PoklonPizza();
                }
                else
                {
                    poklon = new PoklonPopust();
                }
                poklon.Bodovi = (int)numericUpDown1.Value;

                dobitnik.SakupljeniBodovi = ucesnik.SakupljeniBodovi - poklon.Bodovi;
                dobitnik.Porudzbine       = ucesnik.Porudzbine;
                dobitnik.LicniBroj        = ucesnik.LicniBroj;
                sesija.Save(dobitnik);

                sesija.Close();

                sesija                 = DataLayer.GetSession();
                transakcija            = sesija.BeginTransaction();
                poklon.DatumDodele     = DateTime.Now;
                poklon.DatumIskoriscen = DateTime.Now;
                poklon.IdKupca         = dobitnik;
                sesija.Save(poklon);
                transakcija.Commit();
                sesija.Close();

                sesija      = DataLayer.GetSession();
                transakcija = sesija.BeginTransaction();
                foreach (Porudzbina porudzbina in ucesnik.Porudzbine)
                {
                    Porudzbina p;
                    if (porudzbina.GetType() == typeof(NeisporucenaPorudzbina))
                    {
                        p = new NeisporucenaPorudzbina();
                    }
                    else
                    {
                        p = new IsporucenaPorudzbina();
                    }
                    p         = porudzbina;
                    p.IdKupca = dobitnik;
                    sesija.Save(p);
                }
                foreach (Poklon nagrada in ucesnik.Pokloni)
                {
                    Poklon p;
                    if (nagrada.GetType() == typeof(PoklonPopust))
                    {
                        p = new PoklonPopust();
                    }
                    else
                    {
                        p = new PoklonPizza();
                    }
                    p         = nagrada;
                    p.IdKupca = dobitnik;
                    sesija.Save(p);
                }
                transakcija.Commit();
                sesija.Close();

                UcitajUcesnike();
            }
            else
            {
                MessageBox.Show("Izaberite jednog ucesnika");
            }
        }