示例#1
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");
        }