Exemple #1
0
 public List <IDomenskiObjekat> VratiSveSlabeObjekteSaKriterijumom(IDomenskiObjekat odo, string kriterijum, string sifraJakog)
 {
     try
     {
         Komanda.CommandText = String.Format(Konstante.SQL.SELECT_FROM, Konstante.SQL.ALL) + odo.VratiNazivTabele() +
                               String.Format(Konstante.SQL.WHERE, String.Join(Konstante.SQL.AND, new String[]
         {
             odo.VratiKriterijumJakog(sifraJakog),
             kriterijum
         }));
         Komanda.CommandType = CommandType.Text;
         Citac = Komanda.ExecuteReader();
         return(odo.VratiListu(ref Citac));
     }
     catch (Exception ex)
     {
         Poruka = Konstante.DB.NAUSPESNO_PRETRAZIVANJE;
         return(null);
     }
 }
Exemple #2
0
        //Opste metode: SELECT, UPDATE, DELETE, INSERT
        internal Object PosaljiOperaciju(Operacija operacija, IDomenskiObjekat ido)
        {
            Zahtev z = new Zahtev
            {
                Operacija = operacija,
                Objekat   = ido
            };

            Komunikacija.Instance.PosaljiZahtev(z);

            Odgovor o = Komunikacija.Instance.ProcitajOdgovor();

            if (o.Signal == Signal.Ok)
            {
                return(o.Objekat);
            }
            else
            {
                throw new Exception(o.Poruka);
            }
        }
Exemple #3
0
        public object Izvrsi(IDomenskiObjekat objekat)
        {
            try
            {
                Validacija(objekat);
                broker.OtvoriKonekciju();
                broker.PokreniTransakciju();
                object rezultat = IzvrsiKonkretnuOperaciju(objekat);
                broker.Commit();
                return(rezultat);
            }
            catch (Exception e)
            {
                broker.Rollback();
                Debug.WriteLine(e.Message);
                return(null);

                throw;
            }
            finally { broker.ZatvoriKonekciju(); }
        }
 public void Izvrsi(IDomenskiObjekat objekat)
 {
     try
     {
         Validacija(objekat);
         broker.OtvoriKonekciju();
         broker.PokreniTransakciju();
         IzvrsiKonkretnuOperaciju(objekat);
         broker.Commit();
     }
     catch (Exception e)
     {
         broker.Rollback();
         Debug.WriteLine(">>> " + e.Message);
         throw;
     }
     finally
     {
         broker.ZatvoriKonekciju();
     }
 }
Exemple #5
0
        protected override void IzvrsiKonkretnuOperaciju(IDomenskiObjekat objekat)
        {
            try
            {
                int updatedRows = broker.UpdateObject(objekat);

                if (updatedRows == 1)
                {
                    ZapamceniKorisnik = (Korisnik)objekat;
                }
            }
            catch (Exception)
            {
                ZapamceniKorisnik = null;
                Korisnik tmp = (Korisnik)broker.SearchById(objekat);
                if (string.IsNullOrWhiteSpace(tmp.KorisnickoIme))
                {
                    broker.DeleteObject(tmp);
                }
            }
        }
        public IDomenskiObjekat SearchSlozeniObjekat(string criteria, IDomenskiObjekat objekat)
        {
            SqlCommand command = new SqlCommand();

            command.Transaction = transaction;
            command.Connection  = connection;
            command.CommandText = $"select distinct {objekat.SearchColumns} from {objekat.Table} {objekat.Join} {criteria}";
            SqlDataReader reader = command.ExecuteReader();

            List <IDomenskiObjekat> result = objekat.GetReaderResult(reader);

            reader.Close();

            if (result.Count != 1)
            {
                throw new Exception("Razlicito od jednog sloga!!!!");
            }

            foreach (var item in objekat.WeakObjects)
            {
                IDomenskiObjekat weakObject = item[0];

                List <IDomenskiObjekat> weakObjectList = SearchMod($"where {weakObject.DependentObjectID} = {objekat.ColumnId}", weakObject);

                result[0].FillWeakObjects(weakObjectList);
            }

            foreach (var item in objekat.AssociativeObjects)
            {
                IDomenskiObjekat associativeObject = item[0];

                List <IDomenskiObjekat> associativeObjectList = SearchJoin(criteria, associativeObject);

                result[0].FillAssociativeObjects(associativeObjectList);
            }



            return(result[0]);
        }
Exemple #7
0
        public void IzvrsiSO(IDomenskiObjekat objekat)
        {
            try
            {
                broker.OtvoriKonekciju();
                broker.ZapocniTransakciju();

                IzvrsiOperaciju(objekat);

                broker.Commit();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                broker.Rollback();
                throw new Exception("Zabranjeno brisanje!");
            }
            finally
            {
                broker.ZatvoriKonekciju();
            }
        }
