Beispiel #1
0
        public async Task <TerminiDto> FindNextTerminiAsync(TerminiDto terminiDto)
        {
            try
            {
                // Fetching data from dal by passing parameter.
                //Termini currentTermini = await _unitOfWork.Termini.FirstOrDefaultAsync
                //                                (c => c.TerCliId.Equals(terminiDto.TerCliId)
                //                                   && c.Termine.Equals(terminiDto.Termine)
                //                                   && c.TerLingua.Equals(terminiDto.TerLingua));

                Termini nextTermini = (await _unitOfWork.Termini.FindInOrderAsync
                                           ((c => c.TerCliId.Equals(terminiDto.TerCliId) &&
                                             c.TerStato.Equals(terminiDto.TerStato) &&
                                             c.TerLingua.Equals(terminiDto.TerLingua)),
                                           o => o.TerInsTimestamp, OrderType.Ascending)
                                       ).FirstOrDefault();

                // Returning the retrieved data to controller end by mapping into dto object.
                return(_mapper.Map <Termini, TerminiDto>(nextTermini));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult DeleteConfirmed(int id)
        {
            Termini termini = db.Termini.Find(id);

            db.Termini.Remove(termini);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #3
0
        private void sacuvajBtn_Clicked(object sender, EventArgs e)
        {
            if ((Convert.ToInt32(uslugaInput.Text) < 1 || Convert.ToInt32(uslugaInput.Text) > 5) || ((!String.IsNullOrEmpty(tretmanInput.Text)) && (Convert.ToInt32(tretmanInput.Text) < 1 || Convert.ToInt32(tretmanInput.Text) > 5)))
            {
                DisplayAlert("Greška", "Ocjena mora biti od 1 do 5.", "OK");
            }
            else
            {
                HttpResponseMessage responseTermin = terminiService.GetResponse(odabraniTermin.TerminID.ToString());
                if (responseTermin.IsSuccessStatusCode)
                {
                    var     jsonObject = responseTermin.Content.ReadAsStringAsync();
                    Termini termin     = JsonConvert.DeserializeObject <Termini>(jsonObject.Result);

                    UslugeOcjene uo = new UslugeOcjene()
                    {
                        FrizerID  = Convert.ToInt32(termin.FrizerID),
                        KlijentID = Convert.ToInt32(termin.KlijentID),
                        UslugaID  = Convert.ToInt32(termin.UslugaID),
                        Ocjena    = Convert.ToInt32(uslugaInput.Text),
                        TerminID  = Convert.ToInt32(termin.TerminID)
                    };

                    HttpResponseMessage responseUsluge = uslugeOcjeneService.PostResponse(uo);

                    termin.OcijenjenaUsluga = true;
                    termin.OcijenjenTretman = true;
                    HttpResponseMessage responseTerminPut = terminiService.PutResponse(termin.TerminID, termin);

                    if (!String.IsNullOrEmpty(odabraniTermin.NazivTretmana))
                    {
                        DodatniTretmaniOcjene dto = new DodatniTretmaniOcjene()
                        {
                            FrizerID  = Convert.ToInt32(termin.FrizerID),
                            KlijentID = Convert.ToInt32(termin.KlijentID),
                            TretmanID = Convert.ToInt32(termin.TretmanID),
                            Ocjena    = Convert.ToInt32(tretmanInput.Text)
                        };

                        HttpResponseMessage responseTretmani = dodatniTretmaniOcjeneService.PostResponse(dto);

                        if (responseUsluge.IsSuccessStatusCode && responseTretmani.IsSuccessStatusCode)
                        {
                            DisplayAlert("Uspjeh", "Uspješno ste ocijenili uslugu i tretman.", "OK");
                        }
                    }

                    if (String.IsNullOrEmpty(odabraniTermin.NazivTretmana) && responseUsluge.IsSuccessStatusCode)
                    {
                        DisplayAlert("Uspjeh", "Uspješno ste ocijenili uslugu.", "OK");
                    }

                    this.Navigation.PopAsync();
                }
            }
        }
 public ActionResult Edit([Bind(Include = "TerminID,Ime,Prezime,Mail,Telefon,Svrha,Opis,KorisnikID")] Termini termini)
 {
     if (ModelState.IsValid)
     {
         db.Entry(termini).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.KorisnikID = new SelectList(db.Korisnik, "KorisnikID", "Ime", termini.KorisnikID);
     return(View(termini));
 }
        private async void Termini_SelectedIndexChanged(object sender, EventArgs e)
        {
            Termini t = this.Termini.SelectedItem as Termini;

            model.TerminID = t.TerminId;

            await model.ProvjeraSlobodnihMjesta();

            brojslobodnihmjesta.Text      = "Broj slobodnih mjesta za odabrani termin: " + model.BrojSlobodnihMjesta.ToString();
            brojslobodnihmjesta.IsVisible = true;
        }
        public IHttpActionResult PostTermini(Termini obj)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            dm.Terminis.Add(obj);

            dm.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = obj.TerminID }, obj));
        }
        private void btnRezervisi_Clicked(object sender, EventArgs e)
        {
            HttpResponseMessage responseGetKlijent = klijentiService.GetResponse(Global.prijavljeniKlijent.KlijentID.ToString());

            if (responseGetKlijent.IsSuccessStatusCode)
            {
                var      jsonObjectKlijent = responseGetKlijent.Content.ReadAsStringAsync();
                Klijenti logirani          = JsonConvert.DeserializeObject <Klijenti>(jsonObjectKlijent.Result);

                if (logirani.TerminiCount < 3)
                {
                    Button          btn         = sender as Button;
                    Termini_Result2 rezervacija = btn.BindingContext as Termini_Result2;

                    HttpResponseMessage responseTermin = terminiService.GetResponse(rezervacija.TerminID.ToString());
                    if (responseTermin.IsSuccessStatusCode)
                    {
                        var     jsonObject = responseTermin.Content.ReadAsStringAsync();
                        Termini termin     = JsonConvert.DeserializeObject <Termini>(jsonObject.Result);

                        termin.KlijentID = Global.prijavljeniKlijent.KlijentID;
                        termin.UslugaID  = (uslugaPicker.SelectedItem as Usluge_Result).UslugaID;
                        termin.Zauzeto   = true;

                        if ((dodatniTretmaniPicker.SelectedItem as DodatniTretmani_Result) == null)
                        {
                            termin.TretmanID = null;
                        }
                        else
                        {
                            termin.TretmanID = (dodatniTretmaniPicker.SelectedItem as DodatniTretmani_Result).TretmanID;
                        }

                        HttpResponseMessage responseTerminPut = terminiService.PutResponse(termin.TerminID, termin);
                        if (responseTerminPut.IsSuccessStatusCode)
                        {
                            btn.Text      = "Rezervisano";
                            btn.IsEnabled = false;
                            DisplayAlert("Uspjeh", "Termin je uspješno rezervisan.", "OK");

                            logirani.TerminiCount++;
                            HttpResponseMessage responsePutKlijent = klijentiService.PutResponse(logirani.KlijentID, logirani);
                        }
                    }
                }
                else
                {
                    DisplayAlert("Greška", "Nije moguće rezervisati više od 3 termina.", "OK");
                }
            }
        }
