public static AbstractPage getPage(Banke banka, WebData data) { switch (banka) { case Banke.Srbija: return new WebPageSrbija(data); case Banke.Makedonija: return new WebPageMakedonija(data); case Banke.BiH: return new WebPageBosna(data); } return null; }
public static AbstractPage getPage(Banke banka, WebData data) { switch (banka) { case Banke.Srbija: return(new WebPageSrbija(data)); case Banke.Makedonija: return(new WebPageMakedonija(data)); case Banke.BiH: return(new WebPageBosna(data)); } return(null); }
//Form for paying public IActionResult PrikazFormeZaPlacanje([FromBody] RezervacijaMjestaJson Model) { var ponudaRezervacije = _db.PosjecujeLokacije .FirstOrDefault(x => x.Id == Convert.ToInt32(HttpContext.Session.GetString("PonudaId"))); //Initializing model RezervacijePrikazFormePlacanjeVM viewmodel = new RezervacijePrikazFormePlacanjeVM(); viewmodel.Banke = Banke.VratiBanke(); viewmodel.Karte = Kartice.VratiKartice(); viewmodel.KolicinaKarata = Model.Mjesta.Count.ToString(); viewmodel.ProsliModel = Model; viewmodel.PostojiPopustNaLiniji = _db.PopustNaLiniji.FirstOrDefault(x => x.LinijeId == ponudaRezervacije.LinijeId) != null ? true : false; //Check for expiracy viewmodel.DatumRezervacije = MySessionExtensions.Get <DateTime>(HttpContext.Session, "DatumRezervacije"); if (viewmodel.PostojiPopustNaLiniji) { viewmodel.IstekaoDatumPopusta = _db.PopustNaLiniji.Include(x => x.Popust).FirstOrDefault(x => x.LinijeId == ponudaRezervacije.LinijeId).Popust.DatumVazenjaPopusta > viewmodel.DatumRezervacije ? true : false; } //Get total spent that user ordered foreach (var item in Model.Mjesta) { viewmodel.UkupnaCijena += _db.PosjecujeLokacije .FirstOrDefault(x => x.Id == Convert.ToInt32(HttpContext.Session.GetString("PonudaId"))).cijenaOdPolaska; viewmodel.MjestaOdabrana.Add(item); } //Type of card user picked, travel that he reserved. viewmodel.TipKarte = _db.TipoviKarte.FirstOrDefault(x => x.Tip == HttpContext.Session.GetString("TipKarte")).Tip; viewmodel.PonudaOdabrana = _db.PosjecujeLokacije.Include(x => x.Linije.Polazak) .Include(x => x.Grad) .FirstOrDefault(x => x.Id == Convert.ToInt32(HttpContext.Session.GetString("PonudaId"))); return(View(viewmodel)); }
public IActionResult DodajRezervaciju(RezervacijePrikazFormePlacanjeVM model) { Korisnik logirani = HttpContext.GetLogiraniKorisnik(); if (string.IsNullOrEmpty(model.BrojKreditneKartice)) { return(Content("niste unijeli kreditnu karticu")); } //Add new credit card Kartica novaKartica = new Kartica { BrojKartice = model.BrojKreditneKartice, Klijenti = (Klijenti)logirani, SredstvoPlacanjaId = 1, Banka = Banke.VratiBanke().Find(x => x.Value == model.OdabranaBankaId.ToString()).Text, }; _db.Kartice.Add(novaKartica); //Picked reservation travels var ponudaRezervacije = _db.PosjecujeLokacije.Include(x => x.Linije) .FirstOrDefault(x => x.Id == Convert.ToInt32(HttpContext.Session.GetString("PonudaId"))); //Crete new transaction of cards var transakcijaNova = new Transakcija(); transakcijaNova.brojTransakcije = "1"; transakcijaNova.datumKupovine = DateTime.Now; transakcijaNova.otkazano = false; transakcijaNova.Status = "zaprimljena"; transakcijaNova.Klijenti = (Klijenti)logirani; transakcijaNova.Kartica = novaKartica; TransakcijaStavke stavkeTransakcije = new TransakcijaStavke(); //Add new transaction of cards in database foreach (var item in model.ProsliModel.Mjesta) { Karta karta = new Karta(); stavkeTransakcije.Karta = karta; stavkeTransakcije.Kolicina = model.ProsliModel.Mjesta.Count; stavkeTransakcije.Transakcija = transakcijaNova; if (model.UkupnaCijenaPopust == 0) { stavkeTransakcije.UkupnaCijena = model.UkupnaCijena; } else { stavkeTransakcije.UkupnaCijena = model.UkupnaCijenaPopust; } karta.PosjecujeLokacije = ponudaRezervacije; karta.Aktivna = true; karta.brojSjedista = item.ToString(); karta.BrojKarte = "XXX-123"; karta.datumPutovanja = MySessionExtensions.Get <DateTime>(HttpContext.Session, "DatumRezervacije"); //karta.datumPutovanja = new DateTime(Convert.ToInt32(godina[0]), Convert.ToInt32(razdvojeniDatum[1]), Convert.ToInt32(razdvojeniDatum[0])); karta.TipKarte = _db.TipoviKarte.FirstOrDefault(x => x.Tip == HttpContext.Session.GetString("TipKarte")); _db.Karte.Add(karta); } _db.TransakcijaStavke.Add(stavkeTransakcije); _db.SaveChanges(); //Send user a email string bodyText = "Poštovani Uspješno ste platili rezervaciju za ponudu " + ponudaRezervacije.Linije.Naziv + " u iznosu od " + stavkeTransakcije.UkupnaCijena + "na dan " + transakcijaNova.datumKupovine.ToShortDateString() + " Pozdrav Vaša autobuska stanica"; _emailService.BuildEmailTemplate("Potvrda o uspješnosti rezervacije", bodyText, logirani.Email); return(Content("Rezervacija uspjesno provedena")); }