public async Task <Model.Karta> KreirajKartu(KartaUpsertRequest novaKarta) { var resKarta = await _kartaService.Insert(novaKarta); Model.Karta karta = null; if (resKarta.IsSuccessStatusCode) { karta = JsonConvert.DeserializeObject <Model.Karta>(resKarta.Content.ReadAsStringAsync().Result); } return(karta); }
private async void btnKreiraj_Click(object sender, EventArgs e) { try { if (ValidateChildren()) { var karta = new KartaUpsertRequest(); karta.BrojKarte = txtBrojKarte.Text; karta.DatumIzdavanja = dtpDatumIzdavanja.Value.Date; karta.AngazujeId = int.Parse(cmbAngazuje.SelectedValue.ToString()); karta.SjedisteId = int.Parse(cmbSjediste.SelectedValue.ToString()); karta.VrijemePolaska = new TimeSpan(int.Parse(txtVrijemePolaska.Text.Substring(0, 2)), int.Parse(txtVrijemePolaska.Text.Substring(2, 2)), 0); karta.VrijemeDolaska = new TimeSpan(int.Parse(txtVrijemeDolaska.Text.Substring(0, 2)), int.Parse(txtVrijemeDolaska.Text.Substring(2, 2)), 0); if (!_id.HasValue) { if (await AngazmanSjedista(karta.AngazujeId, karta.SjedisteId, karta.VrijemePolaska)) // vrijeme polaska dodao da poredi { MessageBox.Show("Ovo sjediste ste vec dodali za liniju"); } else { await _karta.Insert <Model.Karta>(karta); MessageBox.Show("Karta je uspješno kreirana"); GenerisiBrojKarte(9, true); } } else { await _karta.Update <Model.Karta>(_id.Value, karta); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Karta detalji", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
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 })); }