예제 #1
0
        public ActionResult KreirajDomacina(string ime, string prezime, string korIme, string lozinka, string pol)
        {
            Korisnik kor = (Korisnik)Session["korisnik"];

            if (kor == null)
            {
                kor = new Korisnik();
                Session["korisnik"] = kor;
            }

            if (ime == "" || prezime == "" || korIme == "" || lozinka == "")
            {
                ViewBag.ErrorMessage = "Morate popuniti sva polja da biste kreirali domacina.";
                return(View("Greska"));
            }

            foreach (Korisnik k in Database.registrovaniKorisnici.Values)
            {
                if (k.KorisnickoIme == kor.KorisnickoIme && k.Uloga == Uloga.ADMINISTRATOR)
                {
                    Pol p;

                    if (pol == "MUSKI")
                    {
                        p = Pol.MUSKI;
                    }
                    else
                    {
                        p = Pol.ZENSKI;
                    }

                    Domacin domacin = new Domacin(ime, prezime, korIme, lozinka, p);

                    foreach (Korisnik d in Database.registrovaniKorisnici.Values)
                    {
                        if (d.KorisnickoIme == domacin.KorisnickoIme)
                        {
                            ViewBag.Message = "Korisnik sa unetim korisnickim imenom vec postoji,unesite novo korisnicko ime!";
                            return(View("KreirajDomacinaRezultat"));
                        }
                    }

                    Database.registrovaniKorisnici.Add(domacin.KorisnickoIme, domacin);
                    Database.domacini.Add(domacin.KorisnickoIme, domacin);

                    Database.UpisiRegistrovaneKorisnike();
                    Database.UpisiDomacine();

                    ViewBag.Message = "Domacin je uspesno kreiran.";

                    return(View("KreirajDomacinaRezultat"));
                }
            }

            ViewBag.Message = "Domacin nije kreiran desila se neka greska!";

            return(View("KreirajDomacinaRezultat"));
        }
예제 #2
0
 public string DodajDomacina(Domacin domacin)
 {
     if (KorisnikGetter.GetKorisnikByIme(domacin.KorisnickoIme) != null)
     {
         return("korisnik sa unetim korisnickim imenom vec postoji");
     }
     else
     {
         KorisnikFileWriter.DodajKorisnika(domacin);
         return("korisnik uspesno dodat");
     }
 }
예제 #3
0
        public ActionResult Login(string username, string pass)
        {
            Korisnik korisnik = (Korisnik)Session["korisnik"];

            if (korisnik == null)
            {
                korisnik            = new Korisnik();
                Session["korisnik"] = korisnik;
            }

            if (Database.registrovaniKorisnici.ContainsKey(username))
            {
                if (Database.registrovaniKorisnici[username].Lozinka == pass)
                {
                    if (Database.registrovaniKorisnici[username].Uloga == Uloga.ADMINISTRATOR)
                    {
                        Session["korisnik"] = Database.registrovaniKorisnici[username];
                        return(View("Admin", Database.registrovaniKorisnici[username]));
                    }

                    else if (Database.registrovaniKorisnici[username].Uloga == Uloga.DOMACIN)
                    {
                        Domacin domacin = Database.domacini[username];
                        Session["korisnik"] = Database.registrovaniKorisnici[username];
                        return(View("Domacin", domacin));
                    }

                    else
                    {
                        Korisnik gost = new Gost();
                        gost = Database.registrovaniKorisnici[username];
                        Session["korisnik"] = Database.registrovaniKorisnici[username];

                        return(View("Gost", gost));
                    }
                }

                else
                {
                    ViewBag.ErrorMessage = "Pogresna lozinka!";
                    return(View("LoginError"));
                }
            }
            else
            {
                ViewBag.ErrorMessage = "Niste u mogucnosti da se prijavite,jer niste registrovani!";
                return(View("LoginError"));
            }
        }