Beispiel #8
0
        // GET: Termini/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Termini termini = db.Termini.Find(id);

            if (termini == null)
            {
                return(HttpNotFound());
            }
            return(View(termini));
        }
Beispiel #9
0
        //public IList<TerminiView> ListaTermina { get; set; }

        public TerminiView(Termini t)
        {
            //this.ListaTermina = new List<TerminiView>();
            this.Id                 = t.Id;
            this.Od                 = t.Od;
            this.Do                 = t.Do;
            this.BrTrokrevetnih     = t.BrTrokrevetnih;
            this.BrCetvorokrevetnih = t.BrCetvorokrevetnih;
            this.BrDuplex           = t.BrDuplex;

            //foreach (ProdajeSe odProdajeSe in t.ProdajeSeOdeljenja)
            //{
            //    this.Odeljenja.Add(new OdeljenjeView(odProdajeSe.ProdajeOdeljenje));
            //}
        }
Beispiel #10
0
        public IzmijeniTermin(int terminid)
        {
            InitializeComponent();

            HttpResponseMessage response = TerminiService.GetResponse(terminid.ToString());

            if (response.StatusCode == System.Net.HttpStatusCode.NotFound)
            {
                t = null;
            }
            else if (response.IsSuccessStatusCode)
            {
                t = response.Content.ReadAsAsync <Termini>().Result;
            }
        }
