示例#1
0
 public FizickoView(Fizicko k)
 {
     id          = k.id;
     ime         = k.ime;
     prezime     = k.prezime;
     telefon     = k.telefon;
     tipLica     = k.tipLica;
     maticniBroj = k.maticniBroj;
 }
示例#2
0
        private void btn_sacuvaj_Click(object sender, EventArgs e)
        {
            try
            {
                //kreira novog kupca
                if (noviKupac)
                {
                    if (string.IsNullOrEmpty(txt_ime.Text) || string.IsNullOrEmpty(txt_prezime.Text) ||
                        string.IsNullOrEmpty(cb_tip_lica.Text))
                    {
                        MessageBox.Show("Polja Ime, Prezime i tip lica ne smeju biti prazna!", "Upozorenje",
                                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    ISession session = DataLayer.GetSession();

                    switch (cb_tip_lica.Text)
                    {
                    case "fizicko":
                    {
                        Fizicko fiz = new Fizicko();

                        fiz.ime     = txt_ime.Text;
                        fiz.prezime = txt_prezime.Text;

                        if (string.IsNullOrEmpty(txt_telefon.Text))
                        {
                            fiz.telefon = null;
                        }
                        else
                        {
                            fiz.telefon = long.Parse(txt_telefon.Text);
                        }

                        fiz.maticniBroj = long.Parse(txt_mat_br.Text);

                        if (!string.IsNullOrEmpty(txt_id_kup_vozila.Text))
                        {
                            var vozilo = (from v in session.Query <Vozilo>()
                                          where v.id == int.Parse(txt_id_kup_vozila.Text)
                                          select v).SingleOrDefault();
                            fiz.vozila.Add(vozilo);
                        }

                        session.Save(fiz);
                        session.Flush();
                        session.Close();
                        GetData("fizicko");
                        break;
                    }

                    case "pravno":
                    {
                        Pravno pravno = new Pravno();

                        pravno.ime     = txt_ime.Text;
                        pravno.prezime = txt_prezime.Text;

                        if (string.IsNullOrEmpty(txt_telefon.Text))
                        {
                            pravno.telefon = null;
                        }
                        else
                        {
                            pravno.telefon = long.Parse(txt_telefon.Text);
                        }

                        pravno.pib = long.Parse(txt_pib.Text);

                        if (!string.IsNullOrEmpty(txt_id_kup_vozila.Text))
                        {
                            var vozilo = (from v in session.Query <Vozilo>()
                                          where v.id == int.Parse(txt_id_kup_vozila.Text)
                                          select v).SingleOrDefault();
                            pravno.vozila.Add(vozilo);
                        }

                        session.Save(pravno);
                        session.Flush();
                        session.Close();
                        GetData("pravno");
                        break;
                    }

                    default: break;
                    }
                    noviKupac = false;
                }
                //azurira postojeceg kupca
                else
                {
                    if (string.IsNullOrEmpty(txt_ime.Text) || string.IsNullOrEmpty(txt_prezime.Text) ||
                        string.IsNullOrEmpty(cb_tip_lica.Text))
                    {
                        MessageBox.Show("Polja Ime, Prezime i tip lica ne smeju biti parzna!", "Upozorenje",
                                        MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }

                    ISession session = DataLayer.GetSession();
                    int      id      = int.Parse(dgvKupac.SelectedRows[0].Cells[0].Value.ToString());

                    switch (cb_tip_lica.Text)
                    {
                    case "pravno":
                    {
                        Pravno kupac = session.Load <Pravno>(id);

                        kupac.ime     = txt_ime.Text;
                        kupac.prezime = txt_prezime.Text;

                        if (string.IsNullOrEmpty(txt_telefon.Text))
                        {
                            kupac.telefon = null;
                        }
                        else
                        {
                            kupac.telefon = long.Parse(txt_telefon.Text);
                        }

                        kupac.pib = long.Parse(txt_pib.Text);

                        if (!string.IsNullOrEmpty(txt_id_kup_vozila.Text))
                        {
                            var vozilo = (from v in session.Query <Vozilo>()
                                          where v.id == int.Parse(txt_id_kup_vozila.Text)
                                          select v).SingleOrDefault();
                            kupac.vozila.Add(vozilo);
                        }

                        session.SaveOrUpdate(kupac);
                        session.Flush();
                        session.Close();
                        GetData("pravno");
                        break;
                    }

                    case "fizicko":
                    {
                        Fizicko kupac = session.Load <Fizicko>(id);

                        kupac.ime         = txt_ime.Text;
                        kupac.prezime     = txt_prezime.Text;
                        kupac.telefon     = long.Parse(txt_telefon.Text);
                        kupac.tipLica     = cb_tip_lica.Text;
                        kupac.maticniBroj = long.Parse(txt_mat_br.Text);

                        if (!string.IsNullOrEmpty(txt_id_kup_vozila.Text))
                        {
                            var vozilo = (from v in session.Query <Vozilo>()
                                          where v.id == int.Parse(txt_id_kup_vozila.Text)
                                          select v).SingleOrDefault();
                            kupac.vozila.Add(vozilo);
                        }

                        session.SaveOrUpdate(kupac);
                        session.Flush();
                        session.Close();
                        GetData("fizicko");
                        break;
                    }
                    }
                }
            }
            catch (Exception catchException)
            {
                MessageBox.Show(catchException.Message + catchException.InnerException, "Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }