コード例 #1
0
        public List <Apartman> GetFiltriraneApartmane(string Filter, string KorisnickoIme)
        {
            List <Apartman> pom = ApartmanGetter.GetApartmanByKorisnickoIme(KorisnickoIme);
            List <Apartman> ret = new List <Apartman>();

            if (Filter == "CEO")
            {
                ret = pom.FindAll(x => x.Tip == TipApartmana.CEO);
            }
            else if (Filter == "SOBA")
            {
                ret = pom.FindAll(x => x.Tip == TipApartmana.SOBA);
            }
            else if (Filter == "AKTIVAN")
            {
                ret = pom.FindAll(x => x.Status == StatusApartmana.AKTIVAN);
            }
            else if (Filter == "NEAKTIVAN")
            {
                ret = pom.FindAll(x => x.Status == StatusApartmana.NEAKTIVAN);
            }
            else
            {
                foreach (var item in pom)
                {
                    if (item.SadrzajApartmana.SingleOrDefault(x => x.Id == Filter) != null)
                    {
                        ret.Add(item);
                    }
                }
            }

            return(ret);
        }
コード例 #2
0
        public List <Rezervacija> DobaviSortiraneRezervacije(string PoredakR, string KorisnickoIme)
        {
            List <Apartman>    apartmaniDomacina = ApartmanGetter.GetApartmanByKorisnickoIme(KorisnickoIme);
            List <Rezervacija> pom = new List <Rezervacija>();
            List <Rezervacija> ret = new List <Rezervacija>();

            for (int i = 0; i < apartmaniDomacina.Count; i++)
            {
                if (apartmaniDomacina[i] == null)
                {
                    apartmaniDomacina.Remove(apartmaniDomacina[i]);
                }
            }
            foreach (var item in apartmaniDomacina)
            {
                pom.AddRange(RezervacijaGetter.GetRezervacijeDomacina(item.Naziv));
            }

            if (PoredakR == "Opadajuci")
            {
                ret = pom.OrderByDescending(x => x.UkupnaCena).ToList();
            }
            else
            {
                ret = pom.OrderBy(x => x.UkupnaCena).ToList();
            }
            return(ret);
        }
コード例 #3
0
        public List <Apartman> GetFiltriraneApartmane(string Filter)
        {
            List <Apartman> pom = ApartmanGetter.GetAktivneApartmane();
            List <Apartman> ret = new List <Apartman>();

            if (Filter == "CEO")
            {
                ret = pom.FindAll(x => x.Tip == TipApartmana.CEO);
            }
            else if (Filter == "SOBA")
            {
                ret = pom.FindAll(x => x.Tip == TipApartmana.SOBA);
            }
            else
            {
                foreach (var item in pom)
                {
                    if (item.SadrzajApartmana.SingleOrDefault(x => x.Id == Filter) != null)
                    {
                        ret.Add(item);
                    }
                }
            }

            return(ret);
        }
コード例 #4
0
        public Apartman DobaviApartman(Apartman apartmanNaziv)
        {
            Apartman ret = ApartmanGetter.GetApartmanByNaziv(apartmanNaziv.Naziv);

            apartmanZaIzmenu = apartmanNaziv.Naziv;
            return(ret);
        }
コード例 #5
0
        public List <Rezervacija> DobaviFiltriraneRezervacije(string Filter, string KorisnickoIme)
        {
            List <Apartman>    apartmaniDomacina = ApartmanGetter.GetApartmanByKorisnickoIme(KorisnickoIme);
            List <Rezervacija> pom = new List <Rezervacija>();
            List <Rezervacija> ret = new List <Rezervacija>();

            foreach (var item in apartmaniDomacina)
            {
                pom.AddRange(RezervacijaGetter.GetRezervacijeDomacina(item.Naziv));
            }

            if (Filter == "KREIRANA")
            {
                ret = pom.FindAll(x => x.Status == StatusRezervacije.KREIRANA);
            }
            else if (Filter == "ODBIJENA")
            {
                ret = pom.FindAll(x => x.Status == StatusRezervacije.ODBIJENA);
            }
            else if (Filter == "ODUSTANAK")
            {
                ret = pom.FindAll(x => x.Status == StatusRezervacije.ODUSTANAK);
            }
            else if (Filter == "PRIHVACENA")
            {
                ret = pom.FindAll(x => x.Status == StatusRezervacije.PRIHVACENA);
            }
            else if (Filter == "ZAVRSENA")
            {
                ret = pom.FindAll(x => x.Status == StatusRezervacije.ZAVRSENA);
            }

            return(ret);
        }
