public static async Task <int> UpdateDbWithNewLogEvents(DateTime trgDate, A0DbModel db) //todo: remove the dupes into central space { int rowsAddedSaved = 0; try { var t1 = trgDate; var t2 = trgDate.AddDays(.99999); await Task.Run(() => EvLogHelper.GetAllUpDnEvents(t1, t2)).ContinueWith(_ => { try { var dailyEvents = _.Result; if (dailyEvents.Count < 1) { Debug.WriteLine($"==>{trgDate:MMM-dd, ddd}: No events registered for the day."); } else { rowsAddedSaved = DbLogHelper.FindNewEventsToSaveToDb(_.Result, Environment.MachineName, $"Db.EvLog.Explr {trgDate}", db); } } catch (Exception ex) { ex.Log(); rowsAddedSaved = -5; } }, TaskScheduler.FromCurrentSynchronizationContext()); } catch (Exception ex) { ex.Log(); rowsAddedSaved = -1; } return(rowsAddedSaved); }
async void onLoaded_UpdateMdb(object s, System.Windows.RoutedEventArgs e) { var evNo = await EvLogHelper.UpdateEvLogToDb(15, $""); var rprt = $"{(evNo < -3 ? "No" : evNo.ToString())} new events found/stored to MDB file."; App.SpeakFaF(rprt); await Task.Delay(750); }
void jjj() { var h00 = DateTime.Today; var h24 = h00.AddDays(.9999999); var lst = EvLogHelper.GetAllUpDnEvents(h00, h24); foreach (var item in lst) { Debug.WriteLine($"---- {item.Key}, {item.Value}"); } }
async void onLoaded(object s, RoutedEventArgs e) { try { const double _wkDayHrs = 8.5; var ttlWkExpHr = _wkDayHrs * 5; var wkStartsAtHr = 8.25; var now = DateTime.Now; var today = DateTime.Today; var lastSunday = today.AddDays(-(int)today.DayOfWeek); var daySpans = new double[(int)today.DayOfWeek + 1]; var day = 0; for (DateTime d = lastSunday; d <= today; d = d.AddDays(1)) { daySpans[day++] = await EvLogHelper.GetWkSpanForTheDay(d); } var weekSpans = daySpans.Sum(r => r); var expectatio = now.Hour >= wkStartsAtHr + _wkDayHrs ? (today - lastSunday).TotalDays * _wkDayHrs : ((today - lastSunday).TotalDays - 1) * _wkDayHrs + ((now - today).TotalHours - wkStartsAtHr); var percentage = (100.0 * weekSpans / ttlWkExpHr); var leftHrs = ttlWkExpHr - weekSpans; gaugeTor0.MiddlValAnim = percentage * 1.8 - 90; gaugeTor0.OuterValAnim = (100.0 * expectatio / ttlWkExpHr) * 1.8 - 90; gaugeTor0.InnerValAnim = (100.0 * (day - 1) * _wkDayHrs / ttlWkExpHr) * 1.8 - 90; // < target % for the EODay if (leftHrs < _wkDayHrs) // if left is less than a day's worth: display time to leave. { gaugeTor0.GaugeText = $"{weekSpans:N1} / {ttlWkExpHr:N1}\r\n@ {now.AddHours(leftHrs):HH:mm}"; } else { gaugeTor0.GaugeText = $"{weekSpans:N1} / {ttlWkExpHr:N1}\r\n{leftHrs:N1} hr"; } } catch (Exception ex) { ex.Log(); } // catch (Exception ex) { ex.Log(); } }
async void onManualUpdateRequested(object s, RoutedEventArgs e) { ((Button)s).Visibility = Visibility.Collapsed; await App.SpeakAsync($"{await EvLogHelper.UpdateEvLogToDb(15, "ContainerK.onManualUpdateRequested()")} rows saved"); }
}); //addArcDtl(hgt, left, width); void drawUpDnLine(DateTime trgDate, string pc, string rgb) { var pcClr = new SolidColorBrush((Color)ColorConverter.ConvertFromString(rgb)); var ts = new TimeSplit(); //..Trace.Write($">>>-\tdrawUpDnLine(): {trgDate:d} ->> {pc,-16} \t"); tbSummary.Text = "$@#"; try { _ah = canvasBar.ActualHeight; _aw = canvasBar.ActualWidth; var timeA = trgDate; var timeB = trgDate.AddDays(.9999999); var isHere = Environment.MachineName.Equals(pc, StringComparison.OrdinalIgnoreCase); SortedList <DateTime, int> eois; if (isHere) { var localEvLog = EvLogHelper.GetAllUpDnEvents(timeA, timeB); var dbaseEvLog = DbLogHelper.GetAllUpDnEvents(timeA, timeB, pc); eois = localEvLog.Count > dbaseEvLog.Count ? localEvLog : dbaseEvLog; // Jan 2020: whoever has more events wins! } else { eois = DbLogHelper.GetAllUpDnEvents(timeA, timeB, pc); } if (trgDate == DateTime.Today && isHere) { eois.Add(DateTime.Now, 2); // == ((int)EvOfIntFlag.ScreenSaverrUp) } if (eois.Count < 1) { tbSummary.Text = $"{trgDate,16:ddd, MMM dd yyyy} no activities logged on this date."; } else { var eoi0 = eois.FirstOrDefault(); var prevEoiF = eoi0.Value == (int)EvOfIntFlag.ScreenSaverrDn ? EvOfIntFlag.ScreenSaverrUp : eoi0.Value == (int)EvOfIntFlag.BootAndWakeUps ? EvOfIntFlag.ShutAndSleepDn : EvOfIntFlag.Day1stAmbiguos; foreach (var eoi in eois) { addWkTimeSegment(timeA, eoi.Key, prevEoiF, (EvOfIntFlag)eoi.Value, pcClr, ref ts); timeA = eoi.Key; prevEoiF = (EvOfIntFlag)eoi.Value; } var lastScvrUp = (eois.Any(r => r.Value == (int)EvOfIntFlag.ScreenSaverrUp || r.Value == (int)EvOfIntFlag.ShutAndSleepDn) ? eois.Where(r => r.Value == (int)EvOfIntFlag.ScreenSaverrUp || r.Value == (int)EvOfIntFlag.ShutAndSleepDn).Last() : eois.Last()).Key; var finalEvent = eois.Last().Key; ts.TotalDaysUp = (lastScvrUp < finalEvent ? lastScvrUp : finalEvent) - eois.First().Key; tbSummary.Text = $"{trgDate,16:ddd, MMM dd yyyy} {ts.TotalDaysUp,5:h\\:mm} ({ts.WorkedFor:h\\:mm}) "; } tbSummary.Foreground = (trgDate.DayOfWeek == DayOfWeek.Saturday || trgDate.DayOfWeek == DayOfWeek.Sunday) ? cWEd : cWDd; gridvroot.Background = (trgDate.DayOfWeek == DayOfWeek.Saturday || trgDate.DayOfWeek == DayOfWeek.Sunday) ? cPnk : cBlk; } catch (Exception ex) { ex.Pop(); } finally { Trace.WriteLine($" ==> { tbSummary.Text} "); } }