예제 #4
0
        public string Izmeni(Domacin domacin)
        {
            Korisnik k        = KorisnikGetter.GetKorisnikByIme(username);
            int      brLinije = KorisnikGetter.GetBrojLinije(username);

            if (username == domacin.KorisnickoIme || KorisnikGetter.GetKorisnikByIme(domacin.KorisnickoIme) == null)
            {
                k.Ime           = domacin.Ime;
                k.Prezime       = domacin.Prezime;
                k.KorisnickoIme = domacin.KorisnickoIme;
                k.Lozinka       = domacin.Lozinka;
                k.Pol           = domacin.Pol;
                KorisnikFileWriter.Zapisi(brLinije, k);
                //RezervacijaFileWritter.IzmeniKorisnika(username, domacin.KorisnickoIme);
                ApartmanFileWritter.IzmeniKorisnickoIme(username, k.KorisnickoIme);
                username = domacin.KorisnickoIme;
                return("Korisnik promenjen.");
            }
            else
            {
                return("Korisnik sa tim imenom vec postoji.");
            }
        }
예제 #5
0
        public ActionResult KreirajApartman(string tipApartmana, string brSoba, string brGostiju, string ulica, string broj, string grad, string postBroj, string datumiIzdavanje, string cena, string statusApartmana, string vremePrijava, string vremeOdjava, List <string> sadrzajiApartmana)
        {
            Korisnik kor = (Korisnik)Session["korisnik"];

            if (kor == null)
            {
                kor = new Korisnik();
                Session["korisnik"] = kor;
            }


            if (brSoba == "" || brGostiju == "" || ulica == "" || broj == "" || grad == "" || postBroj == "" || cena == "" || vremePrijava == "" || vremeOdjava == "" || datumiIzdavanje == "" || sadrzajiApartmana.Count == 0)
            {
                ViewBag.ErrorMessage = "Morate popuniti sva polja da bi ste kreirali apartman!";
                return(View("Greska"));
            }

            foreach (Korisnik k in Database.registrovaniKorisnici.Values)
            {
                if (kor.KorisnickoIme == k.KorisnickoIme && k.Uloga == Uloga.DOMACIN)
                {
                    TipApartmana tip;

                    if (tipApartmana == "CEO_APARTMAN")
                    {
                        tip = TipApartmana.CEO_APARTMAN;
                    }
                    else
                    {
                        tip = TipApartmana.SOBA;
                    }

                    StatusApartmana status;

                    if (statusApartmana == "NEAKTIVAN")
                    {
                        status = StatusApartmana.NEAKTIVAN;
                    }
                    else
                    {
                        status = StatusApartmana.AKTIVAN;
                    }

                    Adresa   adresa   = new Adresa(broj, ulica, postBroj, grad);
                    Lokacija lokacija = new Lokacija(45.18, 19.87, adresa);

                    Domacin domacin = new Domacin(kor.Ime, kor.Prezime, kor.KorisnickoIme, kor.Lozinka, kor.Pol);


                    Random id = new Random();

                    Apartman apartman = new Apartman(id.Next(0, 700), tip, int.Parse(brSoba), int.Parse(brGostiju), lokacija, domacin, double.Parse(cena), status, vremePrijava, vremeOdjava);

                    string[] datumi = datumiIzdavanje.Split(' ', ',');
                    string[] split;
                    foreach (string dat in datumi)
                    {
                        split = dat.Split('-', '.', '/');
                        DateTime datum = new DateTime(Int32.Parse(split[2]), Int32.Parse(split[1]), Int32.Parse(split[0]));
                        apartman.DatumiZaIzdavanje.Add(datum);
                        apartman.DostupnostPoDatumima.Add(datum);
                    }

                    if (Request.Files.Count > 0)
                    {
                        for (int i = 0; i < Request.Files.Count; i++)
                        {
                            var file = Request.Files[i];

                            if (file != null && file.ContentLength > 0)
                            {
                                var fileName = Path.GetFileName(file.FileName);
                                var path     = Path.Combine(Server.MapPath("~/Images/"), fileName);

                                file.SaveAs(path);
                                Image uf = new Image(fileName, path);
                                apartman.Slike.Add(uf);
                            }
                        }
                    }

                    SadrzajApartmana sadrzaj; //ovdeeeeeeeeeeeeeeeeeeee
                    foreach (string s in sadrzajiApartmana)
                    {
                        foreach (SadrzajApartmana sadrz in Database.sadrzajiApartmana.Values)
                        {
                            if (sadrz.Naziv == s)
                            {
                                sadrzaj = new SadrzajApartmana(sadrz.Id, sadrz.Naziv);
                                apartman.SadrzajiApartmana.Add(sadrzaj);
                            }
                        }
                    }

                    Database.sviApartmani.Add(apartman.Id, apartman);

                    Database.domacini[domacin.KorisnickoIme].ApartmaniZaIzdavanje.Add(apartman);

                    Database.UpisiSveApartmane();

                    ViewBag.Message = "Apartman je uspesno kreiran.";

                    return(View("KreiranjeApartmanaRez"));
                }
            }

            ViewBag.Message = "Apartman nije kreiran, desila neka greska.Molimo Vas, pokustajte ponovo!";

            return(View("KreiranjeApartmanaRez"));
        }