コード例 #6
0
        public static List <Rezervacija> GetRezervacijeAdmin()
        {
            List <Rezervacija> rezervacijeKorisnika = new List <Rezervacija>();
            List <Apartman>    apartmani            = ApartmanGetter.GetApartmane();

            for (int i = 0; i < apartmani.Count; i++)
            {
                if (apartmani[i] == null)
                {
                    apartmani.Remove(apartmani[i]);
                }
            }

            string[] lines = File.ReadAllLines(path);
            foreach (var line in lines)
            {
                if (string.IsNullOrEmpty(line) || string.IsNullOrWhiteSpace(line))
                {
                    continue;
                }
                else
                {
                    Rezervacija rez = new Rezervacija(int.Parse(line.Split('|')[0]), line.Split('|')[1], DateTime.ParseExact(line.Split('|')[3], "yyyy-MM-dd", CultureInfo.InvariantCulture), int.Parse(line.Split('|')[4]), line.Split('|')[2], line.Split('|')[6], double.Parse(line.Split('|')[5]));
                    rezervacijeKorisnika.Add(rez);
                }
            }

            return(rezervacijeKorisnika);
        }
コード例 #7
0
        public string ObrisiApartman(Apartman zaBrisanje)
        {
            Apartman apartman = ApartmanGetter.GetApartmanByNaziv(zaBrisanje.Naziv);
            int      brLinije = ApartmanGetter.GetBrojLinije(zaBrisanje.Naziv);

            ApartmanFileWritter.ObrisiApartman(brLinije);
            return("Apartman obrisan uspesno.");
        }
コード例 #8
0
        public Apartman DobaviApartman(Apartman apartmanNaziv)
        {
            Apartman ret = ApartmanGetter.GetApartmanByNaziv(apartmanNaziv.Naziv);
            //apartmanZaIzmenu = apartmanNaziv.Naziv;
            List <Komentar> komentari = KomentariGetter.GetKomentareZaCitanje(apartmanNaziv.Naziv);

            ret.Komentari = komentari;
            return(ret);
        }
コード例 #9
0
        public string NapraviRezervaciju(RezervacijaModel rezervacija)
        {
            DateTime    rezDate = DateTime.ParseExact(rezervacija.PocetniDatum, "yyyy-MM-dd", CultureInfo.InvariantCulture);
            Rezervacija rez     = new Rezervacija(rezervacija);
            int         broj    = Rezervacija.GetBrojObjekta();

            rez.Id = broj + 1;
            Apartman apartman = ApartmanGetter.GetApartmanByNazivIStatus(rezervacija.RezervisaniApartman, "AKTIVAN");

            DateTime pomocni = rezDate.Date;



            for (int i = 0; i < rezervacija.BrojNocenja; i++)
            {
                if (!apartman.DatumiZaIzdavanje.Contains(rezDate.Date.AddDays(i)))
                {
                    return("Apartman nije u ponudi za odabrani period.");
                }
            }

            //prepis cene

            rez.UkupnaCena = 0;
            string putanjaDatumi = HostingEnvironment.MapPath("~/Files/Praznici.txt");
            string datumi        = File.ReadAllText(putanjaDatumi);

            string[]        prazniciPom = datumi.Split(',');
            List <DateTime> praznici    = new List <DateTime>();

            foreach (var datum in prazniciPom)
            {
                praznici.Add(DateTime.ParseExact(datum, "yyyy-MM-dd", CultureInfo.InvariantCulture));
            }

            for (int i = 0; i < rezervacija.BrojNocenja; i++)
            {
                pomocni = rezDate.AddDays(i);
                if (pomocni.DayOfWeek == DayOfWeek.Saturday || pomocni.DayOfWeek == DayOfWeek.Sunday || pomocni.DayOfWeek == DayOfWeek.Friday)
                {
                    rez.UkupnaCena += 0.9 * apartman.CenaPoNocenju;
                    continue;
                }
                else if (praznici.Contains(pomocni))
                {
                    rez.UkupnaCena += 1.05 * apartman.CenaPoNocenju;
                }
                else
                {
                    rez.UkupnaCena += apartman.CenaPoNocenju;
                }
            }

            RezervacijaFileWritter.UpisiRezervaciju(rez);
            return("zapisano");
        }
コード例 #10
0
        public List <Apartman> PrikaziAktivneApartmane()
        {
            List <Apartman> apartmani    = ApartmanGetter.GetAktivneApartmane();
            string          putanjaBloka = HostingEnvironment.MapPath("~/Files/Blokirani.txt");
            List <string>   blokirani    = File.ReadAllLines(putanjaBloka).ToList();

            foreach (var item in blokirani)
            {
                apartmani.RemoveAll(x => x.Domacin == item);
            }

            return(apartmani);
        }
