public async Task <IActionResult> Otkazi(int id) { var resReze = await _rezervacijeService.GetById(id); if (resReze.IsSuccessStatusCode) { var rezervacija = JsonConvert.DeserializeObject <Model.Rezervacija>(resReze.Content.ReadAsStringAsync().Result); if (rezervacija != null) { var update = new RezervacijaUpsertRequest() { DatumIsteka = rezervacija.DatumIsteka, DatumKreiranja = rezervacija.DatumKreiranja, KartaId = rezervacija.KartaId, Otkazana = true, PutnikId = rezervacija.PutnikId, Qrcode = rezervacija.Qrcode }; await _rezervacijeService.Update(rezervacija.Id, update); ViewData["poruka"] = "Uspješno ste otkazali rezervaciju"; return(RedirectToAction("Prikaz")); } } ViewData["error"] = "Greška na serveru"; return(RedirectToAction("Prikaz")); }
public async Task DodajPregled() { IsBusy = true; await _pregled.Insert <Pregled>(new PregledUpsertRequest() { Naziv = _naziv, Opis = _opis, DatumVrijeme = _datumVrijeme, KorisnikId = _korisnikId, DijagnozaId = _dijagnozaId, LijekId = _lijekId, MedicinskiKartonId = _medicinskiKartonId, RezervacijaId = _rezervacijaId }); RezervacijaUpsertRequest rezervacijaRequest = new RezervacijaUpsertRequest(); var listaRezervacija = await _rezervacija.Get <List <Model.Rezervacija> >(null); foreach (var item in listaRezervacija) { if (item.RezervacijaId == _rezervacijaId) { rezervacijaRequest.DatumVrijeme = item.DatumVrijeme; rezervacijaRequest.PacijentId = item.PacijentId; rezervacijaRequest.UslugaId = item.UslugaId; rezervacijaRequest.Razlog = item.Razlog; rezervacijaRequest.Aktivna = false; await _rezervacija.Update <Model.Rezervacija>(_rezervacijaId, rezervacijaRequest); } } await Application.Current.MainPage.DisplayAlert(" ", "Uspješno sačuvani podaci", "OK"); }
public Model.Rezervacija Insert(RezervacijaUpsertRequest request) { var entity = _mapper.Map <Database.Rezervacije>(request); _context.Rezervacije.Add(entity); _context.SaveChanges(); return(_mapper.Map <Model.Rezervacija>(entity)); }
public Model.Rezervacija Update(int id, RezervacijaUpsertRequest request) { var entity = _context.Rezervacije.Find(id); _context.Rezervacije.Attach(entity); _context.Rezervacije.Update(entity); _mapper.Map(request, entity); _context.SaveChanges(); return(_mapper.Map <Model.Rezervacija>(entity)); }
public async Task MainReservation() { try { RezervacijaUpsertRequest request = new RezervacijaUpsertRequest { VoznjaID = voznjaID }; var x = await _rezervacija.Insert <Rezervacija>(request); if (x != null) { await Application.Current.MainPage.Navigation.PushModalAsync(new PaymentPage(voznjaID)); } } catch (Exception) { } }
public async Task KupiKartu(Sjediste s, DateTime datum, TimeSpan vrijemePolaska) { var reze = new RezervacijaUpsertRequest(); var searchP = new PutnikSearchRequest() { KorisnickoIme = APIService.KorisnickoIme }; var listaPutnika = await __putniciService.Get <List <Putnik> >(searchP); Putnik putnik = null; foreach (var item in listaPutnika) { if (item.KorisnickoIme == APIService.KorisnickoIme) { putnik = item; break; } } var searchKa = new KartaSearchRequest() { PoAngzuje = false, PoVozilu = true, Red = s.Red, Kolona = s.Kolona, PoDatumu = true, DatumIzdavanja = datum, IzSjedista = false, PoVremenu = true, VrijemePolaska = vrijemePolaska }; var listaKarata = await __karteService.Get <List <Karta> >(searchKa); Karta karta = null; foreach (var item in listaKarata) { if (item.Sjediste.VoziloId == _voziloid && item.AngazujeId == Angazman) { karta = item; break; } } if (karta == null) { await Application.Current.MainPage.DisplayAlert(" ", "Trenutno karta nije kreirana", "OK"); } else if (karta.DatumIzdavanja.Date < DateTime.Now.Date) { await Application.Current.MainPage.DisplayAlert(" ", "Niste u mogučnosti rezervisati", "OK"); } else if (karta.DatumIzdavanja.Date == DateTime.Now.Date && karta.VrijemePolaska < DateTime.Now.TimeOfDay) { await Application.Current.MainPage.DisplayAlert(" ", "Vrijeme koje ste izabrali je isteklo", "OK"); } else { var cijena = await _cijenaService.Get <List <Cijena> >(new CijenaSearchRequest() { KompanijaID = s.Vozilo.KompanijaId, LinijaID = karta.Angazuje.LinijaId }); reze.KartaId = karta.Id; reze.PutnikId = putnik.Id; reze.DatumKreiranja = DateTime.Now; reze.DatumIsteka = karta.DatumIzdavanja.AddDays(1); reze.Otkazana = false; if (DateTime.Now.Date.Year - putnik.DatumRodjenja.Value.Date.Year > 50 || DateTime.Now.Date.Year - putnik.DatumRodjenja.Value.Date.Year < 18) { reze.CijenaSaPopustom = cijena[0].Popust == 0 ? cijena[0].Iznos :cijena[0].Iznos - (cijena[0].Iznos * decimal.Parse(cijena[0].Popust.Value.ToString())); } else { reze.CijenaSaPopustom = cijena[0].Iznos; } await __rezervacijaService.Insert <Rezervacija>(reze); await Application.Current.MainPage.DisplayAlert(" ", "Uspješno ste kreirali rezervaciju", "OK"); } }
public Model.Rezervacija Update(int id, [FromBody] RezervacijaUpsertRequest request) { return(_service.Update(id, request)); }
public Model.Rezervacija Insert(RezervacijaUpsertRequest request) { return(_service.Insert(request)); }
private async void btnSnimi_Click(object sender, EventArgs e) { if (this.ValidateChildren() && ValidateCmb()) { var idObj = cmbLjekar.SelectedValue; if (int.TryParse(idObj.ToString(), out int ljekarId)) { request.KorisnikId = ljekarId; } var idObj2 = cmbRezervacija.SelectedValue; if (int.TryParse(idObj2.ToString(), out int rezervacijaId)) { request.RezervacijaId = rezervacijaId; RezervacijaUpsertRequest rezervacijaRequest = new RezervacijaUpsertRequest(); var listaRezervacija = await _rezervacije.Get <List <Model.Rezervacija> >(null); foreach (var item in listaRezervacija) { if (item.RezervacijaId == rezervacijaId) { rezervacijaRequest.DatumVrijeme = item.DatumVrijeme; rezervacijaRequest.PacijentId = item.PacijentId; rezervacijaRequest.UslugaId = item.UslugaId; rezervacijaRequest.Razlog = item.Razlog; // kada se pregled upise u bazu znaci da je pregled obavljen, samim tim rezervacija vise nije aktivna rezervacijaRequest.Aktivna = false; await _rezervacije.Update <Model.Rezervacija>(rezervacijaId, rezervacijaRequest); } } var listaPregleda = await _pregledi.Get <List <Model.Pregled> >(null); foreach (var item in listaPregleda) { if (item.RezervacijaId == rezervacijaId) { MessageBox.Show("Pregled za ovu rezervaciju je vec obavljen!"); return; } } } var idObj3 = cmbDijagnoza.SelectedValue; if (int.TryParse(idObj3.ToString(), out int dijagnozaId)) { request.DijagnozaId = dijagnozaId; } var idObj4 = cmbLijek.SelectedValue; if (int.TryParse(idObj4.ToString(), out int lijekId)) { request.LijekId = lijekId; } var idObj5 = cmbMedicinskiKarton.SelectedValue; if (int.TryParse(idObj5.ToString(), out int medicinskiKartonId)) { request.MedicinskiKartonId = medicinskiKartonId; } request.DatumVrijeme = dateTimePregled.Value = Convert.ToDateTime(System.DateTime.Today.ToShortDateString() + " 10:00 PM"); request.Naziv = txtNaziv.Text; request.Opis = txtOpis.Text; if (!_Id.HasValue) { await _pregledi.Insert <Model.Pregled>(request); } else { await _pregledi.Update <Model.Pregled>(_Id, request); } MessageBox.Show("Operacija uspješna!"); this.Close(); } else { MessageBox.Show("Operacija nije uspjela!"); this.Close(); } }
public async Task <bool> NovaKartaIRezervacija(Model.Karta karta1, Model.Sjediste s) { var reze = new RezervacijaUpsertRequest(); var kartaRes = await _kartaService.GetById(karta1.Id); if (kartaRes.IsSuccessStatusCode) { var karta = JsonConvert.DeserializeObject <Model.Karta>(kartaRes.Content.ReadAsStringAsync().Result); var cijenaRes = await _cijenaService.Get(new CijenaSearchRequest() { KompanijaID = s.Vozilo.KompanijaId, LinijaID = karta.Angazuje.LinijaId }); if (cijenaRes.IsSuccessStatusCode) { var resultC = cijenaRes.Content.ReadAsStringAsync().Result; var cijena = JsonConvert.DeserializeObject <List <Model.Cijena> >(resultC); if (karta != null) { reze.KartaId = karta.Id; reze.DatumIsteka = karta.DatumIzdavanja.AddDays(1); } else { return(false); } reze.DatumKreiranja = DateTime.Now; reze.Otkazana = false; var resPutnik = await _putnikService.Get(new PutnikSearchRequest() { KorisnickoIme = APIService.Username }); if (resPutnik.IsSuccessStatusCode) { var putnik = JsonConvert.DeserializeObject <List <Model.Putnik> >(resPutnik.Content.ReadAsStringAsync().Result); reze.PutnikId = putnik[0].Id; if (DateTime.Now.Date.Year - putnik[0].DatumRodjenja.Value.Date.Year > 50 || DateTime.Now.Date.Year - putnik[0].DatumRodjenja.Value.Date.Year < 18) { reze.CijenaSaPopustom = cijena[0].Popust == 0 ? cijena[0].Iznos : cijena[0].Iznos - (cijena[0].Iznos * decimal.Parse(cijena[0].Popust.Value.ToString())); } else { reze.CijenaSaPopustom = cijena[0].Iznos; } } else { return(false); } TempData["poruka"] = "Uspješno ste rezervisali"; await _rezervacijeService.Insert(reze); return(true); } return(false); } return(false); }
public async Task <IActionResult> Rezervisi(int sjedisteId, DateTime datum, TimeSpan vrijeme) { Model.Karta karta = null; Model.Sjediste s = null; Model.Karta kreiranaNovaKarta = null; var resSjediste = await _sjedistaService.GetById(sjedisteId); if (resSjediste.IsSuccessStatusCode) { var resultS = resSjediste.Content.ReadAsStringAsync().Result; s = JsonConvert.DeserializeObject <Model.Sjediste>(resultS); var searchKarta = new KartaSearchRequest() { PoAngzuje = false, PoVozilu = true, Red = s.Red, Kolona = s.Kolona, PoDatumu = true, DatumIzdavanja = datum, IzSjedista = true, PoVremenu = true, VrijemePolaska = vrijeme }; var resKarta = await _kartaService.Get(searchKarta); if (resKarta.IsSuccessStatusCode) { var resultK = resKarta.Content.ReadAsStringAsync().Result; var karte = JsonConvert.DeserializeObject <List <Model.Karta> >(resultK); if (karte.Count > 0) { karta = karte[0]; } var reze = new RezervacijaUpsertRequest(); if (karta == null) { /* OVO SAM ZADNJE DODAO -----------------------------------------*/ var searchKarta2 = new KartaSearchRequest() { PoAngzuje = false, PoVozilu = false, DatumIzdavanja = datum, VrijemePolaska = vrijeme }; var karteRes = await _kartaService.Get(searchKarta2); if (karteRes.IsSuccessStatusCode) { var lista = JsonConvert.DeserializeObject <List <Model.Karta> >(karteRes.Content.ReadAsStringAsync().Result); if (lista.Count > 0) { if (datum.Date > DateTime.Now.Date) { var upsert = new KartaUpsertRequest() { AngazujeId = lista[0].AngazujeId, DatumIzdavanja = datum, VrijemePolaska = vrijeme, VrijemeDolaska = lista[0].VrijemeDolaska, BrojKarte = GenerisiBrojKarte(9, true), SjedisteId = sjedisteId }; var nova = await _kartaService.Insert(upsert); if (nova.IsSuccessStatusCode) { kreiranaNovaKarta = JsonConvert.DeserializeObject <Model.Karta>(nova.Content.ReadAsStringAsync().Result); if (await NovaKartaIRezervacija(kreiranaNovaKarta, s)) { TempData["poruka"] = "Uspješno ste rezervisali sjedište"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } } else { TempData["poruka"] = "Trenutno karta nije kreirana"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } } else { TempData["poruka"] = "Niste u mogućnosti da rezervišete"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } } else { TempData["poruka"] = "Trenutno karta nije kreirana"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } } else { TempData["poruka"] = "Trenutno karta nije kreirana"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } /*-----------------------------------------------------------------------*/ } else if (karta.DatumIzdavanja.Date < DateTime.Now.Date) { TempData["poruka"] = "Niste u mogučnosti rezervisati"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } else if (karta.DatumIzdavanja.Date == DateTime.Now.Date && karta.VrijemePolaska < DateTime.Now.TimeOfDay) { TempData["poruka"] = "Vrijeme koje ste izabrali je isteklo"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } else { if (await NovaKartaIRezervacija(karta, s)) { TempData["poruka"] = "Uspješno ste rezervisali sjedište!"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } else { TempData["poruka"] = "Niste u mogučnosti rezervisati"; return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); } } } } return(RedirectToAction("PrikaziSjedista", new { id = s.VoziloId, datum = datum, vrijeme = vrijeme })); }