예제 #6
0
        public void UcitajBazu()
        {
            string temp = "";

            string[] read;

            string path = "~/App_Data/RegistrovaniKorisnici.txt";

            path = HostingEnvironment.MapPath(path);

            if (File.Exists(path))
            {
                StreamReader srUser = new StreamReader(path);
                //  while ((temp = srUser.ReadLine()) != "")
                while ((temp = srUser.ReadLine().Trim(' ')) != "" && !srUser.EndOfStream)
                {
                    read = temp.Split('_');
                    Pol pol;

                    if (read[4] == "MUSKI")
                    {
                        pol = Pol.MUSKI;
                    }
                    else
                    {
                        pol = Pol.ZENSKI;
                    }

                    Uloga uloga;

                    if (read[5] == "GOST")
                    {
                        uloga = Uloga.GOST;
                    }
                    else if (read[5] == "DOMACIN")
                    {
                        uloga = Uloga.DOMACIN;
                    }
                    else
                    {
                        uloga = Uloga.ADMINISTRATOR;
                    }

                    Korisnik k = new Korisnik(read[0], read[1], read[2], read[3], pol);
                    k.Uloga = uloga;

                    if (!Database.registrovaniKorisnici.ContainsKey(read[2]))
                    {
                        Database.registrovaniKorisnici.Add(k.KorisnickoIme, k);
                    }
                }

                srUser.Close();
            }


            string path1 = "~/App_Data/Domacini.txt";

            path1 = HostingEnvironment.MapPath(path1);


            if (File.Exists(path1))
            {
                StreamReader sr = new StreamReader(path1);

                //while((temp=sr.ReadLine())!="")
                while ((temp = sr.ReadLine().Trim(' ')) != "" && !sr.EndOfStream)
                {
                    read = temp.Split('_');

                    Pol p;
                    if (read[4] == "MUSKI")
                    {
                        p = Pol.MUSKI;
                    }

                    else
                    {
                        p = Pol.ZENSKI;
                    }

                    Domacin d = new Domacin(read[0], read[1], read[2], read[3], p);

                    if (!Database.domacini.ContainsKey(read[0]))
                    {
                        Database.domacini.Add(read[2], d);
                    }
                }

                sr.Close();
            }


            string path2 = "~/App_Data/KomentariZaApartmane.txt";

            path2 = HostingEnvironment.MapPath(path2);
            Random id = new Random();
            // Random idAp = new Random();
            int idKom;

            if (File.Exists(path2))
            {
                StreamReader sr = new StreamReader(path2);

                while ((temp = sr.ReadLine()) != null)
                {
                    read = temp.Split('|');


                    idKom = id.Next();

                    Gost gost = new Gost();
                    gost.KorisnickoIme = read[0];

                    Adresa   adresa   = new Adresa(read[1].Split('_', ',')[1], read[1].Split('_', ',')[0], "21000", read[1].Split('_', ',')[2]);
                    Lokacija lokacija = new Lokacija(45.19, 19.87, adresa);
                    Apartman apartman = new Apartman();

                    apartman.Lokacija  = lokacija;
                    apartman.Status    = StatusApartmana.AKTIVAN;
                    apartman.IsDeleted = false;
                    //apartman.Id = idAp.Next(0, 700);

                    OcenaApartmana ocena;

                    if (read[3].ToUpper() == "PET")
                    {
                        ocena = OcenaApartmana.PET;
                    }
                    else if (read[3].ToUpper() == "CETIRI")
                    {
                        ocena = OcenaApartmana.ETIRI;
                    }
                    else if (read[3].ToUpper() == "TRI")
                    {
                        ocena = OcenaApartmana.TRI;
                    }
                    else if (read[3].ToUpper() == "DVA")
                    {
                        ocena = OcenaApartmana.DVA;
                    }
                    else if (read[3].ToUpper() == "JEDAN")
                    {
                        ocena = OcenaApartmana.JEDAN;
                    }
                    else
                    {
                        ocena = OcenaApartmana.NULA;
                    }

                    KomentarZaApartman komentar = new KomentarZaApartman(idKom, gost, apartman, read[2], ocena);

                    if (!Database.komentariZaApartmane.ContainsKey(idKom))
                    {
                        Database.komentariZaApartmane.Add(idKom, komentar);
                    }
                }

                sr.Close();
            }
        }