コード例 #11
0
        public List <Apartman> PretraziApartmane(ApartmanPretragaModel zaPretragu)
        {
            List <Apartman> ret = ApartmanGetter.GetApartmane();

            if (!string.IsNullOrWhiteSpace(zaPretragu.Grad) && !string.IsNullOrEmpty(zaPretragu.Grad))
            {
                ret = ret.FindAll(x => x.Lokacija.Adresa.NaseljenoMesto == zaPretragu.Grad);
            }

            if (zaPretragu.BrSobaOD != 0)
            {
                ret = ret.FindAll(x => x.BrSoba >= zaPretragu.BrSobaOD);
            }

            if (zaPretragu.BrSobaDO != 0)
            {
                ret = ret.FindAll(x => x.BrSoba <= zaPretragu.BrSobaDO);
            }

            if (zaPretragu.BrOsobaOD != 0)
            {
                ret = ret.FindAll(x => x.BrGostiju >= zaPretragu.BrOsobaOD);
            }

            if (!string.IsNullOrWhiteSpace(zaPretragu.Dolazak) && !string.IsNullOrWhiteSpace(zaPretragu.Odlazak))
            {
                DateTime dolazak = DateTime.ParseExact(zaPretragu.Dolazak, "yyyy-MM-dd", CultureInfo.InvariantCulture);
                //ret = ret.FindAll(x => x.DatumiZaIzdavanje.Contains(dolazak));

                DateTime odlazak = DateTime.ParseExact(zaPretragu.Odlazak, "yyyy-MM-dd", CultureInfo.InvariantCulture);
                //ret = ret.FindAll(x => x.DatumiZaIzdavanje.Contains(dolazak));

                int brojDana = (int)(odlazak - dolazak).TotalDays;

                if (brojDana > 0)
                {
                    for (int i = 0; i < brojDana; i++)
                    {
                        DateTime pom = dolazak.AddDays(i);
                        ret = ret.FindAll(x => x.DatumiZaIzdavanje.Contains(pom));
                    }
                }
                else
                {
                    ret = new List <Apartman>();
                }
            }

            return(ret);
        }
コード例 #12
0
        public List <Apartman> PrikaziSortiraneApartmane(string Poredak)
        {
            List <Apartman> pom = ApartmanGetter.GetApartmane();
            List <Apartman> ret = new List <Apartman>();

            if (Poredak == "Opadajuci")
            {
                ret = pom.OrderByDescending(x => x.CenaPoNocenju).ToList();
            }
            else
            {
                ret = pom.OrderBy(x => x.CenaPoNocenju).ToList();
            }
            return(ret);
        }
コード例 #13
0
        public string DodajApartman(JObject a)
        {
            ApartmanModel apartmanM = null;

            apartmanM = a.ToObject <ApartmanModel>();

            Apartman apartman = new Apartman(apartmanM);

            if (ApartmanGetter.GetApartmanByNaziv(apartman.Naziv) != null)
            {
                return("Apartman sa tim nazivom vec postoji.");
            }
            else
            {
                ApartmanFileWritter.ZapisiApartman(apartman);

                return("Apartman uspesno dodat.");
            }
        }
コード例 #14
0
        public List <Rezervacija> PretraziRez(string ElementPretrage, string Domacin)
        {
            List <Apartman>    apartmaniDomacina = ApartmanGetter.GetApartmanByKorisnickoIme(Domacin);
            List <Rezervacija> ret = new List <Rezervacija>();

            for (int i = 0; i < apartmaniDomacina.Count; i++)
            {
                if (apartmaniDomacina[i] == null)
                {
                    apartmaniDomacina.Remove(apartmaniDomacina[i]);
                }
            }

            foreach (var item in apartmaniDomacina)
            {
                ret.AddRange(RezervacijaGetter.GetRezervacijeDomacina(item.Naziv));
            }



            for (int i = 0; i < ret.Count; i++)
            {
                if (ret[i] == null)
                {
                    ret.Remove(ret[i]);
                }
            }

            //for(int j =0; j < ret.Count; j++)
            //{
            //    if (ret[j].Gost != ElementPretrage)
            //        ret.Remove(ret[j]);
            //    else
            //    {
            //        continue;
            //    }
            //}

            List <Rezervacija> pom = ret.FindAll(x => x.Gost == ElementPretrage);

            return(pom);
        }
