private async void BtnSnimi_Click(object sender, EventArgs e) { if (this.ValidateChildren()) { List <Sjedalo> lista = await _apiService.Get <List <Sjedalo> >(new SjedalaSearchRequest() { Oznaka = txtOznaka.Text, SektorID = int.Parse(cbSektori.SelectedValue.ToString()) }); if (lista.Count == 0 || (lista.Count == 1 && lista[0].SjedaloID == _id)) { var req = new SjedalaInsertRequest() { Oznaka = txtOznaka.Text, SektorID = int.Parse(cbSektori.SelectedValue.ToString()), Status = cbxStatus.Checked }; if (_id.HasValue) { try { int i = (int)_id; await _apiService.Update <dynamic>(i, req); MessageBox.Show("Operacija uspjesna!"); this.Close(); } catch (Exception) { } } else { try { await _apiService.Insert <dynamic>(req); MessageBox.Show("Operacija uspjesna!"); this.Close(); } catch (Exception) { } } } else { MessageBox.Show("Uneseno sjedalo već postoji za isti sektor!"); } } else { MessageBox.Show("Operacija nije uspjela"); this.Close(); } }
private async void BtnSacuvaj_Click(object sender, EventArgs e) { if (this.ValidateChildren()) { int prosloSjedalo = -1; int proslaUtakmica = -1; int prosliKorisnik = -1; if (_id.HasValue) { Ulaznica u = await _apiService.GetById <Ulaznica>(_id); prosloSjedalo = u.SjedaloID; proslaUtakmica = u.UtakmicaID; prosliKorisnik = u.KorisnikID; } Korisnik k = await _apiServiceKorisnici.GetById <Korisnik>(int.Parse(cbKorisnik.SelectedValue.ToString())); var req = new UlazniceInsertRequest() { DatumKupnje = dtpDatum.Value.Date + dtpVrijeme.Value.TimeOfDay, VrijemeKupnje = dtpDatum.Value.Date + dtpVrijeme.Value.TimeOfDay, KorisnikID = int.Parse(cbKorisnik.SelectedValue.ToString()), SjedaloID = int.Parse(cbSjedala.SelectedValue.ToString()), UtakmicaID = int.Parse(cbUtakmica.SelectedValue.ToString()) }; Sjedalo s1 = await _apiServiceSjedala.GetById <Sjedalo>(req.SjedaloID); s1.Status = true; SjedalaInsertRequest r1 = new SjedalaInsertRequest() { Oznaka = s1.Oznaka, SektorID = s1.SektorID, Status = s1.Status }; Sjedalo s2 = null; SjedalaInsertRequest r2 = null; if (prosloSjedalo != -1) { s2 = await _apiServiceSjedala.GetById <Sjedalo>(prosloSjedalo); s2.Status = false; r2 = new SjedalaInsertRequest(); r2.Oznaka = s2.Oznaka; r2.SektorID = s2.SektorID; r2.Status = s2.Status; } if (_id.HasValue) { int i = (int)_id; await _apiService.Update <dynamic>(i, req); await _apiServiceSjedala.Update <dynamic>(s1.SjedaloID, r1); if (prosloSjedalo != -1) { await _apiServiceSjedala.Update <dynamic>(s2.SjedaloID, r2); } } else { await _apiService.Insert <dynamic>(req); await _apiServiceSjedala.Update <dynamic>(s1.SjedaloID, r1); } //spremanje u preporuke //update if (proslaUtakmica != -1 || prosliKorisnik != -1) { Utakmica proslaU = await _apiServiceUtakmica.GetById <Utakmica>(proslaUtakmica); List <Preporuka> preporuke = await _apiServicePreporuke.Get <List <Preporuka> >(new PreporukaSearchRequest() { KorisnikID = prosliKorisnik, PrviTimID = proslaU.DomaciTimID, DrugiTimID = proslaU.GostujuciTimID }); foreach (var p in preporuke) { p.BrojKupljenihUlaznica--; await _apiServicePreporuke.Update <Preporuka>(p.PreporukaID, new PreporukaInsertRequest() { BrojKupljenihUlaznica = p.BrojKupljenihUlaznica, KorisnikID = p.KorisnikID, TimID = p.TimID }); } } //insert Utakmica utakmica = await _apiServiceUtakmica.GetById <Utakmica>(req.UtakmicaID); var prviTim = utakmica.DomaciTimID; var drugiTim = utakmica.GostujuciTimID; List <Preporuka> rezultat = await _apiServicePreporuke.Get <List <Preporuka> >(new PreporukaSearchRequest() { KorisnikID = k.KorisnikID, PrviTimID = prviTim, DrugiTimID = drugiTim }); if (rezultat.Count == 1) { rezultat[0].BrojKupljenihUlaznica++; PreporukaInsertRequest reqP = null; if (rezultat[0].TimID == prviTim) { reqP = new PreporukaInsertRequest { TimID = drugiTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; } else { reqP = new PreporukaInsertRequest { TimID = prviTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; } PreporukaInsertRequest reqPU = new PreporukaInsertRequest { TimID = rezultat[0].TimID, KorisnikID = rezultat[0].KorisnikID, BrojKupljenihUlaznica = rezultat[0].BrojKupljenihUlaznica }; await _apiServicePreporuke.Insert <Preporuka>(reqP); await _apiServicePreporuke.Update <Preporuka>(rezultat[0].PreporukaID, reqPU); } else if (rezultat.Count == 2) { PreporukaInsertRequest req1 = new PreporukaInsertRequest { TimID = rezultat[0].TimID, BrojKupljenihUlaznica = ++rezultat[0].BrojKupljenihUlaznica, KorisnikID = rezultat[0].KorisnikID }; PreporukaInsertRequest req2 = new PreporukaInsertRequest { TimID = rezultat[1].TimID, BrojKupljenihUlaznica = ++rezultat[1].BrojKupljenihUlaznica, KorisnikID = rezultat[1].KorisnikID }; await _apiServicePreporuke.Update <Preporuka>(rezultat[0].PreporukaID, req1); await _apiServicePreporuke.Update <Preporuka>(rezultat[1].PreporukaID, req2); } else//ako je 0 { PreporukaInsertRequest req1 = new PreporukaInsertRequest { TimID = prviTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; PreporukaInsertRequest req2 = new PreporukaInsertRequest { TimID = drugiTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; await _apiServicePreporuke.Insert <Preporuka>(req1); await _apiServicePreporuke.Insert <Preporuka>(req2); } MessageBox.Show("Operacija uspjela"); this.Close(); } else { MessageBox.Show("Operacija nije uspjela!"); this.Close(); } }
public async Task Init() { IsBusy = true; List <Sjedalo> list = await _apiServiceSjedala.Get <List <Sjedalo> >(new SjedalaSearchRequest() { Oznaka = Oznaka, SektorID = Sektor.SektorID }); Sjedalo = list[0]; Korisnik k = await _apiServiceKorisnici.GetById <Korisnik>(Korisnik.KorisnikID); UlazniceInsertRequest req = new UlazniceInsertRequest() { DatumKupnje = DatumKupnje, VrijemeKupnje = VrijemeKupnje, KorisnikID = Korisnik.KorisnikID, SjedaloID = Sjedalo.SjedaloID, UtakmicaID = Utakmica.UtakmicaID, cijena = Iznos }; Sjedalo s1 = await _apiServiceSjedala.GetById <Sjedalo>(req.SjedaloID); s1.Status = true; SjedalaInsertRequest req2 = new SjedalaInsertRequest() { Oznaka = s1.Oznaka, SektorID = s1.SektorID, Status = s1.Status }; Ulaznica u; try { u = await _apiServiceUlaznice.Insert <Ulaznica>(req); await _apiServiceSjedala.Update <dynamic>(req.SjedaloID, req2); Barcode = u.barcodeimg; } catch (Exception) { throw; } //SPREMANJE UPLATA UplateInsertRequest requestUplate = new UplateInsertRequest() { Iznos = Iznos, UlaznicaID = u.UlaznicaID }; try { await _apiServiceUplate.Insert <Uplata>(requestUplate); } catch (Exception) { throw; } //SPREMANJE PREPORUKA Utakmica utakmica = await _apiServiceUtakmica.GetById <Utakmica>(req.UtakmicaID); var prviTim = utakmica.DomaciTimID; var drugiTim = utakmica.GostujuciTimID; List <Preporuka> rezultat = await _apiServicePreporuke.Get <List <Preporuka> >(new PreporukaSearchRequest() { KorisnikID = k.KorisnikID, PrviTimID = prviTim, DrugiTimID = drugiTim }); if (rezultat.Count == 1) { rezultat[0].BrojKupljenihUlaznica++; PreporukaInsertRequest reqP; if (rezultat[0].TimID == prviTim) { reqP = new PreporukaInsertRequest { TimID = drugiTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; } else { reqP = new PreporukaInsertRequest { TimID = prviTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; } PreporukaInsertRequest reqPU = new PreporukaInsertRequest { TimID = rezultat[0].TimID, KorisnikID = rezultat[0].KorisnikID, BrojKupljenihUlaznica = rezultat[0].BrojKupljenihUlaznica }; await _apiServicePreporuke.Insert <Preporuka>(reqP); await _apiServicePreporuke.Update <Preporuka>(rezultat[0].PreporukaID, reqPU); } else if (rezultat.Count == 2) { PreporukaInsertRequest req1 = new PreporukaInsertRequest { TimID = rezultat[0].TimID, BrojKupljenihUlaznica = ++rezultat[0].BrojKupljenihUlaznica, KorisnikID = rezultat[0].KorisnikID }; PreporukaInsertRequest req3 = new PreporukaInsertRequest { TimID = rezultat[1].TimID, BrojKupljenihUlaznica = ++rezultat[1].BrojKupljenihUlaznica, KorisnikID = rezultat[1].KorisnikID }; await _apiServicePreporuke.Update <Preporuka>(rezultat[0].PreporukaID, req1); await _apiServicePreporuke.Update <Preporuka>(rezultat[1].PreporukaID, req3); } else//ako je 0 { PreporukaInsertRequest req1 = new PreporukaInsertRequest { TimID = prviTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; PreporukaInsertRequest req3 = new PreporukaInsertRequest { TimID = drugiTim, BrojKupljenihUlaznica = 1, KorisnikID = k.KorisnikID }; await _apiServicePreporuke.Insert <Preporuka>(req1); await _apiServicePreporuke.Insert <Preporuka>(req3); } }