public async Task <IActionResult> Edit(int id, [Bind("UstanovaId,KorisnikId,brojRacunaUBanci,brojTelefona,stanjeUplata,odgovornoLiceId,username,password,adresa,email")] Ustanova ustanova)
        {
            if (id != ustanova.UstanovaId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(ustanova);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!UstanovaExists(ustanova.UstanovaId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(ustanova));
        }
Esempio n. 2
0
 private Data()
 {
     Ustanove  = Ustanova.GetAll();
     Ucionice  = Ucionica.GetAll();
     Korisnici = Korisnik.GetAll();
     Termini   = Termin.GetAll();
 }
Esempio n. 3
0
        public ActionResult Create([Bind(Include = "ID,Naziv,Adresa,Telefon,Email,Slika")] Ustanova ustanova, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                db.Ustanovas.Add(ustanova);
                db.SaveChanges();
                if (file != null && file.ContentLength > 0)
                {
                    try
                    {
                        Directory.CreateDirectory(Path.Combine(Server.MapPath("~/Imgs/Ustanove"), ustanova.ID.ToString()));
                        string path = Path.Combine(Server.MapPath("~/Imgs/Ustanove/" + ustanova.ID.ToString()),
                                                   Path.GetFileName(file.FileName));
                        file.SaveAs(path);
                    }
                    catch (Exception ex)
                    {
                        Session["Obavestenje"] = "ERROR:" + ex.Message.ToString();
                    }
                }
                return(RedirectToAction("Index"));
            }

            return(View(ustanova));
        }