Exemple #8
0
        public int DajSifru(IDomenskiObjekat ido)
        {
            string     upit    = @"select MAX(" + ido.ImeKljuca() + ") from " + ido.NazivTabele() + "";
            SqlCommand komanda = new SqlCommand(upit, konekcija, transakcija);

            try
            {
                try
                {
                    int sifra = Convert.ToInt32(komanda.ExecuteScalar());
                    return(sifra + 1);
                }
                catch (Exception)
                {
                    return(1);
                }
            }
            catch (Exception)
            {
                throw new Exception("Greška!");
            }
        }
        protected override object Izvrsi(IDomenskiObjekat odo)
        {
            Korisnik  k = new Korisnik();
            Narucilac n = odo as Narucilac;

            k.KorisnikID    = n.KorisnikID;
            k.KorisnickoIme = n.KorisnickoIme;
            k.Lozinka       = n.Lozinka;
            List <Korisnik> lista = BrokerBazePodataka.Broker.Instance().VratiSve(k).OfType <Korisnik>().ToList <Korisnik>();

            lista.AddRange(BrokerBazePodataka.Broker.Instance().VratiSve(new Radnik()).OfType <Korisnik>().ToList <Korisnik>());
            foreach (Korisnik kor in lista)
            {
                if (kor.KorisnickoIme == k.KorisnickoIme && kor.KorisnikID != k.KorisnikID)
                {
                    System.Windows.Forms.MessageBox.Show("Postoji korisnik sa istim korisnickim imenom!");
                    return(null);
                }
            }
            Broker.Instance().Izmeni(k);
            return(Broker.Instance().Izmeni(n));
        }
Exemple #10
0
        protected override void IzvrsiOperaciju(IDomenskiObjekat objekat)
        {
            int brojRedova = broker.Izmeni(objekat);

            if (brojRedova == 1)
            {
                if (objekat is Plivac)
                {
                    Plivac = objekat as Plivac;
                }
                if (objekat is Takmicenje)
                {
                    Takmicenje = objekat as Takmicenje;
                }

                Uspeh = true;
            }
            else
            {
                throw new System.Exception("Sistem ne moze da zapamti novi objekat");
            }
        }
Exemple #11
0
        //
        public List <IDomenskiObjekat> VratiRazmenuRobe(IDomenskiObjekat objekat, string operacija)
        {
            SqlCommand              command  = new SqlCommand($"SELECT RazmenaRobe.*, Roba.* FROM {objekat.VratiImeKlase()} JOIN Roba ON RazmenaRobe.RazmenaID = Roba.RazmenaUlozeneRobe WHERE {objekat.VratiSlozenUslov(operacija)}", connection, transaction);
            SqlDataReader           reader   = command.ExecuteReader();
            List <IDomenskiObjekat> rezultat = objekat.VratiListu(reader);

            reader.Close();

            int broj = 1;

            foreach (IDomenskiObjekat rez in rezultat)
            {
                broj = 1;

                while (rez.VratiPoddomen(broj) != null)
                {
                    rez.PostaviPoddomen(VratiJedan(rez.VratiPoddomen(broj)), broj);
                    broj++;
                }
            }
            return(rezultat);
        }
Exemple #12
0
        // ...#...
        public List <IDomenskiObjekat> VratiPretragu(IDomenskiObjekat objekat, string tekst)
        {
            SqlCommand              command  = new SqlCommand($"SELECT * FROM {objekat.VratiImeKlase()} WHERE {objekat.VratiPretragu(tekst)}", connection, transaction);
            SqlDataReader           reader   = command.ExecuteReader();
            List <IDomenskiObjekat> rezultat = objekat.VratiListu(reader);

            reader.Close();

            int broj = 1;

            foreach (IDomenskiObjekat rez in rezultat)
            {
                broj = 1;

                while (rez.VratiPoddomen(broj) != null)
                {
                    rez.PostaviPoddomen(VratiJedan(rez.VratiPoddomen(broj)), broj);
                    broj++;
                }
            }
            return(rezultat);
        }
Exemple #13
0
        public Object IzvrsiSO(IDomenskiObjekat odo)
        {
            Object rezultat = null;

            Broker.Instance().OpenConnection();
            Broker.Instance().BeginTransaction();
            try
            {
                rezultat = Izvrsi(odo);
                Broker.Instance().Commit();
            }
            catch (Exception)
            {
                //throw ex;
                Broker.Instance().Rollback();
            }
            finally
            {
                Broker.Instance().CloseConnection();
            }

            return(rezultat);
        }