Beispiel #11
0
        public async Task <TerminiDto> FindAsync(string termini, string cliId)
        {
            try
            {
                // Fetching data from dal by passing parameter.
                Termini data = await _unitOfWork.Termini.FirstOrDefaultAsync(c => c.Termine.Equals(termini) && c.TerCliId.Equals(cliId));

                // Returning the retrieved data to controller end by mapping into dto object.
                return(_mapper.Map <Termini, TerminiDto>(data));
            }
            catch (Exception)
            {
                throw;
            }
        }
        // GET: Terminis/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Termini termini = db.Termini.Find(id);

            if (termini == null)
            {
                return(HttpNotFound());
            }
            ViewBag.KorisnikID = new SelectList(db.Korisnik, "KorisnikID", "Ime", termini.KorisnikID);
            return(View(termini));
        }
Beispiel #13
0
        public ActionResult DeleteConfirmed(int id)
        {
            Termini termini = db.Termini.Find(id);
            var     upiti   = db.Upit.ToList();

            foreach (Upit u in upiti)
            {
                if (u.TerminID == id)
                {
                    db.Upit.Remove(u);
                }
            }
            db.Termini.Remove(termini);
            db.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }
        public IActionResult Get(int id)
        {
            TerminiProvider provider = new TerminiProvider();
            Termini         t        = provider.GetTermini(id);

            if (t == null)
            {
                return(NotFound());
            }
            //var json = JsonConvert.SerializeObject(t);
            var json = JsonConvert.SerializeObject(t, new JsonSerializerSettings()
            {
                ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore
            });

            return(Ok(json));
        }
        public IHttpActionResult PutTermini(int id, Termini t)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != t.TerminID)
            {
                return(BadRequest());
            }

            dm.esp_Termini_Update(id, t.Datum, t.Vrijeme, t.KlijentID, t.FrizerID, t.UslugaID, t.Zauzeto, t.TretmanID, t.OcijenjenaUsluga, t.OcijenjenTretman, t.prosaoTermin);

            dm.SaveChanges();
            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #16