コード例 #15
0
        public string IzmeniApartman(Apartman zaIzmenu)
        {
            Apartman apartman = ApartmanGetter.GetApartmanByNaziv(apartmanZaIzmenu);

            apartman.BrGostiju        = zaIzmenu.BrGostiju;
            apartman.Tip              = zaIzmenu.Tip;
            apartman.BrSoba           = zaIzmenu.BrSoba;
            apartman.CenaPoNocenju    = zaIzmenu.CenaPoNocenju;
            apartman.Naziv            = zaIzmenu.Naziv;
            apartman.Status           = zaIzmenu.Status;
            apartman.Prijava          = zaIzmenu.Prijava;
            apartman.Odjava           = zaIzmenu.Odjava;
            apartman.SadrzajApartmana = zaIzmenu.SadrzajApartmana;
            int brLinije = ApartmanGetter.GetBrojLinije(apartmanZaIzmenu);

            ApartmanFileWritter.ZapisiIzmenjen(brLinije, apartman);
            RezervacijaFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv);
            KomentarFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv);
            return("uspesno");
        }
コード例 #16
0
        public List <Rezervacija> GetRezervacijeDomacina(Korisnik domacin)
        {
            List <Apartman>    apartmaniDomacina = ApartmanGetter.GetApartmanByKorisnickoIme(domacin.KorisnickoIme);
            List <Rezervacija> ret = new List <Rezervacija>();



            for (int i = 0; i < apartmaniDomacina.Count; i++)
            {
                if (apartmaniDomacina[i] == null)
                {
                    apartmaniDomacina.Remove(apartmaniDomacina[i]);
                }
            }
            foreach (var item in apartmaniDomacina)
            {
                ret.AddRange(RezervacijaGetter.GetRezervacijeDomacina(item.Naziv));
            }

            return(ret);
        }
コード例 #17
0
        public List <Apartman> PrikaziSortiraneApartmane(string Poredak, string KorisnickoIme)
        {
            List <Apartman> pom = ApartmanGetter.GetApartmanByKorisnickoIme(KorisnickoIme);
            List <Apartman> ret = new List <Apartman>();

            for (int i = 0; i < pom.Count; i++)
            {
                if (pom[i].Status == StatusApartmana.NEAKTIVAN)
                {
                    pom.Remove(pom[i]);
                }
            }

            if (Poredak == "Opadajuci")
            {
                ret = pom.OrderByDescending(x => x.CenaPoNocenju).ToList();
            }
            else
            {
                ret = pom.OrderBy(x => x.CenaPoNocenju).ToList();
            }
            return(ret);
        }
コード例 #18
0
        public string IzmeniApartman(Apartman zaIzmenu)
        {
            if (ApartmanGetter.GetApartmanByNaziv(zaIzmenu.Naziv) == null)
            {
                Apartman apartman = ApartmanGetter.GetApartmanByNaziv(apartmanZaIzmenu);
                apartman.BrGostiju     = zaIzmenu.BrGostiju;
                apartman.Tip           = zaIzmenu.Tip;
                apartman.BrSoba        = zaIzmenu.BrSoba;
                apartman.CenaPoNocenju = zaIzmenu.CenaPoNocenju;
                apartman.Naziv         = zaIzmenu.Naziv;
                apartman.Status        = zaIzmenu.Status;
                apartman.Prijava       = zaIzmenu.Prijava;
                apartman.Odjava        = zaIzmenu.Odjava;
                if (zaIzmenu.SadrzajApartmana.Count != 0)
                {
                    apartman.SadrzajApartmana = zaIzmenu.SadrzajApartmana;
                }
                if (zaIzmenu.DatumiZaIzdavanje.Count != 0)
                {
                    apartman.DatumiZaIzdavanje = zaIzmenu.DatumiZaIzdavanje;
                }
                if (zaIzmenu.Slike.Count != 0)
                {
                    apartman.Slike = zaIzmenu.Slike;
                }
                int brLinije = ApartmanGetter.GetBrojLinije(apartmanZaIzmenu);

                ApartmanFileWritter.ZapisiIzmenjen(brLinije, apartman);
                RezervacijaFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv);
                KomentarFileWritter.IzmeniNazivApartmana(apartmanZaIzmenu, apartman.Naziv);
                return("uspesno");
            }
            else
            {
                return("Apartman sa tim nazivom vec postoji.");
            }
        }
コード例 #19
0
        public List <Apartman> PrikaziApartmane()
        {
            List <Apartman> apartmani = ApartmanGetter.GetApartmane();

            return(apartmani);
        }
コード例 #20
0
 public List <SadrzajApartmana> DobaviSadrzaj(Apartman apartman)
 {
     return(ApartmanGetter.GetApartmanByNaziv(apartman.Naziv).SadrzajApartmana);
 }
コード例 #21
0
        public List <Apartman> PrikaziApartmane(string KorisnickoIme)
        {
            List <Apartman> apartmani = ApartmanGetter.GetApartmanByKorisnickoIme(KorisnickoIme);

            return(apartmani);
        }
コード例 #22
0
        public List <string> DobaviDatume(ApartmanModel apartman)
        {
            List <string> datumi = ApartmanGetter.GetDatumeApartmana(apartman.Naziv);

            return(datumi);
        }