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"); }