0
        public async Task <string> DeleteAsync(string termini)
        {
            try
            {
                // Retrieving the termini object based on termini (name)
                Termini data = await _unitOfWork.Termini.FirstOrDefaultAsync(c => c.Termine.Equals(termini));

                // Updating the status as inactive rather than deleting.
                data.TerStato = "N";
                // Soft deleting the termini record.
                await _unitOfWork.CompleteAsync();

                // Returning the recently deleted termini object.
                return(termini);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #17
0
        public int RemoveTermini(int id)
        {
            try
            {
                ISession s = DataLayer.GetSession();

                Termini t = s.Load <Termini>(id);

                s.Delete(t);

                s.Flush();
                s.Close();

                return(1);
            }
            catch (Exception exc)
            {
                return(-1);
            }
        }
Beispiel #18
0
        public async Task <string> InsertAsync(TerminiDto terminiDto)
        {
            try
            {
                // Map dto to termini domain model.
                Termini termini = _mapper.Map <TerminiDto, Termini>(terminiDto);

                termini.TerInsTimestamp = DateTime.Now;
                termini.TerModTimestamp = DateTime.Now;

                _unitOfWork.Termini.Add(termini);
                await _unitOfWork.CompleteAsync();

                return(termini.Termine);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #19
0
        private void dodajTerminBtn_Click(object sender, EventArgs e)
        {
            if (this.ValidateChildren())
            {
                Termini t = new Termini();
                t.Datum = datumDateTimePicker.Value;
                DateTime dt = vrijemeDateTimePicker.Value;
                TimeSpan st = new TimeSpan(dt.Hour, dt.Minute, 0);
                t.Vrijeme      = st;
                t.Zauzeto      = false;
                t.KlijentID    = null;
                t.UslugaID     = null;
                t.prosaoTermin = false;

                if (t == null)
                {
                    t = new Termini();
                }



                if (frizeriComboBox.SelectedIndex != 0)
                {
                    t.FrizerID = Convert.ToInt32(frizeriComboBox.SelectedValue);
                }


                HttpResponseMessage response = TerminiService.PostResponse(t);

                if (response.IsSuccessStatusCode)
                {
                    MessageBox.Show("Termin je uspjesno dodan.");
                    DialogResult = DialogResult.OK;
                    Close();
                }
                else
                {
                    MessageBox.Show(response.ReasonPhrase, Messages.error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Beispiel #20
0
        private async void Button_Clicked(object sender, EventArgs e)
        {
            if (this.Termini.SelectedItem == null)
            {
                terminigreska.Text      = "** Morate odabrati termin! **";
                terminigreska.IsVisible = true;
            }
            else
            {
                terminigreska.Text      = " ";
                terminigreska.IsVisible = false;
            }

            if (!terminigreska.IsVisible)
            {
                Termini t = this.Termini.SelectedItem as Termini;
                model.TerminID = t.TerminId;
                await model.RezervacijaTask();

                await Navigation.PushAsync(new IzletiPage());
            }
        }
Beispiel #21
0
        public ActionResult Edit([Bind(Include = "TerminiID,ProfesorID,KolegijID,Dan_Tjedan,Vrijeme_Od,Vrijeme_Do")] Termini termini)
        {
            int      a    = (int)Session["Profesor"];
            Profesor prof = db.Profesor.Find(a);

            if (ModelState.IsValid)
            {
                termini.ProfesorID      = prof.ProfesorID;
                db.Entry(termini).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index", "Termini"));
            }

            Kolegij kol = db.Kolegij.Find(termini.KolegijID);

            ViewBag.Kolegij = kol.Naziv;


            ViewBag.Profesor   = prof.Ime_I_Prezime;
            ViewBag.KolegijID  = new SelectList(db.Kolegij, "KolegijID", "Naziv", termini.KolegijID);
            ViewBag.ProfesorID = new SelectList(db.Profesor, "ProfesorID", "Ime_I_Prezime", termini.ProfesorID);
            return(View(termini));
        }
Beispiel #22
0
        public bool DodajTermin(TerminViewModel model)
        {
            try
            {
                using (dataContext connection = new dataContext())
                {
                    Termini termin = new Termini();
                    termin.TrenerId  = model.TrenerId;
                    termin.GrupaId   = model.GrupaId;
                    termin.BazenId   = model.BazenId;
                    termin.VrijemeDo = model.VrijemeDo;
                    termin.VrijemeOd = model.VrijemeOd;
                    connection.Termin.Add(termin);

                    connection.SaveChanges();
                    return(true);
                }
            }
            catch (Exception)
            {
                return(false);
            }
        }
Beispiel #23
0
        public bool Otkazi(Termini t, String soba, Klijent k)
        {
            ISession s = DataLayer.GetSession();

            Klijent klijent = s.Query <Klijent>()
                              .Where(v => v.Username.Equals(k.Username))
                              .Select(p => p).FirstOrDefault();

            Termini termin = GetTermini(t.Id);

            Smestaj sm = s.Query <Termini>()
                         .Where(v => v.Id == termin.Id)
                         .Select(p => p.VezanZaSmestaj).FirstOrDefault();

            Rezervacija rez = s.Query <Rezervacija>()
                              .Where(v => v.KlijentR.Id == klijent.Id && v.SmestajR == sm)
                              .Select(p => p).FirstOrDefault();

            if (sm == null || rez == null)
            {
                return(false); // greska
            }

            RezervacijaProvider rezervacijaProv = new RezervacijaProvider();
            KlijentProvider     klijentProv     = new KlijentProvider();

            klijentProv.Mail(klijent, "Uspesno otkazana rezervacija letevonja-" + sm.Naziv);
            if (soba.Equals("cetvorokrevetna"))
            {
                s.Query <Termini>()
                .Where(v => v.Id == t.Id)
                .UpdateBuilder()
                .Set(c => c.BrCetvorokrevetnih, c => c.BrCetvorokrevetnih + 1)
                .Update();
            }
            else if (soba.Equals("trokrevetna"))
            {
                s.Query <Termini>()
                .Where(v => v.Id == t.Id)
                .UpdateBuilder()
                .Set(c => c.BrTrokrevetnih, c => c.BrTrokrevetnih + 1)
                .Update();
            }
            else if (soba.Equals("duplex"))
            {
                s.Query <Termini>()
                .Where(v => v.Id == t.Id)
                .UpdateBuilder()
                .Set(c => c.BrDuplex, c => c.BrDuplex + 1)
                .Update();
            }
            else
            {
                return(false);
            }

            //ObrisiRezervaciju

            RezervacijaProvider r = new RezervacijaProvider();

            r.RemoveRezervacija(rez.Id);
            PosaljiPonuduKlijentima(sm, soba, sm.Naziv);
            return(true);
        }
 private void btnTermini_Click(object sender, EventArgs e)
 {
     this.Hide();
     Termini termin = new Termini(LoginForm.LogiraniKorisnik);
     termin.ShowDialog();
 }
 public void Put(int id, [FromBody] Termini value)
 {
 }
        private void PopuniPodatke()
        {
            //ZABETONIRANI PODACI
            Korisnik korisnik1 = new Korisnik
            {
                Aktivan       = true,
                Email         = "*****@*****.**",
                Ime           = "Perica",
                JMBG          = "2313212",
                KorisnickoIme = "perica123",
                Lozinka       = "perica11",
                Pol           = EPol.M,
                Prezime       = "Peric",
                //SifraAdrese = adresa,
                TipKorisnika = ETipKorisnika.PACIJENT
            };

            KorisniciPacijenti.Add(korisnik1);

            Pacijent pacijent4 = new Pacijent
            {
                //Korisnicko = korisnik1
            };

            Pacijenti.Add(pacijent4);



            Korisnik korisnik2 = new Korisnik
            {
                Aktivan       = true,
                Email         = "*****@*****.**",
                Ime           = "jovica",
                JMBG          = "2313212",
                KorisnickoIme = "jovica123",
                Lozinka       = "perica11",
                Pol           = EPol.M,
                Prezime       = "Peric",
                //SifraAdrese = "23213",
                TipKorisnika = ETipKorisnika.PACIJENT
            };

            KorisniciPacijenti.Add(korisnik2);

            Korisnik korisnik3 = new Korisnik
            {
                Aktivan       = true,
                Email         = "*****@*****.**",
                Ime           = "Ado",
                JMBG          = "233213",
                KorisnickoIme = "adminat",
                Lozinka       = "adminat11",
                Pol           = EPol.M,
                Prezime       = "Adminic",
                //SifraAdrese = "34223423",
                TipKorisnika = ETipKorisnika.ADMINISTRATOR
            };

            Korisnik korisnik4 = new Korisnik
            {
                Aktivan       = true,
                Email         = "*****@*****.**",
                Ime           = "Leko",
                JMBG          = "2332213",
                KorisnickoIme = "leko",
                Lozinka       = "leko123",
                Pol           = EPol.M,
                Prezime       = "Lekaric",
                //SifraAdrese = "21323",
                TipKorisnika = ETipKorisnika.LEKAR
            };

            Korisnici.Add(korisnik4);



            Pacijent pacijent = new Pacijent
            {
                //Korisnicko = korisnik2,
                //Termini = new ObservableCollection<string>(),
            };

            Pacijenti.Add(pacijent);

            Korisnici.Add(korisnik3);



            Termin termin = new Termin
            {
                Aktivan = true,
                Datum   = new DateTime(2020, 5, 1, 8, 30, 52),
                //     Lekar = lekar,
                //Pacijent = pacijent,
                //  Sifra = "232432432",
                Status = EStatusTermina.SLOBODAN
            };

            Termini.Add(termin);



            Terapija terapija = new Terapija
            {
                Aktivan = true,
                Opis    = "Sve okej",
                //      Sifra = "332423",
                //     Lekar = lekar,
                //     Pacijent = pacijent
            };

            Terapije.Add(terapija);


/*            DomZdravlja domZdravlja = new DomZdravlja
 *          {
 *              Naziv = "DOM ZDRAVLJA SECANJ",
 *              Sifra = "255366",
 *             // Adresa = adresa,
 *              Aktivan = true
 *          };
 *          DomoviZdravlja.Add(domZdravlja);*/
        }
Beispiel #27
0
        public bool Slobodan(Termini t, String soba, Klijent k)
        {
            ISession s = DataLayer.GetSession();

            Termini termin = GetTermini(t.Id);
            Smestaj sm     = s.Query <Termini>()
                             .Where(v => v.Id == termin.Id)
                             .Select(p => p.VezanZaSmestaj).FirstOrDefault();

            KlijentProvider klijentProv = new KlijentProvider();

            Klijent klijent = s.Query <Klijent>()
                              .Where(v => v.Username.Equals(k.Username))
                              .Select(p => p).FirstOrDefault();
            RezervacijaProvider rezervacijaProv = new RezervacijaProvider();

            Rezervacija rezervacija = new Rezervacija();

            rezervacija.KlijentR = klijent;
            rezervacija.SmestajR = sm;
            rezervacija.TerminiR = t;
            rezervacija.Soba     = soba;

            //postoji smestaj onda trebamo ispitati da li je termin slobodan
            if (soba.Equals("cetvorokrevetna"))
            {
                //update termine
                if (termin.BrCetvorokrevetnih > 0)
                {
                    s.Query <Termini>()
                    .Where(v => v.Id == t.Id)
                    .UpdateBuilder()
                    .Set(c => c.BrCetvorokrevetnih, c => c.BrCetvorokrevetnih - 1)
                    .Update();

                    if (t.Od.Month - DateTime.Now.Month > 2 && t.Od.Month - DateTime.Now.Month < 6)
                    {
                        klijentProv.Mail(klijent, "Rezervisan je traženi smeštaj-" + sm.Naziv + ". Cena smeštaja iznosi " + sm.CenaPoKrevetu * 1.4 * 120 + "din. Ukoliko se odlučite za naš prevoz, cena po osobi je " + sm.CenaPrevoza * 120 + "din");
                    }
                    else
                    {
                        klijentProv.Mail(klijent, "Rezervisan je traženi smeštaj-" + sm.Naziv + ". Početna cena smeštaja iznosi " + sm.CenaPoKrevetu * 1.4 * 120 + "din dok je cena sa popustom " + sm.CenaPoKrevetu * 1.4 * 120 * 0.8 + "din. Ukoliko se odlučite za nas prevoz, cena po osobi je " + sm.CenaPrevoza * 120 + "din");
                    }
                }
                else
                {
                    rezervacija.Cekanje = "da";
                    rezervacijaProv.AddRezervacija(rezervacija);
                    //smestimo klijenta u red
                    klijentProv.Mail(klijent, "Nažalost traženi smeštaj " + sm.Naziv + " je zauzet. Ukoliko se, oslobodi bićete obavešteni");
                    return(false);
                }
            }
            else if (soba.Equals("trokrevetna"))
            {
                if (termin.BrTrokrevetnih > 0)
                {
                    s.Query <Termini>()
                    .Where(v => v.Id == t.Id)
                    .UpdateBuilder()
                    .Set(c => c.BrTrokrevetnih, c => c.BrTrokrevetnih - 1)
                    .Update();
                    if (t.Od.Month - DateTime.Now.Month > 2 && t.Od.Month - DateTime.Now.Month < 6)
                    {
                        klijentProv.Mail(klijent, "Rezervisan je traženi smeštaj-" + sm.Naziv + ". Cena smeštaja iznosi " + sm.CenaPoKrevetu * 1.3 * 120 + "din. Ukoliko se odlučite za naš prevoz, cena po osobi je " + sm.CenaPrevoza * 120 + "din");
                    }
                    else
                    {
                        klijentProv.Mail(klijent, "Rezervisan je traženi smeštaj-" + sm.Naziv + ". Cena smeštaja iznosi " + sm.CenaPoKrevetu * 1.3 * 120 + "din dok je cena sa popustom " + sm.CenaPoKrevetu * 1.3 * 120 * 0.8 + "din. Ukoliko se odlučite za naš prevoz, cena po osobi je " + sm.CenaPrevoza * 120 + "din");
                    }
                }
                else
                {
                    rezervacija.Cekanje = "da";
                    klijentProv.Mail(klijent, "Nažalost traženi smeštaj " + sm.Naziv + " je zauzet. Ukoliko se oslobodi, bićete obavešteni");
                    rezervacijaProv.AddRezervacija(rezervacija);
                    return(false);
                }
            }
            else if (soba.Equals("duplex"))
            {
                if (termin.BrDuplex > 0)
                {
                    s.Query <Termini>()
                    .Where(v => v.Id == t.Id)
                    .UpdateBuilder()
                    .Set(c => c.BrDuplex, c => c.BrDuplex - 1)
                    .Update();

                    if (t.Od.Month - DateTime.Now.Month > 2 && t.Od.Month - DateTime.Now.Month < 6)
                    {
                        klijentProv.Mail(klijent, "Rezervisan je trazeni smestaj-" + sm.Naziv + ". Cena smestaja iznosi " + sm.CenaPoKrevetu * 1.5 * 120 + "din. Ukoliko se odlucite za nas prevoz cena po osobi je " + sm.CenaPrevoza * 120 + "din");
                    }
                    else
                    {
                        klijentProv.Mail(klijent, "Rezervisan je trazeni smestaj-" + sm.Naziv + ". Pocetna cena smestaja iznosi " + sm.CenaPoKrevetu * 1.5 * 120 + "din dok je cena sa popustom" + sm.CenaPoKrevetu * 1.5 * 120 * 0.8 + "din . Ukoliko se odlucite za nas prevoz cena po osobi je " + sm.CenaPrevoza * 120 + "din");
                    }
                }
                else
                {
                    rezervacija.Cekanje = "da";
                    klijentProv.Mail(klijent, "Nazalost trazeni smestaj " + sm.Naziv + " je zauzet. Ukoliko se oslobodi bicete obavesteni");
                    rezervacijaProv.AddRezervacija(rezervacija);
                    return(false);
                }
            }

            rezervacijaProv.AddRezervacija(rezervacija);

            return(true);
        }