Exemple #14
0
        public int VratiNovId(IDomenskiObjekat objekat)
        {
            try
            {
                string kurs = ConfigurationManager.AppSettings["srednji_kurs_nbs"];
                double k    = Double.Parse(kurs);

                SqlCommand command = new SqlCommand();
                command.Connection  = connection;
                command.CommandText = $"SELECT MAX({objekat.ColumnId}) FROM {objekat.Table}";
                object rez = command.ExecuteScalar();
                if (rez is DBNull)
                {
                    return(1);
                }
                int maxid = (int)rez;
                return(maxid + 1);
            }
            finally
            {
                connection.Close();
            }
        }
        public IDomenskiObjekat SearchById(IDomenskiObjekat objekat)
        {
            SqlCommand command = new SqlCommand();

            command.Transaction = transaction;
            command.Connection  = connection;
            command.CommandText = $"select * from {objekat.Table} WHERE {objekat.SearchById()}";
            SqlDataReader reader = command.ExecuteReader();

            List <IDomenskiObjekat> result = objekat.GetReaderResult(reader);

            if (result.Count > 1)
            {
                throw new Exception("Object is not unique");
            }
            if (result.Count == 0)
            {
                return(null);
            }

            reader.Close();

            return(result[0]);
        }
        protected override void IzvrsiOperaciju(IDomenskiObjekat objekat)
        {
            object rezultat = broker.VratiNajveciID(objekat);

            if (rezultat is DBNull)
            {
                throw new Exception($"{objekat.NazivTabele} ne postoji!");
            }

            int noviID = (int)rezultat + 1;

            objekat.PostaviPrimarniKljuc(noviID);
            int brojRedova = broker.Kreiraj(objekat);

            if (brojRedova == 1)
            {
                Plivac = objekat as Plivac;
            }
            else
            {
                Plivac = null;
                throw new System.Exception("Sistem ne moze da zapamti novog plivaca");
            }
        }
 protected override object IzvrsiKonkretnuOperaciju(IDomenskiObjekat objekat)
 {
     return(broker.Izmeni(objekat));
 }
 protected override void IzvrsiKonkretnuOperaciju(IDomenskiObjekat objekat)
 {
     Proizvodjaci = broker.VratiSve(objekat).Cast <Proizvodjac>().ToList();
 }
        protected override void IzvrsiKonkretnuOperaciju(IDomenskiObjekat odo)
        {
            Mesto o = (Mesto)odo;

            MestaList = broker.VratiSve(o).OfType <Mesto>().ToList();
        }
Exemple #20
0
        public static object PrikaziNarudzbenicu(IDomenskiObjekat domenskiObjekat)
        {
            OpstaSO so = new PrikaziNarudzbenicu();

            return(so.IzvrsiSO(domenskiObjekat));
        }
Exemple #21
0
        public static object ObrisiProizvod(IDomenskiObjekat domenskiObjekat)
        {
            OpstaSO so = new ObrisiProizvod();

            return(so.IzvrsiSO(domenskiObjekat));
        }
Exemple #22
0
        public static object PretraziProizvod(IDomenskiObjekat domenskiObjekat)
        {
            OpstaSO so = new PretraziProizvode();

            return(so.IzvrsiSO(domenskiObjekat));
        }
Exemple #23
0
        public static object PretraziNarucioce(IDomenskiObjekat odo)
        {
            OpstaSO so = new PretraziNarucioce();

            return(so.IzvrsiSO(odo));
        }
Exemple #24
0
        public static object ZapamtiNarudzbenicu(IDomenskiObjekat odo)
        {
            OpstaSO so = new ZapamtiNarudzbenicu();

            return(so.IzvrsiSO(odo));
        }
Exemple #25
0
 protected override void Validacija(IDomenskiObjekat odo)
 {
     throw new System.NotImplementedException();
 }
 protected override void IzvrsiKonkretnuOperaciju(IDomenskiObjekat objekat)
 {
     Korisnici = broker.VratiSve(objekat).Cast <Korisnik>().ToList();
 }
Exemple #27
0
 protected override void IzvrsiKonkretnuOperaciju(IDomenskiObjekat odo)
 {
     throw new System.NotImplementedException();
 }
Exemple #28
0
        public static object KreirajNarucioca(IDomenskiObjekat odo)
        {
            OpstaSO so = new KreirajNarucioca();

            return(so.IzvrsiSO(odo));
        }
 protected override object Izvrsi(IDomenskiObjekat odo)
 {
     return(Broker.Instance().VratiSveZaUslov(odo).OfType <Narucilac>().ToList <Narucilac>());
 }
Exemple #30
0
        public static object ZapamtiProizvod(IDomenskiObjekat odo)
        {
            OpstaSO so = new ZapamtiProizvod();

            return(so.IzvrsiSO(odo));
        }