public static async Task NaložiRezultate() { // naloži vaje FileInfo file = new FileInfo("vaje.json"); var result = File.ReadAllText("vaje.json"); List <Class1> TotalList = new List <Class1>(); var task = Task.Factory.StartNew(() => JsonConvert.DeserializeObject <List <Class1> >(result)); TotalList = await task; //TotalList = JsonConvert.DeserializeObject<List<Class1>>(result); foreach (var d in TotalList) { Vaje r = new Vaje(); TipkanjeDataGroup group = null; r.vsebina = new ObservableCollection <Vsebina>(); r.Id = d.Id; foreach (var a in d.vsebina) { Vsebina v = new Vsebina(); v.vrstica = a.vrstica; v.tekst = a.tekst; r.vsebina.Add(v); } try { r.zadnjicReseno = DateTime.Parse(d.zadnjicReseno); } catch { r.zadnjicReseno = null; } r.reseno = d.reseno; r.napake = d.napake; r.porabljencas = d.porabljencas; r.slika = new BitmapImage(new Uri(d.slika, UriKind.Relative)); //iz stringa v sliko r.test = d.test; var list1 = d.crke; r.crke = new string[list1.Count()]; int št = 0; foreach (var a in list1) { r.crke[št] = a; št++; } var skupina = d.group; group = _pvm.AllGroups.FirstOrDefault(s => s.Id.Equals(d.group.key)); if (group == null) { group = CreateTipkanjeGroup(skupina); } r.Group = group; if (group != null) { group.Items.Add(r); } _pvm.Vaja.Add(r); } }
private void NovaVrstica() { štVrstice++; štČrk = 0; txtVnos.Text = ""; udarci = (int)((številoUdarcev - napake * 25) / ((vm.Sekunde + vm.Minute * 60) / 60)); if (štVrstice > 2) { KonecVaje(); return; } var vrstice = VsebinaVrstic.ToList(); trenutnaVrstica = (Vsebina)vrstice[štVrstice]; vsehČrkVVaji += trenutnaVrstica.tekst.Length; grd.SelectedIndex = štVrstice; //tbOK.Text = "Pravilno!"; //tbPomoc.Visibility = Visibility.Collapsed; }
private void KonecVaje() { vm.Stop(); var as = (int)vm.Sekunde + vm.Minute * 60; var hitrost = (int)((številoUdarcev - napake * 25) / (as / 60.0)); //preveri nvProcentih.Text = string.Format("{0,5:P2}", (double)napake / vsehČrkVVaji); ud.Text = številoUdarcev + ""; asSkupaj = asSkupaj + (int)vm.Sekunde + vm.Minute * 60; napakeSkupaj = napakeSkupaj + napake; udarciSkupaj = udarciSkupaj + številoUdarcev; štČrkSkupaj = štČrkSkupaj + vsehČrkVVaji; txtNapake.Text = napakeSkupaj + ""; txtN.Text = napake.ToString(); txtH.Text = hitrost.ToString(); double procentS = Math.Round((double)napakeSkupaj / štČrkSkupaj * 100, 2) / 100.0;; int hitrostS = (int)((udarciSkupaj - napakeSkupaj * 25) / (asSkupaj / 60.0)); if (zaporedneŠtevilke != null) { if (zaporedneŠtevilke.Length < 40) { if (zaporedneŠtevilke == "") { zaporedneŠtevilke = št + ""; } else { zaporedneŠtevilke = zaporedneŠtevilke + ", " + št; } } else { int zadnja = zaporedneŠtevilke.LastIndexOf(','); if (zadnja != -1) { zaporedneŠtevilke = zaporedneŠtevilke.Substring(0, zadnja) + "..." + št; } } } else { zaporedneŠtevilke = št + ""; } txtŠtevilke.Text = zaporedneŠtevilke; // uds.Text = udarciSkupaj.ToString(); if (procentS * 100 <= 0.2) { uds1.Text = "5"; } else if (procentS * 100 <= 0.4) { uds1.Text = "4"; } else if (procentS * 100 <= 0.7) { uds1.Text = "3"; } else if (procentS * 100 <= 0.99) { uds1.Text = "2"; } else { uds1.Text = "1"; } if (hitrostS >= 160) { uds.Text = "5"; } else if (hitrostS >= 143) { uds.Text = "4"; } else if (hitrostS >= 126) { uds.Text = "3"; } else if (hitrostS >= 110) { uds.Text = "2"; } else { uds.Text = "1"; } //piši v json datoteko nazaj štČrk = 0; štVrstice = 0; trenutnaVrstica = null; txtVnos.IsEnabled = false; btnZačni.Content = "Naslednja vaja"; btnZačni.IsEnabled = true; //if (načinDela != NačinDela.Test) // backButton.IsEnabled = true; //lahko začne znova, samo če ima cikel vaj, sicer iz vaje ne more iti na drugo vajo kot eno naprej //tbOK.Text = ""; grd.SelectedIndex = 0; var način = načinDela + " " + oba[1]; //prava pozicija var nov = PrivzetiViewModel.SetItemR(št, napake, as, številoUdarcev, vsehČrkVVaji, način, up, opisS); //var busyIndicator = PrepareIndeterminateTask("Počakaj trenutek, rezultati samo na tem računalniku"); PrivzetiViewModel.PišiRezultate(); // CleanUpIndeterminateTask(busyIndicator); btnZačni.Focus(); }
private void ZačniZVajo(object sender, RoutedEventArgs e) { btnPrav1.Visibility = Visibility.Collapsed; btnPrav2.Visibility = Visibility.Collapsed; btnPrav3.Visibility = Visibility.Collapsed; grd.SelectedIndex = 0; if (btnZačni.Content.Equals("Začni z vajo")) { btnZačni.IsEnabled = false; štVrstice = 0; var vrstice = VsebinaVrstic.ToList(); trenutnaVrstica = (Vsebina)vrstice[štVrstice]; txtVnos.IsEnabled = true; vm = (StoparicaViewModel)ura.Resources["vm"]; vm.Start(); txtVnos.Focus(); štČrk = 0; napake = 0; številoUdarcev = 0; vsehČrkVVaji += trenutnaVrstica.tekst.Length; } else //naslednja vaja { var a = new ZaPagePayload2(); //če si v načinu dela je prof preveri ali je že konec sklopa vaj //ne na naslednjo številko, ampak na naslednjo vajo v sklopu teh vaj - v načinu jeProf if (št != številkeVaj[štVaj - 1]) // if (pomžniŠtevec < štVaj - 1) { //naslednja vaja for (int k = 0; k < štVaj; k++) { if (številkeVaj[k] == št) { pomžniŠtevec = k; break; } } pomžniŠtevec++; št = številkeVaj[pomžniŠtevec]; a.št = št; a.n = načinDela + " " + oba[1]; a.napakeSkupaj = napakeSkupaj; a.štČrkSkupaj = štČrkSkupaj; a.številoUdarcevSkupaj = udarciSkupaj; a.asSkupaj = asSkupaj; a.vsehVajSkupaj = štVaj; a.številkeVajZaDan = številkeVaj; a.trenutnaPozicijaVaj = pomžniŠtevec; a.opisS = opisS; a.imeD = tekstDatoteke; a.zaporedneŠtevilke = zaporedneŠtevilke; } else { //končaj - v načinu test je treba tukaj nekaj narediti var r = "Statistika za " + načinDela + " za skupino " + opisS; r += "\nŠtevilo udarcev " + udarciSkupaj; r += "\nČas skupaj " + asSkupaj + "s"; r += "\nNapake " + napakeSkupaj; var m = Xceed.Wpf.Toolkit.MessageBox.Show("Teksta je konec, lahko ga ponoviš \n" + r, "Strojepisje", MessageBoxButton.OK, MessageBoxImage.Information); if (načinDela == NačinDela.Test) { Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Render, new Action(() => { var navWindow = Window.GetWindow(this) as NavigationWindow; if (navWindow != null) { navWindow.ShowsNavigationUI = true; } })); } //this.NavigationService.Navigate(new VajeTekst()); return; } try { this.NavigationService.Navigate(new PoVajahTekst(a)); } catch { var a1 = new ZaPagePayload2(); a1.št = številkeVaj[0]; //1.2.2019 - ponovi vse skupaj a1.n = načinDela + " " + oba[1]; a1.zaporedneŠtevilke = ""; this.NavigationService.Navigate(new PoVajahTekst(a1)); } } }
private void ZačniZVajo(object sender, RoutedEventArgs e) { btnPrav1.Visibility = Visibility.Collapsed; btnPrav2.Visibility = Visibility.Collapsed; btnPrav3.Visibility = Visibility.Collapsed; grd.SelectedIndex = 0; if (btnZačni.Content.Equals("Začni z vajo")) { btnZačni.IsEnabled = false; štVrstice = 0; var vrstice = VsebinaVrstic.ToList(); trenutnaVrstica = (Vsebina)vrstice[štVrstice]; txtVnos.IsEnabled = true; vm = (StoparicaViewModel)ura.Resources["vm"]; vm.Start(); txtVnos.Focus(); štČrk = 0; napake = 0; btnNovaVaja.IsEnabled = false; // backButton.IsEnabled = false; mogoče v vrstici, kjer ga imaš //barNacin.IsEnabled = false; številoUdarcev = 0; vsehČrkVVaji += trenutnaVrstica.tekst.Length; } else { var a = new ZaPagePayload(); //če si v načinu dela je prof preveri ali je že konec sklopa vaj //ne na naslednjo številko, ampak na naslednjo vajo v sklopu teh vaj - v načinu jeProf if (!jeProf) { št++; a.št = št; a.n = načinDela + " " + oba[1]; a.napakeSkupaj = napakeSkupaj; a.štČrkSkupaj = štČrkSkupaj; a.številoUdarcevSkupaj = udarciSkupaj; a.asSkupaj = asSkupaj; a.zaporedneŠtevilke = zaporedneŠtevilke; } else { if (št != številkeVaj[štVaj - 1]) //ni bila zadnja vaja v tem sklopu //if (pomžniŠtevec < štVaj - 1) { //naslednja vaja //pomžniŠtevec++; //dobi vajo z številko vaje št v tabeli številkeVaj for (int k = 0; k < štVaj; k++) { if (številkeVaj[k] == št) { pomžniŠtevec = k; break; } } pomžniŠtevec++; št = številkeVaj[pomžniŠtevec]; a.št = št; a.n = načinDela + " " + oba[1]; a.napakeSkupaj = napakeSkupaj; a.štČrkSkupaj = štČrkSkupaj; a.številoUdarcevSkupaj = udarciSkupaj; a.asSkupaj = asSkupaj; a.vsehVajSkupaj = štVaj; a.številkeVajZaDan = številkeVaj; a.trenutnaPozicijaVaj = pomžniŠtevec; a.opisS = opisS; a.zaporedneŠtevilke = zaporedneŠtevilke; } else { //končaj - v načinu test je treba tukaj nekaj narediti var r = "Statistika za " + načinDela + " za skupino " + opisS; r += "\nŠtevilo udarcev " + udarciSkupaj; r += "\nČas skupaj " + asSkupaj + "s"; r += "\nNapake " + napakeSkupaj; var m = Xceed.Wpf.Toolkit.MessageBox.Show("Ta sklop si končal, lahko ga ponoviš ali se vrneš na začetni zaslon\n" + r); if (načinDela == NačinDela.Test) { Dispatcher.BeginInvoke(System.Windows.Threading.DispatcherPriority.Render, new Action(() => { // var navWindow = this as Page; var navWindow = Window.GetWindow(this) as NavigationWindow; if (navWindow != null) { navWindow.ShowsNavigationUI = true; } //this.ShowsNavigationUI = false; })); } return; } } try { this.NavigationService.Navigate(new PoVajah(a)); } catch { var a1 = new ZaPagePayload(); if (jeProf) { a1.št = številkeVaj[0]; a1.zaporedneŠtevilke = ""; } else { a1.št = št; a1.zaporedneŠtevilke = ""; } a1.n = načinDela + " " + oba[1]; this.NavigationService.Navigate(new PoVajah(a1)); } } }