예제 #7
0
        protected void Session_Start()
        {
            string temp;
            string putanja = stringZaKonekciju();


            Dictionary <string, Administrator> administratori = new Dictionary <string, Administrator>();

            if (!File.Exists(putanja + "Administratori.txt"))
            {
                File.Create(putanja + "Administratori.txt");
            }

            StreamReader fileAdministratori = new StreamReader(putanja + "Administratori.txt");

            while ((temp = fileAdministratori.ReadLine()) != null)
            {
                string[]      niz           = temp.Split(' ');
                Administrator administrator = new Administrator();
                administrator.korisnickoIme = niz[0];
                administrator.ime           = niz[1];
                administrator.prezime       = niz[2];
                administrator.lozinka       = niz[3];
                if (niz[4].Equals("MUSKI"))
                {
                    administrator.pol = Pol.MUSKI;
                }
                else
                {
                    administrator.pol = Pol.ZENSKI;
                }
                administrator.uloga = Uloga.ADMINISTRATOR;
                administratori.Add(administrator.korisnickoIme, administrator);
            }

            HttpContext.Current.Session["Administratori"] = administratori;
            fileAdministratori.Close();



            Dictionary <string, Domacin> domacini = new Dictionary <string, Domacin>();

            if (!File.Exists(putanja + "Domacini.txt"))
            {
                File.Create(putanja + "Domacini.txt");
            }

            StreamReader fileDomacini = new StreamReader(putanja + "Domacini.txt");

            while ((temp = fileDomacini.ReadLine()) != null)
            {
                string[] niz     = temp.Split(' ');
                Domacin  domacin = new Domacin();
                domacin.korisnickoIme = niz[0];
                domacin.ime           = niz[1];
                domacin.prezime       = niz[2];
                domacin.lozinka       = niz[3];
                if (niz[4].Equals("MUSKI"))
                {
                    domacin.pol = Pol.MUSKI;
                }
                else
                {
                    domacin.pol = Pol.ZENSKI;
                }
                domacin.uloga = Uloga.DOMACIN;
                domacini.Add(domacin.korisnickoIme, domacin);
            }

            HttpContext.Current.Session["Domacini"] = domacini;
            fileDomacini.Close();



            Dictionary <string, Gost> gosti = new Dictionary <string, Gost>();

            if (!File.Exists(putanja + "Gosti.txt"))
            {
                File.Create(putanja + "Gosti.txt");
            }

            StreamReader fileGosti = new StreamReader(putanja + "Gosti.txt");

            while ((temp = fileGosti.ReadLine()) != null)
            {
                string[] niz  = temp.Split(' ');
                Gost     gost = new Gost();
                gost.korisnickoIme = niz[0];
                gost.ime           = niz[1];
                gost.prezime       = niz[2];
                gost.lozinka       = niz[3];
                if (niz[4].Equals("MUSKI"))
                {
                    gost.pol = Pol.MUSKI;
                }
                else
                {
                    gost.pol = Pol.ZENSKI;
                }
                gost.uloga = Uloga.GOST;
                gosti.Add(gost.korisnickoIme, gost);
            }

            HttpContext.Current.Session["Gosti"] = gosti;
            fileGosti.Close();



            List <SadrzajApartmana> sadrzajApartmana = new List <SadrzajApartmana>();

            if (!File.Exists(putanja + "SadrzajApartmana.txt"))
            {
                File.Create(putanja + "SadrzajApartmana.txt");
            }

            StreamReader fileSadrzajApartmana = new StreamReader(putanja + "SadrzajApartmana.txt");

            while ((temp = fileSadrzajApartmana.ReadLine()) != null)
            {
                string[]         nizSadrzajApartmana = temp.Split(':');
                SadrzajApartmana sadApa = new SadrzajApartmana();
                sadApa.id    = nizSadrzajApartmana[0];
                sadApa.naziv = nizSadrzajApartmana[1];
                sadrzajApartmana.Add(sadApa);
            }

            HttpContext.Current.Session["SadrzajApartmana"] = sadrzajApartmana;
            fileSadrzajApartmana.Close();



            Dictionary <string, Apartman> apartmani = new Dictionary <string, Apartman>();

            if (!File.Exists(putanja + "Apartmani.txt"))
            {
                File.Create(putanja + "Apartmani.txt");
            }

            StreamReader fileApartmani = new StreamReader(putanja + "Apartmani.txt");

            while ((temp = fileApartmani.ReadLine()) != null)
            {
                string[] niz      = temp.Split('|');
                string[] niz1     = niz[0].Split('&');
                Apartman apartman = new Apartman();

                if (niz1[0].Equals("CEO_APARTMAN"))
                {
                    apartman.tip = TipApartmana.CEO_APARTMAN;
                }
                else
                {
                    apartman.tip = TipApartmana.SOBA;
                }
                apartman.brojSoba    = Int32.Parse(niz1[1]);
                apartman.brojGostiju = Int32.Parse(niz1[2]);
                foreach (var d in (Dictionary <string, Domacin>)Session["Domacini"])
                {
                    if (niz1[3] == d.Value.korisnickoIme)
                    {
                        apartman.domacin = d.Value;
                        break;
                    }
                }
                apartman.cenaNocenja    = Double.Parse(niz1[4]);
                apartman.vremeZaPrijavu = niz1[5];
                apartman.vremeZaOdjavu  = niz1[6];
                if (niz1[7].Equals("AKTIVNO"))
                {
                    apartman.status = Status.AKTIVNO;
                }
                else
                {
                    apartman.status = Status.NEAKTIVNO;
                }

                string[] niz2 = niz[1].Split('&');
                Lokacija l    = new Lokacija();
                Adresa   a    = new Adresa();

                l.geografskaDuzina = Double.Parse(niz2[0]);
                l.geografskaSirina = Double.Parse(niz2[1]);
                a.nazivUlice       = niz2[2];
                a.broj             = niz2[3];
                a.nazivMesta       = niz2[4];
                a.postanskiBroj    = niz2[5];
                l.adresa           = a;

                apartman.lokacija = l;

                apartman.datumiZaIzdavanje = new List <DateTime>();
                string[] nizDatumiZaIzdavanje = niz[2].Split('&');
                foreach (var temp1 in nizDatumiZaIzdavanje)
                {
                    apartman.datumiZaIzdavanje.Add(DateTime.Parse(temp1));
                }

                apartman.dostupnost = new List <DateTime>();
                string[] nizDatumiDostupnost = niz[3].Split('&');
                foreach (var temp2 in nizDatumiDostupnost)
                {
                    apartman.dostupnost.Add(DateTime.Parse(temp2));
                }

                apartman.komentar = new List <Komentar>();
                string[] nizKomentara = niz[4].Split('&');
                if (!nizKomentara.Contains("EMPTY-EMPTY"))
                {
                    foreach (var temp3 in nizKomentara)
                    {
                        string[] kom      = temp3.Split('-');
                        Komentar komentar = new Komentar();
                        komentar.ocena = Int32.Parse(kom[0]);
                        komentar.tekst = kom[1];

                        apartman.komentar.Add(komentar);
                    }
                }

                apartman.sadrzajApartmana = new List <SadrzajApartmana>();
                string[] nizSadrzaja = niz[6].Split('&');
                if (!nizSadrzaja.Contains("EMPTY-EMPTY"))
                {
                    foreach (var temp4 in nizSadrzaja)
                    {
                        string[]         sad     = temp4.Split('-');
                        SadrzajApartmana sadrzaj = new SadrzajApartmana();
                        sadrzaj.id    = sad[0];
                        sadrzaj.naziv = sad[1];

                        apartman.sadrzajApartmana.Add(sadrzaj);
                    }
                }

                string[] nizSlike = niz[5].Split('&');
                apartman.slike = new List <string>();
                foreach (var temp5 in nizSlike)
                {
                    apartman.slike.Add(temp5);
                }

                apartmani.Add(@apartman.lokacija.adresa.nazivMesta + " " + apartman.lokacija.adresa.nazivUlice + " " + apartman.lokacija.adresa.broj, apartman);
            }

            HttpContext.Current.Session["Apartmani"] = apartmani;
            fileApartmani.Close();
        }