Esempio n. 4
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (dataGridView1.SelectedRows.Count != 0)
            {
                Ustanova z = new Ustanova();
                z = (Ustanova)dataGridView1.CurrentRow.DataBoundItem;
                DialogResult dlg = MessageBox.Show("Da li ste sigurni da zelite da obrisete ustanovu?\nPromene su trajne!",
                                                   "Obavestenje!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                if (dlg == DialogResult.Yes)
                {
                    var connectionString = "mongodb://localhost/?safe=true";
                    var server           = MongoServer.Create(connectionString);
                    var db = server.GetDatabase("TouristGuide");


                    var collection = db.GetCollection <Ustanova>("ustanove");

                    collection.Remove(Query.EQ("_id", z.Id));
                    MessageBox.Show("Uspeno je obrisano!");
                }
                else
                {
                    return;
                }
            }
            else
            {
                MessageBox.Show("Selektujte opstinu!", "Greska!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 5
0
        public ActionResult DeleteConfirmed(int id)
        {
            Ustanova ustanova = db.Ustanovas.Find(id);
            string   path     = Server.MapPath(@"~/Imgs/Ustanove/" + ustanova.ID.ToString());

            Directory.Delete(path, true);
            db.Ustanovas.Remove(ustanova);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public IzmeniUstanoveWindow(Ustanova ustanova, Operacija operacija)
        {
            InitializeComponent();

            this.operacija = operacija;
            this.ustanova  = ustanova;

            tbSifra.DataContext    = ustanova;
            tbNaziv.DataContext    = ustanova;
            tbLokacija.DataContext = ustanova;
        }
        public async Task <IActionResult> Create([Bind("UstanovaId,KorisnikId,brojRacunaUBanci,brojTelefona,stanjeUplata,odgovornoLiceId,username,password,adresa,email")] Ustanova ustanova)
        {
            if (ModelState.IsValid)
            {
                _context.Add(ustanova);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(ustanova));
        }
        private void DodajUstanovu(object sender, RoutedEventArgs e)
        {
            var novaUstanova = new Ustanova()
            {
                SifraUstanove = "",
                Naziv         = "",
                Lokacija      = ""
            };
            var ustanovaProzor = new IzmeniUstanoveWindow(novaUstanova, IzmeniUstanoveWindow.Operacija.DODAVANJE);

            ustanovaProzor.ShowDialog();
        }
        private void IzmeniUstanovu(object sender, RoutedEventArgs e)
        {
            try
            {
                IzabranaUstanova = (Ustanova)dgUstanova.SelectedItem;
                var kopija         = (Ustanova)IzabranaUstanova.Clone();
                var ustanovaProzor = new IzmeniUstanoveWindow(kopija, IzmeniUstanoveWindow.Operacija.IZMENA);

                ustanovaProzor.Show();
            }
            catch
            {
                MessageBox.Show("Morate obeleziti red koji zelite da menjate", "Upozorenje", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
Esempio n. 10
0
        // GET: Ustanovas/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Ustanova ustanova = db.Ustanovas.Find(id);

            if (ustanova == null)
            {
                return(HttpNotFound());
            }
            ViewBag.listaOdeljenja = new SelectList(db.Odeljenjes.Where(o => o.IDUstanove == id).ToList(), "ID", "Naziv");
            return(View(ustanova));
        }
        private void ObrisiUstanovu_Click(object sender, RoutedEventArgs e)
        {
            var listaUstanova = Data.Instance.Ustanove;

            if (MessageBox.Show($"Da li zelite da obrisete {IzabranaUstanova.Naziv} ?", "Brisanje", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                foreach (var ustanova in listaUstanova)
                {
                    if (ustanova.Id == IzabranaUstanova.Id)
                    {
                        Ustanova.Delete(ustanova);
                        view.Refresh();
                        break;
                    }
                }
            }
        }
Esempio n. 12
0
 public DodajUstanovu(bool n, Ustanova p)
     : this()
 {
     button1.Text      = "Azuriraj";
     azuriraj          = n;
     comboBox1.Enabled = false;
     textBox1.Text     = p.Tip;
     textBox2.Text     = p.Naziv;
     textBox3.Text     = p.Adresa;
     foreach (Ustanova z in vratiPrevoz())
     {
         if (z.Id == p.Id)
         {
             ustanovUpdt = z;
         }
     }
 }
Esempio n. 13
0
 // GET: Ustanovas/Edit/5
 public ActionResult Edit(int?id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     if (Session["IDAdmina"] != null)
     {
         Ustanova ustanova = db.Ustanovas.Find(id);
         if (ustanova == null)
         {
             return(HttpNotFound());
         }
         return(View(ustanova));
     }
     return(RedirectToAction("Index", "Home"));
 }
Esempio n. 14
0
        private void button1_Click(object sender, EventArgs e)
        {
            var connectionString = "mongodb://localhost/?safe=true";
            var server           = MongoServer.Create(connectionString);
            var db = server.GetDatabase("TouristGuide");

            if (textBox1.Text == "" && textBox2.Text == "" && textBox3.Text == "")
            {
                MessageBox.Show("Niste popunili sva polja!");
            }
            if (!azuriraj)
            {
                if (comboBox1.SelectedIndex == -1)
                {
                    MessageBox.Show("Izaberite opstinu! Ukoliko ne postoji morate je napraviti!");
                    return;
                }
                var      collection = db.GetCollection <Ustanova>("ustanove");
                Ustanova s          = new Ustanova();
                s.Tip    = textBox1.Text;
                s.Naziv  = textBox2.Text;
                s.Adresa = textBox3.Text;

                collection.Insert(s);
                s.Opstina = new MongoDBRef("opstine", opstine[comboBox1.SelectedIndex].Id);
                collection.Save(s);

                opstine[comboBox1.SelectedIndex].Ustanove.Add(new MongoDBRef("ustanove", s.Id));
                azurirajOpstinu(opstine);
                MessageBox.Show("Ustanova je dodata!");
            }
            else
            {
                var collection = db.GetCollection <Ustanova>("ustanove");
                ustanovUpdt.Tip    = textBox1.Text;
                ustanovUpdt.Naziv  = textBox2.Text;
                ustanovUpdt.Adresa = textBox3.Text;
                collection.Save(ustanovUpdt);
                MessageBox.Show("Ustanova je azurirana!");
            }
            this.Close();
        }
 private void PretraziUstanovu_Click(object sender, RoutedEventArgs e)
 {
     if (cbPretraga.SelectedIndex == 0)
     {
         string sifra = tbPretraga.Text;
         viewPretraga           = CollectionViewSource.GetDefaultView(Ustanova.PretragaUstanove(sifra, Ustanova.TipPretrage.SIFRAUSTANOVE));
         dgUstanova.ItemsSource = viewPretraga;
     }
     else if (cbPretraga.SelectedIndex == 1)
     {
         string naziv = tbPretraga.Text;
         viewPretraga           = CollectionViewSource.GetDefaultView(Ustanova.PretragaUstanove(naziv, Ustanova.TipPretrage.NAZIV));
         dgUstanova.ItemsSource = viewPretraga;
     }
     else if (cbPretraga.SelectedIndex == 2)
     {
         string lokacija = tbPretraga.Text;
         viewPretraga           = CollectionViewSource.GetDefaultView(Ustanova.PretragaUstanove(lokacija, Ustanova.TipPretrage.LOKACIJA));
         dgUstanova.ItemsSource = viewPretraga;
     }
 }
Esempio n. 16
0
 private void button2_Click(object sender, EventArgs e)
 {
     if (dataGridView1.SelectedRows.Count != 0)
     {
         Ustanova z = new Ustanova();
         z = (Ustanova)dataGridView1.CurrentRow.DataBoundItem;
         DialogResult dlg = MessageBox.Show("Da li ste sigurni da zelite da izmenite Prevoz?\nPromene su trajne!",
                                            "Obavestenje!", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
         if (dlg == DialogResult.Yes)
         {
             DodajUstanovu p = new DodajUstanovu(true, z);
             p.Show();
         }
         else
         {
             return;
         }
     }
     else
     {
         MessageBox.Show("Selektujte opstinu!", "Greska!", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        private void Sacuvaj_Click(object sender, RoutedEventArgs e)
        {
            switch (operacija)
            {
            case Operacija.DODAVANJE:
                Ustanova u = new Ustanova()
                {
                    SifraUstanove = tbSifra.Text,
                    Naziv         = tbNaziv.Text,
                    Lokacija      = tbLokacija.Text
                };
                Ustanova.Create(u);
                break;

            case Operacija.IZMENA:
                ustanova.SifraUstanove = tbSifra.Text;
                ustanova.Naziv         = tbNaziv.Text;
                ustanova.Lokacija      = tbLokacija.Text;
                Ustanova.Update(ustanova);
                break;
            }
            Close();
        }
Esempio n. 18
0
        private void dataGridView1_DoubleClick(object sender, EventArgs e)
        {
            var connectionString = "mongodb://localhost/?safe=true";
            var server           = MongoServer.Create(connectionString);
            var db = server.GetDatabase("TouristGuide");

            Ustanova u = (Ustanova)dataGridView1.CurrentRow.DataBoundItem;
            // var ustanoveCollection = db.GetCollection<Ustanova>("ustanove");
            var opstine = db.GetCollection <Opstina>("opstine");

            MongoCursor <Opstina> ops = opstine.FindAll();

            String opstinica = "";

            foreach (Opstina o in ops)
            {
                if (o.Id == u.Opstina.Id)
                {
                    opstinica = o.Naziv;
                }
            }
            MessageBox.Show("Ustanova u kojoj se nalazi opstini: " + opstinica);
        }
Esempio n. 19
0
        public ActionResult Index(Models.PostavkeModel model)
        {
            using (ppij_databaseEntities data = new ppij_databaseEntities()) {
                Osoba osoba = data.Osoba.Where(o => o.korisnicko_ime_osoba == User.Identity.Name).FirstOrDefault();
                //Debug.WriteLine("tab: " + model.trenutniTab);
                if (ModelState.IsValid)
                {
                    String trenutniTab = model.trenutniTab;


                    if (trenutniTab.Equals("11") || trenutniTab.Equals("12"))
                    {
                        if (model.mojeVlastiteInstrukcije != null && model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_klijent != null)
                        {
                            foreach (dogovor_term_osoba dto in model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_klijent)
                            {
                                dogovor_termin dogovor = data.dogovor_termin.Where(d => d.ID_dogovor_termin == dto.termin.ID_dogovor_termin).FirstOrDefault();

                                if (dto.seen == true)
                                {
                                    if (dogovor.dogovor_status == 3)
                                    {
                                        dogovor.dogovor_status = 0;
                                    }
                                    else if (dogovor.dogovor_status == 11)
                                    {
                                        dogovor.dogovor_status = 1;
                                    }
                                }
                                if (dto.odustani == true)
                                {
                                    if (dogovor.dogovor_status == 10)
                                    {
                                        dogovor.dogovor_status = 20;
                                    }
                                    else if (dogovor.dogovor_status == 11 || dogovor.dogovor_status == 1)
                                    {
                                        dogovor.dogovor_status = 2;
                                    }
                                    //Debug.WriteLine("odustano od dogovora: " + dogovor.ID_dogovor_termin);
                                }
                                if (dogovor.dogovor_ocijena == null || dto.termin.dogovor_ocijena != dogovor.dogovor_ocijena)
                                {
                                    dogovor.dogovor_ocijena = dto.termin.dogovor_ocijena;
                                }
                                data.SaveChanges();
                            }
                        }
                        if (model.mojeVlastiteInstrukcije != null && model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_instruktor != null)
                        {
                            foreach (dogovor_term_osoba dto in model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_instruktor)
                            {
                                dogovor_termin dogovor = data.dogovor_termin.Where(d => d.ID_dogovor_termin == dto.termin.ID_dogovor_termin).FirstOrDefault();
                                if (dto.seen == true)
                                {
                                    if (dogovor.dogovor_status == 2)
                                    {
                                        dogovor.dogovor_status = 0;
                                    }
                                    else if (dogovor.dogovor_status == 10)
                                    {
                                        dogovor.dogovor_status = 11;
                                    }
                                }
                                if (dto.odustani == true)
                                {
                                    if (dogovor.dogovor_status == 1 || dogovor.dogovor_status == 11 || dogovor.dogovor_status == 10)
                                    {
                                        dogovor.dogovor_status = 3;
                                    }

                                    //Debug.WriteLine("odustano od dogovora: " + dogovor.ID_dogovor_termin);
                                }
                            }
                        }
                        data.SaveChanges();
                    }
                    else if (trenutniTab.Equals("21") || trenutniTab.Equals("22"))
                    {
                        /*foreach (String t in model.mojeVlastiteInstrukcije.mojiTermini)
                         * {
                         *  Debug.WriteLine("post: " + t);
                         * }*/
                        model.mojeVlastiteInstrukcije.mojiTermini = model.mojeVlastiteInstrukcije.mojiTermini.FirstOrDefault().Split(',').ToList();
                        List <Termin> toBeDel = new List <Termin>();
                        foreach (Termin s in osoba.Termin) //provjera starih termina - da li su još aktualni
                        {
                            //Debug.WriteLine("check to be deleted: " + s.ID_termin);
                            if (model.mojeVlastiteInstrukcije.mojiTermini.Contains(s.ID_termin.ToString()) == false)
                            {
                                //Debug.WriteLine("to be deleted: " + s.ID_termin);
                                toBeDel.Add(s);
                            }
                        }
                        foreach (Termin t in toBeDel)
                        {
                            osoba.Termin.Remove(t);
                        }
                        data.SaveChanges();
                        foreach (String s in model.mojeVlastiteInstrukcije.mojiTermini) //provjera novih termina - koje treba dodati u bazu
                        {
                            //Debug.WriteLine("check to be added: " + s);
                            if (s.Length > 0)
                            {
                                int id = Int32.Parse(s);
                                if (osoba.Termin.Where(st => st.ID_termin == id).Count() == 0)
                                {
                                    //Debug.WriteLine("to be added: " + s);
                                    Termin ter = data.Termin.Where(t => t.ID_termin == id).FirstOrDefault();
                                    osoba.Termin.Add(ter);
                                }
                            }
                        }
                    }
                    else if (trenutniTab.Equals("4"))
                    {
                        if (Crypto.VerifyHashedPassword(osoba.lozinka, model.changePassword.OldPassword + osoba.salt) == false)
                        {
                            ModelState.AddModelError("error_old_password", "pogrešna lozinka");
                            return(View());
                        }
                        string salt = Crypto.GenerateSalt(12);
                        osoba.lozinka = Crypto.HashPassword(model.changePassword.NewPassword + salt);
                        osoba.salt    = salt;
                    }
                    else if (trenutniTab.Equals("3"))
                    {
                        if (osoba.razina_prava != 0)
                        {
                            if (model.ostalePostavke.instruktor == true)
                            {
                                osoba.razina_prava = 1;
                            }
                            else
                            {
                                osoba.razina_prava = 2;
                            }
                        }
                        if (model.mojeVlastiteInstrukcije.MojeLokacijeJson != null)
                        {
                            List <lokacijeJsonObject> lokacijeObj = JsonConvert.DeserializeObject <List <lokacijeJsonObject> >(model.mojeVlastiteInstrukcije.MojeLokacijeJson);
                            if (lokacijeObj != null)
                            {
                                List <Lokacija> lokacije = new List <Lokacija>();
                                foreach (lokacijeJsonObject objekt in lokacijeObj)
                                {
                                    Lokacija lok = new Lokacija()
                                    {
                                        Geo_sirina    = objekt.lat,
                                        Geo_duzina    = objekt.lon,
                                        opis          = objekt.opis,
                                        ID_instruktor = osoba.ID_osoba,
                                        Osoba         = osoba
                                    };
                                    lokacije.Add(lok);
                                }

                                List <Lokacija> toBeDel = new List <Lokacija>();
                                foreach (Lokacija lok in osoba.Lokacija)
                                {
                                    if (lokacije.Where(l => l.Geo_duzina == lok.Geo_duzina && l.Geo_sirina == lok.Geo_sirina).Count() < 1)
                                    {
                                        toBeDel.Add(lok);
                                    }
                                }
                                foreach (Lokacija t in toBeDel)
                                {
                                    osoba.Lokacija.Remove(t);
                                }
                                data.SaveChanges();
                                foreach (Lokacija nova in lokacije)
                                {
                                    Lokacija istaIzBaze;
                                    if (osoba.Lokacija.Where(l => l.Geo_duzina == nova.Geo_duzina && l.Geo_sirina == nova.Geo_sirina).Count() >= 1)
                                    {
                                        istaIzBaze = osoba.Lokacija.Where(l => l.Geo_duzina == nova.Geo_duzina && l.Geo_sirina == nova.Geo_sirina).FirstOrDefault();
                                    }
                                    else
                                    {
                                        istaIzBaze = null;
                                    }
                                    if (istaIzBaze == null)
                                    {
                                        nova.Id = data.Lokacija.Max(l => l.Id) + 1;
                                        osoba.Lokacija.Add(nova);
                                        data.SaveChanges();
                                    }
                                    else if (istaIzBaze.opis.Equals(nova.opis) == false)
                                    {
                                        istaIzBaze.opis = nova.opis;
                                        data.SaveChanges();
                                    }
                                }
                            }
                        }
                    }
                    data.SaveChanges();
                }

                model.ostalePostavke          = new OstalePostavke();
                model.mojeVlastiteInstrukcije = new MojeInstrukcije();
                ViewBag.razinaPrava           = osoba.razina_prava;
                var queryPredmeti = from predmet in data.Predmet
                                    join osobaPredmet in data.osoba_predmet on predmet.ID_predmet equals osobaPredmet.ID_predmet
                                    where osobaPredmet.ID_osoba == osoba.ID_osoba
                                    select predmet;
                ViewBag.predmet = queryPredmeti.ToList <Predmet>();

                model.mojeVlastiteInstrukcije.mojiTermini = osoba.Termin.Select(t => t.ID_termin).ToList().ConvertAll <string>(x => x.ToString());
                model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_instruktor = new List <dogovor_term_osoba>();
                model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_klijent    = new List <dogovor_term_osoba>();
                model.mojeVlastiteInstrukcije.mojiPredmeti  = new List <OpisanPredmet>();
                model.mojeVlastiteInstrukcije.sveKategorije = new List <Kategorija>();
                model.mojeVlastiteInstrukcije.sveUstanove   = new List <Ustanova>();
                model.mojeVlastiteInstrukcije.sviPredmeti   = new List <Predmet>();



                foreach (dogovor_termin dogovor in osoba.dogovor_termin.ToList())
                {
                    if (dogovor.dogovor_status != 20 && dogovor.dogovor_status != 0 &&
                        dogovor.datum_dogovor.Value > DateTime.Now.AddDays(-10) &&
                        dogovor.dogovor_status != 3)
                    {
                        //dogovor.datum_dogovor.Value.AddHours((int)dogovor.Termin.FirstOrDefault().period_termin);
                        //Debug.WriteLine(dogovor.datum_dogovor.Value);
                        model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_instruktor.Add(new dogovor_term_osoba()
                        {
                            termin   = dogovor,
                            lokacija = dogovor.Lokacija,
                            ime      = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_klijent).FirstOrDefault().ime_osoba,
                            prezime  = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_klijent).FirstOrDefault().prezime_osoba,
                            predmet  = data.Predmet.Where(k => k.ID_predmet == dogovor.ID_predmet).FirstOrDefault().naziv_predmet,
                            odustani = false,
                            seen     = false
                        });
                    }
                }
                foreach (dogovor_termin dogovor in osoba.dogovor_termin1.ToList())
                {
                    if (dogovor.dogovor_status != 0 && dogovor.datum_dogovor.Value > DateTime.Now.AddDays(-10) && dogovor.dogovor_status != 2 && dogovor.dogovor_status != 20)
                    {
                        //dogovor.datum_dogovor.Value.AddHours((int)dogovor.Termin.OrderBy(o => o.period_termin).FirstOrDefault().period_termin);
                        //Debug.WriteLine(dogovor.datum_dogovor.Value);
                        model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_klijent.Add(new dogovor_term_osoba()
                        {
                            termin   = dogovor,
                            lokacija = dogovor.Lokacija,
                            ime      = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_instruktor).FirstOrDefault().ime_osoba,
                            prezime  = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_instruktor).FirstOrDefault().prezime_osoba,
                            predmet  = data.Predmet.Where(k => k.ID_predmet == dogovor.ID_predmet).FirstOrDefault().naziv_predmet,
                            odustani = false,
                            seen     = false
                        });
                    }
                }


                #region populate OpisanPredmet
                var detaljiPredmetOsoba = from p in data.Predmet
                                          join op in data.osoba_predmet on p.ID_predmet equals op.ID_predmet
                                          join u in data.Ustanova on p.ID_ustanova equals u.ID_ustanova
                                          join k in data.Kategorija on p.ID_kategorija equals k.ID_kategorija
                                          where osoba.ID_osoba == op.ID_osoba
                                          select new { p.ID_predmet, p.naziv_predmet, p.kratica_predmet, op.cijena, u.ID_ustanova, k.ID_kategorija };

                foreach (var row in detaljiPredmetOsoba)
                {
                    Ustanova   ust = data.Ustanova.Find(row.ID_ustanova);
                    Kategorija kat = data.Kategorija.Find(row.ID_kategorija);
                    model.mojeVlastiteInstrukcije.mojiPredmeti.Add(new OpisanPredmet()
                    {
                        IDpredmet      = row.ID_predmet,
                        nazivPredmet   = row.naziv_predmet,
                        kraticaPredmet = row.kratica_predmet,
                        cijenaPredmet  = row.cijena,
                        IDkategorija   = row.ID_kategorija,
                        IDustanova     = row.ID_ustanova,
                        ustanova       = ust,
                        kategorija     = kat
                    });
                }
                #endregion

                #region populate Ustanova Kategorija

                var ustanovaQuery = from u in data.Ustanova
                                    select u;
                var kategorijaQuery = from k in data.Kategorija
                                      select k;
                model.mojeVlastiteInstrukcije.sveUstanove.AddRange(ustanovaQuery.ToList());
                model.mojeVlastiteInstrukcije.sveKategorije.AddRange(kategorijaQuery.ToList());
                #endregion

                #region populate Predmeti
                var predmetiQuery = from p in data.Predmet
                                    select p;

                model.mojeVlastiteInstrukcije.sviPredmeti.AddRange(predmetiQuery.ToList());
                #endregion

                model.mojeVlastiteInstrukcije.popis_kategorija = new List <odabranaKategorija>();
                foreach (Kategorija kateg in data.Kategorija)
                {
                    odabranaKategorija odabrananadkat = new odabranaKategorija();
                    odabrananadkat.mojiPredmeti = new List <odabranPredmet>();
                    foreach (Predmet pred in data.Predmet.Where(k => k.ID_kategorija == kateg.ID_kategorija))
                    {
                        odabranPredmet item = new odabranPredmet();
                        item.predmet = pred;
                        if (osoba.osoba_predmet.Where(k => k.ID_predmet == pred.ID_kategorija).Count() == 1)
                        {
                            item.odabran = true;
                        }
                        else
                        {
                            item.odabran = false;
                        }
                        odabrananadkat.mojiPredmeti.Add(item);
                    }
                    odabrananadkat.kategorija_ime = kateg.naziv_kategorija;
                    model.mojeVlastiteInstrukcije.popis_kategorija.Add(odabrananadkat);
                }
                model.mojeVlastiteInstrukcije.MojeLokacijeJson = convertLokacije(data.Lokacija.Where(l => l.Osoba.ID_osoba == osoba.ID_osoba).ToList());
                if (osoba.razina_prava == 1)
                {
                    model.ostalePostavke.instruktor = true;
                }
                else
                {
                    model.ostalePostavke.instruktor = false;
                }
                return(View(model));
            }
        }
Esempio n. 20
0
        public ActionResult Index()
        {
            using (ppij_databaseEntities data = new ppij_databaseEntities()) {
                ViewBag.Title = User.Identity.Name;
                Osoba osoba = data.Osoba.Where(o => o.korisnicko_ime_osoba == User.Identity.Name).FirstOrDefault();
                ViewBag.razinaPrava = osoba.razina_prava;
                //Debug.WriteLine("razina prava" + osoba.razina_prava);
                PostavkeModel model = new PostavkeModel();
                model.changePassword          = new ChangePasswordBindingModel();
                model.ostalePostavke          = new OstalePostavke();
                model.mojeVlastiteInstrukcije = new MojeInstrukcije();

                var queryPredmeti = from predmet in data.Predmet
                                    join osobaPredmet in data.osoba_predmet on predmet.ID_predmet equals osobaPredmet.ID_predmet
                                    where osobaPredmet.ID_osoba == osoba.ID_osoba
                                    select predmet;
                ViewBag.predmeti = queryPredmeti.ToList <Predmet>();

                model.mojeVlastiteInstrukcije.mojiTermini = osoba.Termin.Select(t => t.ID_termin).ToList().ConvertAll <string>(x => x.ToString());
                model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_instruktor = new List <dogovor_term_osoba>();
                model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_klijent    = new List <dogovor_term_osoba>();
                model.mojeVlastiteInstrukcije.mojiPredmeti  = new List <OpisanPredmet>();
                model.mojeVlastiteInstrukcije.sveKategorije = new List <Kategorija>();
                model.mojeVlastiteInstrukcije.sveUstanove   = new List <Ustanova>();
                model.mojeVlastiteInstrukcije.sviPredmeti   = new List <Predmet>();


                foreach (dogovor_termin dogovor in osoba.dogovor_termin.ToList())
                {
                    if (dogovor.dogovor_status != 20 && dogovor.dogovor_status != 0 &&
                        dogovor.datum_dogovor.Value > DateTime.Now.AddDays(-10) &&
                        dogovor.dogovor_status != 3)
                    {
                        //dogovor.datum_dogovor = dogovor.datum_dogovor.Value.AddHours((int)dogovor.Termin.FirstOrDefault().period_termin);
                        //Debug.WriteLine(dogovor.datum_dogovor.Value + " " + (int)dogovor.Termin.FirstOrDefault().period_termin);
                        model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_instruktor.Add(new dogovor_term_osoba()
                        {
                            termin   = dogovor,
                            lokacija = dogovor.Lokacija,
                            ime      = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_klijent).FirstOrDefault().ime_osoba,
                            prezime  = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_klijent).FirstOrDefault().prezime_osoba,
                            predmet  = data.Predmet.Where(k => k.ID_predmet == dogovor.ID_predmet).FirstOrDefault().naziv_predmet,
                            odustani = false,
                            seen     = false
                        });
                    }
                }
                foreach (dogovor_termin dogovor in osoba.dogovor_termin1.ToList())
                {
                    if (dogovor.dogovor_status != 0 && dogovor.datum_dogovor.Value > DateTime.Now.AddDays(-10) && dogovor.dogovor_status != 2 && dogovor.dogovor_status != 20)
                    {
                        //dogovor.datum_dogovor = dogovor.datum_dogovor.Value.AddHours((int)dogovor.Termin.FirstOrDefault().period_termin);
                        //Debug.WriteLine(dogovor.datum_dogovor.Value + " " + (int)dogovor.Termin.FirstOrDefault().period_termin);
                        model.mojeVlastiteInstrukcije.dogovoreni_termini_kao_klijent.Add(new dogovor_term_osoba()
                        {
                            termin   = dogovor,
                            lokacija = dogovor.Lokacija,
                            ime      = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_instruktor).FirstOrDefault().ime_osoba,
                            prezime  = data.Osoba.Where(o => o.ID_osoba == dogovor.ID_instruktor).FirstOrDefault().prezime_osoba,
                            predmet  = data.Predmet.Where(k => k.ID_predmet == dogovor.ID_predmet).FirstOrDefault().naziv_predmet,
                            odustani = false,
                            seen     = false
                        });
                    }
                }


                #region populate OpisanPredmet
                var detaljiPredmetOsoba = from p in data.Predmet
                                          join op in data.osoba_predmet on p.ID_predmet equals op.ID_predmet
                                          join u in data.Ustanova on p.ID_ustanova equals u.ID_ustanova
                                          join k in data.Kategorija on p.ID_kategorija equals k.ID_kategorija
                                          where osoba.ID_osoba == op.ID_osoba
                                          select new { p.ID_predmet, p.naziv_predmet, p.kratica_predmet, op.cijena, u.ID_ustanova, k.ID_kategorija };

                foreach (var row in detaljiPredmetOsoba)
                {
                    Ustanova   ust = data.Ustanova.Find(row.ID_ustanova);
                    Kategorija kat = data.Kategorija.Find(row.ID_kategorija);
                    model.mojeVlastiteInstrukcije.mojiPredmeti.Add(new OpisanPredmet()
                    {
                        IDpredmet      = row.ID_predmet,
                        nazivPredmet   = row.naziv_predmet,
                        kraticaPredmet = row.kratica_predmet,
                        cijenaPredmet  = row.cijena,
                        IDkategorija   = row.ID_kategorija,
                        IDustanova     = row.ID_ustanova,
                        ustanova       = ust,
                        kategorija     = kat
                    });
                }
                #endregion

                #region populate Ustanova Kategorija

                var ustanovaQuery = from u in data.Ustanova
                                    select u;
                var kategorijaQuery = from k in data.Kategorija
                                      select k;
                model.mojeVlastiteInstrukcije.sveUstanove.AddRange(ustanovaQuery.ToList());
                model.mojeVlastiteInstrukcije.sveKategorije.AddRange(kategorijaQuery.ToList());
                #endregion

                #region populate Predmeti
                var predmetiQuery = from p in data.Predmet
                                    select p;

                model.mojeVlastiteInstrukcije.sviPredmeti.AddRange(predmetiQuery.ToList());
                #endregion



                model.mojeVlastiteInstrukcije.popis_kategorija = new List <odabranaKategorija>();
                foreach (Kategorija kateg in data.Kategorija)
                {
                    odabranaKategorija odabrananadkat = new odabranaKategorija();
                    odabrananadkat.mojiPredmeti = new List <odabranPredmet>();
                    foreach (Predmet pred in data.Predmet.Where(k => k.ID_kategorija == kateg.ID_kategorija))
                    {
                        odabranPredmet item = new odabranPredmet();
                        item.predmet = pred;
                        if (osoba.osoba_predmet.Where(k => k.ID_predmet == pred.ID_kategorija).Count() == 1)
                        {
                            item.odabran = true;
                        }
                        else
                        {
                            item.odabran = false;
                        }
                        odabrananadkat.mojiPredmeti.Add(item);
                    }
                    odabrananadkat.kategorija_ime = kateg.naziv_kategorija;
                    model.mojeVlastiteInstrukcije.popis_kategorija.Add(odabrananadkat);
                }
                model.mojeVlastiteInstrukcije.MojeLokacijeJson = convertLokacije(data.Lokacija.Where(l => l.Osoba.ID_osoba == osoba.ID_osoba).ToList());
                model.trenutniTab = "11";
                if (osoba.razina_prava == 1)
                {
                    model.ostalePostavke.instruktor = true;
                }
                else
                {
                    model.ostalePostavke.instruktor = false;
                }
                return(View(model));
            }
        }