public static List <PolicijskaStanicaView> VratiStanice(int id)
        {
            var stanice = new List <PolicijskaStanicaView>();

            try
            {
                ISession s = DataLayer.GetSession();
                IEnumerable <PolicijskaStanica> sveStanice = from c in s.Query <PolicijskaStanica>()
                                                             where c.Sef.PolicajacId == id || c.Zamenik.PolicajacId == id
                                                             select c;

                foreach (var stanica in sveStanice)
                {
                    var tmp = new PolicijskaStanicaView(stanica);
                    tmp.Sef     = new PolicajacView(stanica.Sef);
                    tmp.Zamenik = new PolicajacView(stanica.Zamenik);
                    stanice.Add(tmp);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(stanice);
        }
        public static List <PolicijskaStanicaView> VratiPolicijskeStanice()
        {
            List <PolicijskaStanicaView> stanice = new List <PolicijskaStanicaView>();

            try
            {
                ISession s = DataLayer.GetSession();

                IEnumerable <PolicijskaStanica> sveStanice = from a in s.Query <PolicijskaStanica>()
                                                             select a;
                foreach (PolicijskaStanica a in sveStanice)
                {
                    PolicijskaStanicaView tmp = new PolicijskaStanicaView(a);
                    tmp.Sef            = new PolicajacView(a.Sef);
                    tmp.Zamenik        = new PolicajacView(a.Zamenik);
                    tmp.Objekti        = a.Objekti.Select(c => new ObjekatView(c)).ToList();
                    tmp.SluzbenaVozila = a.SluzbenaVozila.Select(c => new SluzbenoVoziloView(c)).ToList();
                    tmp.Policajci      = a.Policajci.Select(c => new PolicajacView(c)).ToList();

                    stanice.Add(tmp);
                }

                s.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(stanice);
        }
 public IActionResult IzmeniStanicu([FromBody] PolicijskaStanicaView c)
 {
     try
     {
         DataProvider.IzmeniStanicu(c);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.ToString()));
     }
 }
 public IActionResult DodajUlicu([FromBody] PolicijskaStanicaView sta, int id)
 {
     try
     {
         var policajac = DataProvider.VratiPolicajca(id);
         // ne znam ovde kada imamo sefa i zamenika
         DataProvider.DodajStanice(sta);
         return(Ok());
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
        public static void IzmeniStanicu(PolicijskaStanicaView c)
        {
            try
            {
                ISession s       = DataLayer.GetSession();
                var      stanica = s.Get <PolicijskaStanica>(c.StanicaId);

                stanica.Naziv          = !string.IsNullOrEmpty(c.Naziv) ? c.Naziv : stanica.Naziv;
                stanica.DatumOsnivanja = c.DatumOsnivanja != DateTime.MinValue ? c.DatumOsnivanja : stanica.DatumOsnivanja;
                stanica.Adresa         = !string.IsNullOrEmpty(c.Adresa) ? c.Adresa : stanica.Adresa;
                stanica.Opstina        = !string.IsNullOrEmpty(c.Opstina) ? c.Opstina : stanica.Opstina;

                s.SaveOrUpdate(stanica);
                s.Flush();
                s.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public static void DodajStanice(PolicijskaStanicaView c)
        {
            try
            {
                ISession s       = DataLayer.GetSession();
                var      stanica = new PolicijskaStanica();

                stanica.Naziv          = c.Naziv;
                stanica.Adresa         = c.Adresa;
                stanica.DatumOsnivanja = c.DatumOsnivanja;
                stanica.Opstina        = c.Opstina;

                s.Save(stanica);
                s.Flush();
                s.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
        public static PolicijskaStanicaView VratiPolicijskuStanicu(int id)
        {
            try
            {
                ISession s       = DataLayer.GetSession();
                var      stanica = s.Get <PolicijskaStanica>(id);

                var st = new PolicijskaStanicaView(stanica);
                st.Objekti        = stanica.Objekti.Select(o => new ObjekatView(o)).ToList();
                st.Policajci      = stanica.Policajci.Select(p => new PolicajacView(p)).ToList();
                st.SluzbenaVozila = stanica.SluzbenaVozila.Select(v => new SluzbenoVoziloView(v)).ToList();
                st.Zamenik        = new PolicajacView(stanica.Zamenik);
                st.Sef            = new PolicajacView(stanica.Sef);

                return(st);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }