async Task onGenerateAnonces(object x) { Bpr.Beep1of2(); canGenerateAnoncesProp = false; await PostDnldHelper.GenerateAllAndFolderAnons(Db, MiscHelper.DirPlr2); Bpr.Beep2of2(); canGenerateAnoncesProp = true; }
async Task onDnldCast(object x) { Bpr.Beep1of2(); canDnldCast = false; await Task.Delay(9); /*Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); */ Bpr.Beep2of2(); canDnldCast = true; }
async Task FA_() { Bpr.BeepClk(); IsReady = false; await DeleteAllDupesAutoAndManual_F10(); IsReady = true; }
async Task onCutOne(object x) { Bpr.BeepOk(); await PostDnldHelper.DoPostDownloadProcessing(SelectedDnLd); }
async Task F6_() { IsReady = false; Bpr.BeepClk(); await Task.Delay(9); IsReady = true; }
async Task F7_() { IsReady = false; Bpr.BeepClk(); await UpdateDBfromFS(9); IsReady = true; }
async Task F1_() { IsReady = false; Bpr.BeepClk(); await Task.Delay(9); await fastSyncFStoDbSansHashing_Folder(CurrentFolder, true); IsReady = true; }
async Task F3_() { IsReady = false; Bpr.BeepClk(); await findDupesInDbAndDeleteThemFromFS_SUSPENDED(CurrentFolder, -1, "DoubleFolder", -2, MinFileSize); IsReady = true; }
async Task migrate(A0DbMdl db) { Bpr.Beep1of2(); var obsVm = JsonFileSerializer.Load <ObsMainVM>(MainVM.MainVmJsonFile) as ObsMainVM; if (obsVm == null) { MessageBox.Show("No Go"); } else { var srFromJsonWithNote = obsVm.SnRts.Where(r => !string.IsNullOrEmpty(r.Notes)); try { if (db.SessionResults.Any(r => r.Note != null && (r.Note == "zz" || r.Note.StartsWith("from fs at")))) { db.SessionResults.Where(r => r.Note != null && (r.Note == "zz" || r.Note.StartsWith("from fs at"))).ToList().ForEach(r => r.Note = ""); } tbInfo.Text = $"Json: \t{obsVm.SnRts.Length} total runs incl-g {srFromJsonWithNote.Count()} with note;\r\nDB: \t{db.SessionResults.Count()} \r\n"; Debug.WriteLine($"::>{tbInfo.Text}"); await Task.Yield(); Bpr.BeepClk(); int brandNew = 0, noMatchesInDb = 0, alreadySame = 0, updated = 0; foreach (var srjs in obsVm.SnRts) { var srdb0 = db.SessionResults.FirstOrDefault(d => d.UserId == srjs.UserId && d.Duration == srjs.Duration /*drn(srjs.Duration)*/ && d.ExcerciseName == srjs.ExcerciseName && d.PokedIn == srjs.PokedIn && Math.Abs((d.DoneAt - srjs.DoneAt.DateTime.AddMinutes(srjs.DoneAt.OffsetMinutes)).TotalSeconds) < 5); if (srdb0 == null) { db.SessionResults.Add(new SessionResult { DoneAt = srjs.DoneAt.DateTime.AddMinutes(srjs.DoneAt.OffsetMinutes), UserId = srjs.UserId, Duration = srjs.Duration /*drn(srjs.Duration)*/, ExcerciseName = srjs.ExcerciseName, PokedIn = srjs.PokedIn, Note = srjs.Notes }); brandNew++; } } try { foreach (var srjs in srFromJsonWithNote) { var srdb2 = db.SessionResults.FirstOrDefault(d => Math.Abs((d.DoneAt - srjs.DoneAt.DateTime.AddMinutes(srjs.DoneAt.OffsetMinutes)).TotalSeconds) < 5); if (srdb2 == null) { db.SessionResults.Add(new SessionResult { DoneAt = srjs.DoneAt.DateTime.AddMinutes(srjs.DoneAt.OffsetMinutes), UserId = srjs.UserId, Duration = srjs.Duration /*drn(srjs.Duration)*/, ExcerciseName = srjs.ExcerciseName, PokedIn = srjs.PokedIn, Note = srjs.Notes }); noMatchesInDb++; } else { if (srjs.Notes.Equals(srdb2.Note)) { alreadySame++; } else { updated++; srdb2.Note = srjs.Notes; } } } } catch (Exception ex) { Debug.WriteLine(ex); } tbInfo.Text += $" brandNew {brandNew}, notFoundInDb {noMatchesInDb }, alreadySame {alreadySame }, updated {updated}\n"; Debug.WriteLine($"::>{tbInfo.Text}"); var rv = await db.TrySaveReportAsync(); tbInfo.Text += $" {rv}"; Bpr.Beep2of2(); } catch (Exception ex) { tbEror.Text = ex.Log(); } finally { new DbExplorer2().Show(); } } }
async Task filterStart(string csvFilterString) { if (!_loaded) { return; } Debug.WriteLine($"■■■ filterStart()"); App.Synth.SpeakAsyncCancelAll(); Bpr.BeepFD(12000, 33); // wake monitor speakers await reLoadTxCore(); if (string.IsNullOrEmpty(csvFilterString)) { App.Synth.SpeakAsync("Clear!"); filterTxns(csvFilterString, _txCatgry); } else { var ta = csvFilterString.Split(new[] { '`', '>', '\\', '/' }); if (ta.Length > 1) { App.Synth.SpeakAsync($"{ta.Length}-part filter"); if (string.IsNullOrEmpty(ta[0]) && string.IsNullOrEmpty(ta[1])) { App.Synth.SpeakAsync("Still Empty."); return; } if (!string.IsNullOrEmpty(ta[0])) { if (!decimal.TryParse(ta[0], out var amt)) { App.Synth.SpeakAsync("1st must be number."); return; } if (!decimal.TryParse(tRng.Text, out var rng)) { tRng.Text = (rng = 0m).ToString(); } //App.Synth.SpeakAsync("Multi."); filterTxns(csvFilterString.Substring(ta[0].Length + 1), _txCatgry, amt, rng); } else if (!string.IsNullOrEmpty(ta[1])) // explicit by string { //App.Synth.SpeakAsync("Filter by text."); filterTxns(ta[1], _txCatgry); } } else // == 1 { if (decimal.TryParse(csvFilterString, out var amt)) { if (!decimal.TryParse(tRng.Text, out var rng)) { tRng.Text = (rng = 0m).ToString(); } //App.Synth.SpeakAsync("Filter by money."); filterTxns("", _txCatgry, amt, rng); } else { //App.Synth.SpeakAsync("Filter by text."); filterTxns(csvFilterString, _txCatgry); } } } _txCoreV2_Root_VwSrc.Source = _core; if (chkInfer.IsChecked == true) { var catIds = _core.Select(r => r.TxCategory.Id).Distinct().Where(r => r != 3); // Debug.WriteLine($"catIds.Count() = {catIds.Count()}"); filterCategoryByIdList(catIds); } updateTitle(); Bpr.OkFaF(); }
async void onDbSave(object sender, RoutedEventArgs e) { Bpr.Beep1of2(); tbInfo.Text = (await _db.TrySaveReportAsync()).report; Bpr.Beep2of2(); }
async Task finishTheSession() { var sw = Stopwatch.StartNew(); try { IsInSsn = false; //todo: why so slow in reflecting in the UI??? await Task.Yield(); Bpr.BeepClk(); if (!_swMain.IsRunning || _swMain.ElapsedTicks == 0) // if has not been started yet. { return; } _swMain.Stop(); if (PupilInput.Length == 0) { return; } if (PupilInput.Trim().Length < LessonLen - 3) { #if !DEBUG synth.SpeakAsyncCancelAll(); await synth.SpeakAsync($"Does not count: Too short!"); #endif return; } if (!IsCorrect) { synth.SpeakAsyncCancelAll(); synth.SpeakFaF($"Does not count: Mistyped! Always finish typing till the last letter. Pressing Escape button ruins/discards the lesson."); return; } var prevRcrdCpm = RcrdCpm; var thisResult = new dbMdl.SessionResult { Duration = _swMain.Elapsed, ExcerciseName = DashName, PokedIn = PupilInput.Length, UserId = SelectUser, Note = $"{Environment.MachineName.Substring(0, 2).ToLower()}{Environment.MachineName.Substring(Environment.MachineName.Length - 1)}", DoneAt = DateTime.Now }; if (thisResult.CpM < .333 * prevRcrdCpm) { synth.SpeakAsyncCancelAll(); synth.SpeakFaF($"Does not count: Very-very-very- V. E. R. Y. slow!"); return; } //var pb = new PromptBuilder(); for (int i = 0; i < 10; i++) { pb.AppendText($"{1 + i} mississippi ", i % 2 > 0 ? PromptEmphasis.Strong : PromptEmphasis.Reduced); } synth.SpeakFaF(pb); // synth.SpeakFaF("The end. Storing the results... 1 mississippi 2 mississippi 3 mississippi 4 mississippi 5 mississippi 6 mississippi 7 mississippi 8 mississippi 9 mississippi 10 mississippi 11 mississippi 12 mississippi 13 mississippi 14 mississippi 15 mississippi 16 mississippi 17 mississippi 18 mississippi 19 "); await Task.Delay(3333); var swStoring = Stopwatch.StartNew(); if (thisResult.CpM > prevRcrdCpm) { thisResult.IsRecord = true; } using (var db = dbMdl.A0DbMdl.GetA0DbMdlAzureDb) { //2019-12/ _chartUC.LoadDataToChart(CurUserCurExcrsRsltLst.OrderByDescending(r => r.DoneAt).Take(10).ToList()); //2019-12/ await Task.Delay(50); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync("adding"); /**/ db.SessionResults.Add(SelectSnRt = thisResult); /**/ // synth.SpeakAsyncCancelAll(); await synth.Speak("added"); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync("seting"); /**/ await updateSettings(db); /**/ // synth.SpeakAsyncCancelAll(); await synth.Speak("setingsed"); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync("saving"); /**/ await db.TrySaveReportAsync(); /**/ // synth.SpeakAsyncCancelAll(); await synth.Speak("saved"); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync("loading"); /**/ loadListsFromDB(DashName, SelectUser, db); /**/ // synth.SpeakAsyncCancelAll(); await synth.Speak("loaded"); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync("todoing"); /**/ await updateDoneTodo(SelectUser, synth, db); /**/ // synth.SpeakAsyncCancelAll(); await synth.Speak("todoed"); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync("charting"); /**/ _chartUC.LoadDataToChart(CurUserCurExcrsRsltLst.OrderByDescending(r => r.DoneAt).Take(10).ToList()); /**/ // synth.SpeakAsyncCancelAll(); await synth.Speak("charted"); } synth.SpeakAsyncCancelAll(); await synth.SpeakAsync($"took {swStoring.Elapsed.TotalSeconds:N0} seconds."); IsFocusedPI = false; IsFocusedSB = true; IsFocusedSB = false; IsFocusedSB = true; //Task.Run(() => { if (thisResult.CpM > prevRcrdCpm) { SoundPlayer.PlaySessionFinish_Good(); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync($"Wow! Congratulations! That is actually a record! {thisResult.CpM - prevRcrdCpm} characters per minute faster or {100 * (thisResult.CpM - prevRcrdCpm) / prevRcrdCpm} percent improvement!"); } else { //Jun 2019: too old: SoundPlayer.PlaySessionFinish_Baad(); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync($"{thisResult.CpM}"); if (TodoToday > 0) { var t1 = ( thisResult.CpM > .99 * prevRcrdCpm ? $"OMG! That was really-really R-E-A-L-L-Y close. I am so excited! New record is coming up!" : thisResult.CpM > .98 * prevRcrdCpm ? $"OMG! That was really REALLY close. New record is coming." : thisResult.CpM > .97 * prevRcrdCpm ? $"Oh my god! That was awesome!" : thisResult.CpM > .96 * prevRcrdCpm ? $"Oh my god! That was amazing - almost a brand new record!" : thisResult.CpM > .95 * prevRcrdCpm ? $"Brilliant!" : thisResult.CpM > .94 * prevRcrdCpm ? $"Perfect! Almost ..." : thisResult.CpM > .93 * prevRcrdCpm ? $"Well done! Keep it up! " : thisResult.CpM > .92 * prevRcrdCpm ? $"Fantastic! " : thisResult.CpM > .91 * prevRcrdCpm ? $"Exciting!" : thisResult.CpM > .90 * prevRcrdCpm ? $"Looks promising..." : thisResult.CpM > .89 * prevRcrdCpm ? $"Looking pretty." : thisResult.CpM > .88 * prevRcrdCpm ? $"Looking good..." : thisResult.CpM > .87 * prevRcrdCpm ? $"Even nicer!" : thisResult.CpM > .86 * prevRcrdCpm ? $"N. I. C. E. Nice!" : thisResult.CpM > .85 * prevRcrdCpm ? $"Getting there..." : thisResult.CpM > .84 * prevRcrdCpm ? $"Nice! But could be nicer..." : thisResult.CpM > .83 * prevRcrdCpm ? $"Well executed!" : thisResult.CpM > .82 * prevRcrdCpm ? $"Well done!" : thisResult.CpM > .81 * prevRcrdCpm ? $"Better-ish!" : thisResult.CpM > .80 * prevRcrdCpm ? $"Better!" : thisResult.CpM > .69 * prevRcrdCpm ? $"Take a deep breath, and - double the effort!" : thisResult.CpM > .78 * prevRcrdCpm ? $"Not bad!" : thisResult.CpM > .77 * prevRcrdCpm ? $"Good! But needs improvement..." : thisResult.CpM > .76 * prevRcrdCpm ? $"Good! But could be better..." : thisResult.CpM > .75 * prevRcrdCpm ? $"Good! But could be much better..." : thisResult.CpM > .74 * prevRcrdCpm ? $"Good! But could be much-much better..." : thisResult.CpM > .73 * prevRcrdCpm ? $"Remember: making an effort is all what counts." : thisResult.CpM > .72 * prevRcrdCpm ? $"Good! But not good..." : thisResult.CpM > .71 * prevRcrdCpm ? $"Try to make an effort! " : thisResult.CpM > .70 * prevRcrdCpm ? $"Try a tiny bit harder! " : thisResult.CpM > .69 * prevRcrdCpm ? $"A deep breath, and - buckle up!" : thisResult.CpM > .68 * prevRcrdCpm ? $"Kind of getting there..." : thisResult.CpM > .67 * prevRcrdCpm ? $"Still too slow..." : thisResult.CpM > .66 * prevRcrdCpm ? $"Kind of slow..." : thisResult.CpM > .65 * prevRcrdCpm ? $"Kind of sluggish..." : thisResult.CpM > .64 * prevRcrdCpm ? $"That was a snail pace, if you ask me." : thisResult.CpM > .63 * prevRcrdCpm ? $"Warm up or not, but move it, will you!" : thisResult.CpM > .62 * prevRcrdCpm ? $"Warm up or not, but it must be faster!" : thisResult.CpM > .61 * prevRcrdCpm ? $"I'll take it as a joke." : thisResult.CpM > .60 * prevRcrdCpm ? $"I'll take it as a warm up." : thisResult.CpM > .59 * prevRcrdCpm ? $"Hey you! Be serious!" : thisResult.CpM > .58 * prevRcrdCpm ? $"That was not even interesting..." : thisResult.CpM > .57 * prevRcrdCpm ? $"Is anybody awake up there?" : thisResult.CpM > .56 * prevRcrdCpm ? $"You typed faster a year ago." : thisResult.CpM > .55 * prevRcrdCpm ? $"Hey you! Wake up already!" : thisResult.CpM > .54 * prevRcrdCpm ? $"You typed faster when you were 3." : thisResult.CpM > .53 * prevRcrdCpm ? $"Hello-o-o-o-o!" : thisResult.CpM > .52 * prevRcrdCpm ? $"That was just silly!" : thisResult.CpM > .51 * prevRcrdCpm ? $"Remember: slower than this does not count." : thisResult.CpM > .50 * prevRcrdCpm ? $"Just barely made it: a bit slower - and it would not count. " : thisResult.CpM > .47 * prevRcrdCpm ? $"Za-ra-za." : thisResult.CpM > .45 * prevRcrdCpm ? $"AFAIK, Your grandpa types faster." : thisResult.CpM > .40 * prevRcrdCpm ? $"Your grandma types faster." : thisResult.CpM > .33 * prevRcrdCpm ? $"OK, monkey, I will count in this disgracefully slow run this time, but you'd better do not repeat such a horrible performance. " : $"This message never played, right? Are you kidding me! This is too slow and is not counted."); synth.SpeakAsyncCancelAll(); await synth.SpeakAsync($"{t1} {DoneToday} down; {TodoToday} to go."); return; } } runTreatIfAny(); Trace.WriteLineIf(ExnLogr.AppTraceLevelCfg.TraceWarning, $"{DateTime.Now:yy.MM.dd-HH:mm:ss.f} +{(DateTime.Now - App.StartedAt):mm\\:ss\\.ff} *** finishTheSession() done in {sw.Elapsed.TotalSeconds:N1} sec."); }//);//.ContinueWith(_ => onF1_UpdateCpmRecord(), TaskScheduler.FromCurrentSynchronizationContext()); } finally { } }
public string BuildEdi(List <Patient> patientList, InsuranceCompany insurance, BillingProvider billingProvider) { var buildEdi = new StringBuilder(); //Begin ISA var buildisa = new Isa(); buildEdi.Append(buildisa.BuildIsa()); //Begin GS var buildGs = new Gs(); buildEdi.Append(buildGs.BuildGs()); //Begin ST var buildSt = new St(); buildEdi.Append(buildSt.BuildSt()); //Begin BPR var buildBpr = new Bpr(); buildEdi.Append(buildBpr.BuildBpr(insurance)); //Build TRN var buildTrn = new Trn(); buildEdi.Append(buildTrn.BuildTrn(insurance)); //Ref Segment conditional, not included at this time //REF Receiver Identification //REF01 Receiver Reference Number //REF02 Receiver Reference Identification //Build DTM Loop Production Date var buildDtm = new Dtm(); buildEdi.Append(buildDtm.BuildDtm(patientList)); //Build N1 Insurance Company Identification Segment 1000A var buildNOne = new N1(); buildEdi.Append(buildNOne.BuildNOne(insurance)); //BuildN3 Insurance Company Identification Segment 1000A var buildNThree = new N3(); buildEdi.Append(buildNThree.BuildNThree(insurance)); // Build N4 Insurance Company Identification 1000A var buildNFour = new N4(); buildEdi.Append(buildNFour.BuildN4(insurance)); //Build Ref Insurance Company Identification 1000A var buildRef = new Ref(); buildEdi.Append(buildRef.BuildRef()); //Build Per Insurance Company Identification 1000A var buildPer = new Per(); buildEdi.Append(buildPer.BuildPerPhone()); //Build Per Insurance Company Website Information 1000A buildEdi.Append(buildPer.BuildPerWebSite()); //Build N1 Provider Identifier Segment 1000B buildEdi.Append(buildNOne.BuildNOne(billingProvider)); //Build N3 Provider Identifier Segment 1000B buildEdi.Append(buildNThree.BuildNThree(billingProvider)); //Build N4 Provider Identifier Segment 1000B buildEdi.Append(buildNFour.BuildN4(billingProvider)); //Build Ref Provider Identifier 1000B buildEdi.Append(buildRef.BuildRefAdditionalPayee()); buildEdi.Append(buildRef.BuildRefAdditionalPayeeTwo()); //LX Segment 2000B var buildLx = new Lx(); buildEdi.Append(buildLx.BuildLx()); //TS3 2000B NOT USED //TS2 2000B NOT USED //CLP Segment 2100 foreach (Patient patient in patientList) { var buildClp = new Clp(); buildEdi.Append(buildClp.BuildClp(patient)); var buildNmOne = new Nm1(); buildEdi.Append(buildNmOne.BuildNm1(patient)); //MIA Inpatient Adjudication Information //MOA Outpatient Adjudication Information //REF Other CLaim Related Identification //Ref Rendering Provider Identifier 2100 buildEdi.Append(buildRef.BuildRef(patient.Provider)); //DTM Statement From or To Date 2100 buildEdi.Append(buildDtm.BuildDtm(patient)); //PER Claim Contact Information 2100 //SVC Level 2110 var buildSvc = new Svc(); buildEdi.Append(buildSvc.BuildSvc(patient.Charge)); buildEdi.Append(buildDtm.BuildDtm(patient.Charge)); var buildCas = new Cas(); if (patient.Charge.AdjustmentList != null) { buildEdi.Append(buildCas.BuildCas(patient.Charge.AdjustmentList)); buildEdi.Append(buildCas.BuildCas(patient.Charge)); } else { buildEdi.Append(buildCas.BuildCas(patient.Charge)); } buildEdi.Append(buildRef.BuildRefControlNumber()); var buildAmt = new Amt(); buildEdi.Append(buildAmt.BuildAmt(patient.Charge)); //QTY 2110 //LQ 2110 //LQ01 Service Line Remittance Remark Code 1 //LQ02 Service Line Remittance Remark Code 2 foreach (AddonCharge addon in patient.Charge.AddonChargeList) { buildEdi.Append(buildSvc.BuildSvc(addon)); buildEdi.Append(buildCas.BuildCas(addon.AdjustmentList)); buildEdi.Append(buildRef.BuildRefControlNumber()); buildEdi.Append(buildAmt.BuildAmt(addon)); } } var buildSe = new Se(); buildEdi.Append(buildSe.BuildSe()); var buildGe = new Ge(); buildEdi.Append(buildGe.BuildGe()); var buildIea = new Iea(); buildEdi.Append(buildIea.BuildIea()); return(buildEdi.ToString()); }