private async void Timer1_Tick(object sender, EventArgs e) { if (pbQRKod.Image == null) { return; } var text = QRCodeHelper.DecodeQRCode(pbQRKod.Image); if (!String.IsNullOrEmpty(text)) { var ClanSearchRequest = new Model.Requests.ClanSearchRequest() { QrCodeText = text }; var list = await _apiService_Clan.Get <List <ClanViewRequest> >(ClanSearchRequest); if (list.Count != 0) { var clanId = list[0].Id; cbClan.SelectedValue = clanId; timer1.Stop(); FinalFrame.Stop(); MessageBox.Show(list[0].Display, "Korisnik pronadje", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); pbQRKod.Image = null; //doradit messagebox } else { MessageBox.Show("QR Kod nije validan", "error", MessageBoxButtons.OK, MessageBoxIcon.Error); } setScannerVisible(false); if (FinalFrame != null) { if (FinalFrame.IsRunning == true) { FinalFrame.Stop(); } FinalFrame = null; } if (timer1.Enabled == true) { timer1.Enabled = false; } } }
/* * Imaju cetri moguca rezultata * * 1.QR Kod nije prepoznatljiv * 2.QR Kod se ne moze ocitat * 3.QR Kod je prepoznat i sve je u redu u vezi clanarina * 4.QR Kod je prepoznat ali clan ima ne podmirenih obaveza */ //... private async Task tick() { _ticks++; txtTotal.Text = _ticks.ToString(); var text = QRCodeHelper.DecodeQRCode(pictureBox1.Image); if (String.IsNullOrEmpty(text)) { _falseResult++; txtNegative.Text = _falseResult.ToString(); } else { _trueResult++; txtPositive.Text = _trueResult.ToString(); timer.Stop(); var ClanSearchRequest = new Model.Requests.ClanSearchRequest() { QrCodeText = text }; var list = await _apiService_Clan.Get <List <ClanViewRequest> >(ClanSearchRequest); //1.QR Kod nije prepoznatljiv if (list.Count == 0) { textMain = "Pristup ogranicen"; textSide = "QR kod koji ste prikazali nije prepoznatljiv ! "; CameraStopSetup(textMain, textSide); PanelRed(); playBeep(BeepNotOK); return; } var clan = list.FirstOrDefault(); //2.QR Kod se ne moze ocitat //event se pozove nakon 10 sekundi.. iznad //3.QR Kod je prepoznat i sve je u redu u vezi clanarina //4.QR Kod je prepoznat ali clan ima ne podmirenih obaveza //Prvo korisnik treba imati clanarinu za dati mjesec i godinu, zatim if (clan != null) { DateTime dateTime = DateTime.Now; var DanUSedmici = dateTime.DayOfWeek; var DanUSedmiciString = ""; bool pristupDatimDanomOdobren = false; switch (Convert.ToInt32(DanUSedmici)) { case 0: { DanUSedmiciString = "Nedjelja"; } break; case 1: { DanUSedmiciString = "Ponedjeljak"; } break; case 2: { DanUSedmiciString = "Utorak"; } break; case 3: { DanUSedmiciString = "Srijeda"; } break; case 4: { DanUSedmiciString = "Cetvrtak"; } break; case 5: { DanUSedmiciString = "Petak"; } break; case 6: { DanUSedmiciString = "Subota"; } break; default: { DanUSedmiciString = "Nepoznato"; } break; } var clanarinaSearchRequest = new ClanarinaSearchRequest() { ClanID = clan.Id, UplataZaGodinu = dateTime.Year, UplataZaMjesec = dateTime.Month }; var clanarinaList = await _apiService_Clanarina.Get <List <Model.Clanarina> >(clanarinaSearchRequest); if (clanarinaList.Count == 0) { textMain = "Pristup ogranicen"; textSide = "Niste uplatili clanarinu za " + dateTime.Month + ". mjesec " + dateTime.Year + ". godine"; CameraStopSetup(textMain, textSide); PanelRed(); playBeep(BeepNotOK); return; } var clanarina = clanarinaList[0]; var paketPristupniDaniSearchRequest = new PaketPristupniDaniSearchRequest() { PaketId = clanarina.Paket.Id, }; var paketPristupniDaniList = await _apiService_PaketPristupniDani.Get <List <Model.PaketPristupniDani> >(paketPristupniDaniSearchRequest);//vraca 0 rezultata //Gledamo ima li pristup datim danima foreach (Model.PaketPristupniDani x in paketPristupniDaniList) { if (DanUSedmiciString == x.PristupniDani.DanUSedmici) { pristupDatimDanomOdobren = true; break; } } if (pristupDatimDanomOdobren == false) { textMain = "Pristup ogranicen"; textSide = "Nemate pristup Fitness centru ovim danom(" + DanUSedmiciString + ")"; CameraStopSetup(textMain, textSide); PanelRed(); playBeep(BeepNotOK); return; } else { //Gledamo ima li pristup u datom vremenskom intervalu var paketList = await _apiService_Paket.Get <List <Model.Paket> >(new PaketSearchRequest() { Id = clanarina.PaketId }); var paket = paketList[0]; if (paket.NeogranicenPristup == true) { textMain = "Pristup odobren"; textSide = "Dobrodošli!"; CameraStopSetup(textMain, textSide); PanelGreen(); playBeep(BeepOK); return; } var DateTimeUsporedni = new DateTime(clanarina.Paket.VrijemePristupaOd.Value.Year, clanarina.Paket.VrijemePristupaOd.Value.Month, clanarina.Paket.VrijemePristupaOd.Value.Day, dateTime.Hour, dateTime.Minute, clanarina.Paket.VrijemePristupaOd.Value.Second, clanarina.Paket.VrijemePristupaOd.Value.Millisecond); if (DateTimeUsporedni > clanarina.Paket.VrijemePristupaOd && clanarina.Paket.VrijemePristupaDo > DateTimeUsporedni) { textMain = "Pristup odobren"; textSide = "Dobrodošli!"; CameraStopSetup(textMain, textSide); PanelGreen(); playBeep(BeepOK); return; } else { textMain = "Pristup ogranicen"; textSide = "Pristup imate samo u terminu od " + clanarina.Paket.VrijemePristupaOd.Value.ToShortTimeString() + " do " + clanarina.Paket.VrijemePristupaDo.Value.ToShortTimeString(); CameraStopSetup(textMain, textSide); PanelRed(); playBeep(BeepNotOK); return; } } } } }