private void btnSnimi_Click(object sender, EventArgs e)
        {
            if (n != null)
            {
                NekretninaBasic nb = new NekretninaBasic();
                nb.NekretninaId      = n.NekretninaId;
                nb.Ulica             = txtUlica.Text;
                nb.Cena              = Int32.Parse(txtCena.Text);
                nb.SpratBrojSpratova = txtSpratovi.Text;
                nb.Opis              = txtOpis.Text;
                if (n.Meseci != 0)
                {
                    nb.Meseci = Int32.Parse(txtMaxMeseci.Text);
                }
                if (n.DatumOd != DateTime.MinValue)
                {
                    nb.DatumOd = dtpOd.Value;
                    nb.DatumDo = dtpDo.Value;
                }
                DTOManager.UpdateNekretninaBasic(nb);
            }
            else
            {
                if (chkProdaja.Checked)
                {
                    try
                    {
                        ISession          s  = DataLayer.GetSession();
                        NekretninaProdaja np = new NekretninaProdaja();
                        np.GradLokacija       = txtLokacija.Text;
                        np.Ulica              = txtUlica.Text;
                        np.Broj               = Int32.Parse(txtBroj.Text);
                        np.BrojParcele        = txtParcela.Text;
                        np.KatastarskaOpstina = txtOpstina.Text;
                        np.Tip             = cbxTip.SelectedItem.ToString();
                        np.Kvadratura      = Int32.Parse(txtKvadratura.Text);
                        np.DatumIzgradnje  = dtpDatum.Value;
                        np.Cena            = Int32.Parse(txtCena.Text);
                        np.SpratBrSpratova = txtSpratovi.Text;
                        np.Opis            = txtOpis.Text;
                        np.IdUgovora       = txtUgovor.Text;

                        Klijent vlasnik = s.Load <Klijent>(Int32.Parse(txtVlasnik.Text));
                        Agent   agent   = s.Load <Agent>(Int32.Parse(txtAgent.Text));
                        if (vlasnik.NekretnineVlasnik.Count == 0 && !vlasnik.Prodavac.Equals("Da"))
                        {
                            vlasnik.Prodavac = "Da";
                            s.Update(vlasnik);
                        }
                        Random           r  = new Random();
                        PotpisaniUgovori pu = new PotpisaniUgovori()
                        {
                            PotpUgovori = txtUgovor.Text,
                            Kod         = 20180605 + r.Next()
                        };
                        pu.Agent        = agent;
                        np.Vlasnik      = vlasnik;
                        np.ZaduzenAgent = agent;
                        s.Save(pu);
                        s.Flush();
                        s.Close();

                        DTOManager.SaveNekretnina(np);
                    }
                    catch (Exception ec)
                    {
                        MessageBox.Show(ec.Message);
                    }
                }
                else
                {
                    if (chkKrace.Checked)
                    {
                        try
                        {
                            ISession s = DataLayer.GetSession();
                            NekretninaIznajmljivanjeKrace nk = new NekretninaIznajmljivanjeKrace();
                            nk.GradLokacija       = txtLokacija.Text;
                            nk.Ulica              = txtUlica.Text;
                            nk.Broj               = Int32.Parse(txtBroj.Text);
                            nk.BrojParcele        = txtParcela.Text;
                            nk.KatastarskaOpstina = txtOpstina.Text;
                            nk.Tip             = cbxTip.SelectedItem.ToString();
                            nk.Kvadratura      = Int32.Parse(txtKvadratura.Text);
                            nk.DatumIzgradnje  = dtpDatum.Value;
                            nk.Cena            = Int32.Parse(txtCena.Text);
                            nk.SpratBrSpratova = txtSpratovi.Text;
                            nk.Opis            = txtOpis.Text;
                            nk.IdUgovora       = txtUgovor.Text;
                            nk.Godina          = Int32.Parse(txtGodina.Text);
                            nk.DatumOd         = dtpOd.Value;
                            nk.DatumDo         = dtpDo.Value;

                            Klijent vlasnik = s.Load <Klijent>(Int32.Parse(txtVlasnik.Text));
                            Agent   agent   = s.Load <Agent>(Int32.Parse(txtAgent.Text));
                            if (vlasnik.NekretnineVlasnik.Count == 0 && !vlasnik.Prodavac.Equals("Da"))
                            {
                                vlasnik.Prodavac = "Da";
                                s.Update(vlasnik);
                            }
                            Random           r  = new Random();
                            PotpisaniUgovori pu = new PotpisaniUgovori()
                            {
                                PotpUgovori = txtUgovor.Text,
                                Kod         = 20180605 + r.Next()
                            };
                            pu.Agent        = agent;
                            nk.Vlasnik      = vlasnik;
                            nk.ZaduzenAgent = agent;
                            s.Save(pu);
                            s.Flush();
                            s.Close();

                            DTOManager.SaveNekretnina(nk);
                        }
                        catch (Exception ec)
                        {
                            MessageBox.Show(ec.Message);
                        }
                    }
                    else
                    {
                        try
                        {
                            ISession s = DataLayer.GetSession();
                            NekretninaIznajmljivanjeDuze nd = new NekretninaIznajmljivanjeDuze();
                            nd.GradLokacija       = txtLokacija.Text;
                            nd.Ulica              = txtUlica.Text;
                            nd.Broj               = Int32.Parse(txtBroj.Text);
                            nd.BrojParcele        = txtParcela.Text;
                            nd.KatastarskaOpstina = txtOpstina.Text;
                            nd.Tip              = cbxTip.SelectedItem.ToString();
                            nd.Kvadratura       = Int32.Parse(txtKvadratura.Text);
                            nd.DatumIzgradnje   = dtpDatum.Value;
                            nd.Cena             = Int32.Parse(txtCena.Text);
                            nd.SpratBrSpratova  = txtSpratovi.Text;
                            nd.Opis             = txtOpis.Text;
                            nd.IdUgovora        = txtUgovor.Text;
                            nd.MaxMeseci        = Int32.Parse(txtMaxMeseci.Text);
                            nd.FizickaLicaFirme = cbxLicaFirme.SelectedItem.ToString();

                            Klijent vlasnik = s.Load <Klijent>(Int32.Parse(txtVlasnik.Text));
                            Agent   agent   = s.Load <Agent>(Int32.Parse(txtAgent.Text));
                            if (vlasnik.NekretnineVlasnik.Count == 0 && !vlasnik.Prodavac.Equals("Da"))
                            {
                                vlasnik.Prodavac = "Da";
                                s.Update(vlasnik);
                            }
                            Random           r  = new Random();
                            PotpisaniUgovori pu = new PotpisaniUgovori()
                            {
                                PotpUgovori = txtUgovor.Text,
                                Kod         = 20180605 + r.Next()
                            };
                            pu.Agent        = agent;
                            nd.Vlasnik      = vlasnik;
                            nd.ZaduzenAgent = agent;
                            s.Save(pu);
                            s.Flush();
                            s.Close();

                            DTOManager.SaveNekretnina(nd);
                        }
                        catch (Exception ec)
                        {
                            MessageBox.Show(ec.Message);
                        }
                    }
                }
            }
        }
Exemple #2
0
        private void btnSnimi_Click(object sender, EventArgs e)
        {
            if (u != null)
            {
                UgovorBasic ub = new UgovorBasic();
                ub.AdresaNotara = txtAdresa.Text;
                ub.Naknada      = Int32.Parse(txtNaknada.Text);
                ub.Bonus        = Int32.Parse(txtBonus.Text);
                ub.UgovorId     = u.UgovorId;
                if (u.Period != 0)
                {
                    ub.Period = Int32.Parse(txtPeriod.Text);
                }
                DTOManager.UpdateUgovorBasic(ub);
            }
            else
            {
                if (chkProdaja.Checked)
                {
                    try
                    {
                        ISession       s  = DataLayer.GetSession();
                        ProdajniUgovor pu = new ProdajniUgovor();
                        pu.Datum            = dtpDatum.Value;
                        pu.ImePrezimeNotara = txtNotar.Text;
                        pu.AdresaNotara     = txtAdresa.Text;
                        pu.NaknadaAgencija  = Int32.Parse(txtNaknada.Text);
                        pu.BonusAgent       = Int32.Parse(txtBonus.Text);
                        pu.Cena             = Int32.Parse(txtCena.Text);
                        pu.NaknadaNotar     = Int32.Parse(txtNotarNaknada.Text);

                        int nekId = Int32.Parse(txtNekretnina.Text);
                        IList <Nekretnina> nekretnina = s.QueryOver <Nekretnina>()
                                                        .Where(nek => nek.Id == nekId)
                                                        .List <Nekretnina>();
                        if (nekretnina[0].GetType() != typeof(NekretninaProdaja))
                        {
                            MessageBox.Show("Nekretnina mora biti na prodaju!");
                            return;
                        }
                        Klijent prodavac = s.Load <Klijent>(Int32.Parse(txtVlasnik.Text));
                        if (prodavac.Id != nekretnina[0].Vlasnik.Id)
                        {
                            MessageBox.Show("Unet ID vlasnika ne odgovara vlasniku nekretnine!");
                            return;
                        }
                        Klijent         kupac             = s.Load <Klijent>(Int32.Parse(txtKupac.Text));
                        PravniZastupnik zastupnikProdavac = null;
                        PravniZastupnik zastupnikKupac    = null;

                        string zastupnikV = txtZastupnikV.Text;
                        if (!zastupnikV.Equals(""))
                        {
                            zastupnikProdavac = s.Load <PravniZastupnik>(Int32.Parse(zastupnikV));
                        }
                        string zastupnikK = txtZastupnikK.Text;
                        if (!zastupnikK.Equals(""))
                        {
                            zastupnikKupac = s.Load <PravniZastupnik>(Int32.Parse(zastupnikK));
                        }

                        pu.PripadaNekretnini          = nekretnina[0];
                        pu.Vlasnik                    = prodavac;
                        pu.ZastupnikVlasnik           = zastupnikProdavac;
                        pu.ZastupnikKupacIznajmljivac = zastupnikKupac;
                        pu.KupacIznajmljivac          = kupac;
                        if (kupac.Kupac.Equals("Ne"))
                        {
                            kupac.Kupac = "Da";
                            s.Update(kupac);
                        }
                        s.Flush();
                        s.Close();

                        DTOManager.SaveUgovor(pu);
                    }
                    catch (Exception ec)
                    {
                        MessageBox.Show(ec.Message);
                    }
                }
                else
                {
                    if (chkIznajmljivanje.Checked)
                    {
                        try
                        {
                            ISession             s  = DataLayer.GetSession();
                            IznajmljivanjeUgovor iu = new IznajmljivanjeUgovor();
                            iu.Datum                = dtpDatum.Value;
                            iu.ImePrezimeNotara     = txtNotar.Text;
                            iu.AdresaNotara         = txtAdresa.Text;
                            iu.NaknadaAgencija      = Int32.Parse(txtNaknada.Text);
                            iu.BonusAgent           = Int32.Parse(txtBonus.Text);
                            iu.PeriodIznajmljivanja = Int32.Parse(txtPeriod.Text);
                            iu.Renta                = Int32.Parse(txtRenta.Text);

                            int nekId = Int32.Parse(txtNekretnina.Text);
                            IList <Nekretnina> nekretnina = s.QueryOver <Nekretnina>()
                                                            .Where(nek => nek.Id == nekId)
                                                            .List <Nekretnina>();
                            if (nekretnina[0].GetType() != typeof(NekretninaIznajmljivanjeDuze) && nekretnina[0].GetType() != typeof(NekretninaIznajmljivanjeKrace))
                            {
                                MessageBox.Show("Nekretnina mora biti za iznajmljivanje!");
                                return;
                            }
                            Klijent prodavac = s.Load <Klijent>(Int32.Parse(txtVlasnik.Text));
                            if (prodavac.Id != nekretnina[0].Vlasnik.Id)
                            {
                                MessageBox.Show("Unet ID vlasnika ne odgovara vlasniku nekretnine!");
                                return;
                            }
                            Klijent         kupac             = s.Load <Klijent>(Int32.Parse(txtKupac.Text));
                            PravniZastupnik zastupnikProdavac = null;
                            PravniZastupnik zastupnikKupac    = null;

                            string zastupnikV = txtZastupnikV.Text;
                            if (!zastupnikV.Equals(""))
                            {
                                zastupnikProdavac = s.Load <PravniZastupnik>(Int32.Parse(zastupnikV));
                            }
                            string zastupnikK = txtZastupnikK.Text;
                            if (!zastupnikK.Equals(""))
                            {
                                zastupnikKupac = s.Load <PravniZastupnik>(Int32.Parse(zastupnikK));
                            }

                            iu.PripadaNekretnini          = nekretnina[0];
                            iu.Vlasnik                    = prodavac;
                            iu.ZastupnikVlasnik           = zastupnikProdavac;
                            iu.ZastupnikKupacIznajmljivac = zastupnikKupac;
                            iu.KupacIznajmljivac          = kupac;
                            if (kupac.Kupac.Equals("Ne"))
                            {
                                kupac.Kupac = "Da";
                                s.Update(kupac);
                            }
                            s.Flush();
                            s.Close();

                            DTOManager.SaveUgovor(iu);
                        }
                        catch (Exception ec)
                        {
                            MessageBox.Show(ec.Message);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Morate oznaciti tip ugovora!");
                    }
                }
            }
        }
        public static void UpdateNekretninaBasic(NekretninaBasic nb)
        {
            try
            {
                ISession           s = DataLayer.GetSession();
                IList <Nekretnina> n = s.QueryOver <Nekretnina>()
                                       .Where(nek => nek.Id == nb.NekretninaId)
                                       .List <Nekretnina>();
                NekretninaProdaja             np = null;
                NekretninaIznajmljivanjeKrace nk = null;
                NekretninaIznajmljivanjeDuze  nd = null;

                if (n[0].GetType() == typeof(NekretninaProdaja))
                {
                    np                 = (NekretninaProdaja)n[0];
                    np.Ulica           = nb.Ulica;
                    np.Cena            = nb.Cena;
                    np.Opis            = nb.Opis;
                    np.SpratBrSpratova = nb.SpratBrojSpratova;
                }
                else
                {
                    if (n[0].GetType() == typeof(NekretninaIznajmljivanjeKrace))
                    {
                        nk                 = (NekretninaIznajmljivanjeKrace)n[0];
                        nk.Ulica           = nb.Ulica;
                        nk.Cena            = nb.Cena;
                        nk.Opis            = nb.Opis;
                        nk.SpratBrSpratova = nb.SpratBrojSpratova;
                        nk.DatumOd         = nb.DatumOd;
                        nk.DatumDo         = nb.DatumDo;
                    }
                    else
                    {
                        nd                 = (NekretninaIznajmljivanjeDuze)n[0];
                        nd.Ulica           = nb.Ulica;
                        nd.Cena            = nb.Cena;
                        nd.Opis            = nb.Opis;
                        nd.SpratBrSpratova = nb.SpratBrojSpratova;
                        nd.MaxMeseci       = nb.Meseci;
                    }
                }

                if (np != null)
                {
                    s.Update(np);
                }
                else
                {
                    if (nk != null)
                    {
                        s.Update(nk);
                    }
                    else
                    {
                        s.Update(nd);
                    }
                }

                s.Flush();

                s.Close();
            }
            catch (Exception ec)
            {
                MessageBox.Show(ec.Message);
            }
        }