public void Execute(object parameter) { if (!CanExecute(parameter)) { return; } var entry = (TimeReportEntryViewModel)parameter; if (entry.Type == TimeType.Regular) { if (entry.ItemId < 0) { return; } var v = TimeDataInterface.DeleteTime(entry.ItemId); App.ToastMe(v ? StringResources.AddTimePage_Messages_TimeDeleteSuccess : StringResources.AddTimePage_Messages_TimeDeleteFailed); } else { if (entry.ItemId < 0) { return; } bool v = RBCTimeDataInterface.DeleteTime(entry.ItemId); App.ToastMe(v ? StringResources.AddRBCTimePage_DeleteConfirmation : StringResources.AddRBCTimePage_DeleteFailed); } }
public bool ConvertToRBCTime() { var rtd = new RBCTimeData { Minutes = TimeData.Minutes, Date = TimeData.Date, Notes = TimeData.Notes }; return(DeleteTime() && RBCTimeDataInterface.AddOrUpdateTime(ref rtd)); }
public bool DeleteTime() { bool v = _rbcTimeData.ItemID >= 0 && RBCTimeDataInterface.DeleteTime(RBCTimeData); if (v) { _rbcTimeData = null; OnPropertyChanged("RBCTimeData"); } return(v); }
/// <summary> /// Constructor for the Application object. /// </summary> public App() { // Ensure the current culture passed into bindings // is the OS culture. By default, WPF uses en-US // as the culture, regardless of the system settings. LocalizationManager.GlobalStringLoader = new TelerikStringLoader(); Thread.CurrentThread.CurrentCulture = CultureInfo.CurrentUICulture; Thread.CurrentThread.CurrentUICulture = CultureInfo.CurrentUICulture; var radDiagnostics = new RadDiagnostics(); radDiagnostics.EmailTo = "*****@*****.**"; radDiagnostics.IncludeScreenshot = true; radDiagnostics.Init(); (App.Current.Resources["PhoneAccentBrush"] as SolidColorBrush).Color = Color.FromArgb(0xFF, 0xD2, 0xDA, 0x86); _settingsProvider = new SettingsProvider(); // Global handler for uncaught exceptions. UnhandledException += Application_UnhandledException; // Standard Silverlight initialization InitializeComponent(); // Phone-specific initialization InitializePhoneApplication(); // Show graphics profiling information while debugging. if (Debugger.IsAttached) { // Display the current frame rate counters. Current.Host.Settings.EnableFrameRateCounter = false; // Show the areas of the app that are being redrawn in each frame. //Application.Current.Host.Settings.EnableRedrawRegions = true; // Enable non-production analysis visualization mode, // which shows areas of a page that are handed off to GPU with a colored overlay. //Application.Current.Host.Settings.EnableCacheVisualization = true; // Disable the application idle detection by setting the UserIdleDetectionMode property of the // application's PhoneApplicationService object to Disabled. // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run // and consume battery power when the user is not using the phone. PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; } TimeDataInterface.CheckDatabase(); ReturnVisitsInterface.CheckDatabase(); RvPreviousVisitsDataInterface.CheckDatabase(); RBCTimeDataInterface.CheckDatabase(); TerritoryCardsInterface.CheckDatabase(); StreetBuildingInterface.CheckDatabase(); House2HouseRecordsInterface.CheckDatabase(); }
/// <summary> /// Sends the service report. /// </summary> private void SendServiceReport() { var from = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddMonths(-1); DateTime tod = new DateTime(from.Year, from.Month, 1).AddMonths(1).AddDays(-1); string body = string.Format(StringResources.MainPage_Report_Header, from); TimeData[] entries = Reporting.BuildTimeReport(from, tod, SortOrder.DateOldestToNewest); int tTime = 0; int tMags = 0; int tBks = 0; int tBros = 0; int tRv = 0; int tBs = 0; int tTs = 0; foreach (TimeData e in entries) { tTime += e.Minutes; tMags += e.Magazines; tBks += e.Books; tBros += e.Brochures; tRv += e.ReturnVisits; tBs += e.BibleStudies; tTs += e.Tracts; } body += string.Format(StringResources.MainPage_Report_Hours, ((double)tTime / 60.0)); var x = RBCTimeDataInterface.GetMonthRBCTimeTotal(from); body += x > 0 ? string.Format(StringResources.MainPage_Report_AuxHours, ((double)x / 60.0)) : string.Empty; body += tMags > 0 ? string.Format(StringResources.MainPage_Report_Mags, tMags) : string.Empty; body += tBks > 0 ? string.Format(StringResources.MainPage_Report_Books, tBks) : string.Empty; body += tBros > 0 ? string.Format(StringResources.MainPage_Report_Brochures, tBros) : string.Empty; body += tTs > 0 ? string.Format(StringResources.MainPage_Report_Tracts, tTs) : string.Empty; body += tRv > 0 ? string.Format(StringResources.MainPage_Report_RVs, tRv) : string.Empty; body += tBs > 0 ? string.Format(StringResources.MainPage_Report_BibleStudies, tBs) : string.Empty; Reporting.SendReport(body); }
/// <summary> /// Loads the time report. /// </summary> /// <param name="entries">The entries.</param> public void LoadTimeReport(TimeData[] entries) { if (!IsTimeReportDataLoading) { IsTimeReportDataLoading = true; OnPropertyChanged("IsTimeReportDataLoading"); icReport.Clear(); lbTimeEntries.Clear(); _timeReportTotal = 0; } int summaryMinTotal = 0; if (entries.Length <= 0) { return; } int month = entries[0].Date.Month; int year = entries[0].Date.Year; var summary = new TimeReportSummaryModel(); var rtdEntries = new List <RBCTimeData>(); //ListBox<int> rvList = new ListBox<int>(); foreach (TimeData td in entries) //total regular time entries //build total number for the report. { _timeReportTotal += td.Minutes; //summary data start if (month != td.Date.Month) { summary.Time = string.Format(StringResources.TimeReport_HoursAndMinutes, (summaryMinTotal / 60), summaryMinTotal > 0 ? summaryMinTotal % 60 : 0); summary.Minutes = summaryMinTotal; summary.RBCHours = (RBCTimeDataInterface.GetMonthRBCTimeTotal(new DateTime(year, month, 1))) / 60.0; RBCTimeData[] eee = RBCTimeDataInterface.GetRBCTimeEntries(new DateTime(year, month, 1), new DateTime(year, month, 1).AddMonths(1).AddDays(-1), SortOrder.DateNewestToOldest); if (eee != null) { rtdEntries.AddRange(eee); } icReport.Add(summary); summary = new TimeReportSummaryModel(); month = td.Date.Month; year = td.Date.Year; summaryMinTotal = 0; } summary.Month = td.Date.ToString("MMMM", CultureInfo.CurrentUICulture).ToUpper(); summary.Days++; summaryMinTotal += td.Minutes; summary.Magazines += td.Magazines; summary.BibleStudies += td.BibleStudies; summary.Books += td.Books; summary.Brochures += td.Brochures; summary.ReturnVisits += td.ReturnVisits; summary.Tracts += td.Tracts; //summary data end. //add the time data to the entries page. lbTimeEntries.Add(new TimeReportEntryViewModel { Date = td.Date, Hours = string.Format(StringResources.TimeReport_HoursAndMinutes, (td.Minutes / 60), td.Minutes > 0 ? td.Minutes % 60 : 0), ItemId = td.ItemId, Minutes = td.Minutes, EditLink = string.Format("/View/RegularTime.xaml?id={0}", td.ItemId), Notes = td.Notes, MagazinesCount = td.Magazines, BrochuresCount = td.Brochures, BooksCount = td.Books, TractsCount = td.Tracts, RVsCount = td.ReturnVisits, Type = TimeType.Regular }); } RBCTimeData[] ee = RBCTimeDataInterface.GetRBCTimeEntries(new DateTime(year, month, 1), new DateTime(year, month, 1).AddMonths(1).AddDays(-1), SortOrder.DateNewestToOldest); if (ee != null) { rtdEntries.AddRange(ee); } summary.RBCHours = (RBCTimeDataInterface.GetMonthRBCTimeTotal(new DateTime(year, month, 1)) / 60.0); summary.Time = string.Format(StringResources.TimeReport_HoursAndMinutes, (summaryMinTotal / 60), summaryMinTotal > 0 ? summaryMinTotal % 60 : 0); summary.Minutes = summaryMinTotal; icReport.Add(summary); foreach (RBCTimeData e in rtdEntries) { //add time _timeReportTotal += e.Minutes; lbTimeEntries.Add(new TimeReportEntryViewModel { Date = e.Date, Hours = string.Format(StringResources.TimeReport_AuxHoursAndMinutes, (int)e.Hours, e.Minutes > 0 ? e.Minutes % 60 : 0), ItemId = e.ItemID, Minutes = e.Minutes, EditLink = string.Format("/View/RBCTime.xaml?id={0}", e.ItemID), Notes = e.Notes, MagazinesCount = -1, BrochuresCount = -1, BooksCount = -1, RVsCount = -1, TractsCount = -1, Type = TimeType.Auxiliary }); } TimeReportEntryViewModel[] lte = lbTimeEntries.OrderBy(s => s.Date.Date).ToArray(); lbTimeEntries.Clear(); foreach (TimeReportEntryViewModel l in lte) { lbTimeEntries.Add(l); } TimeReportChartData = new ObservableCollection <TimeChartInfo>(); if (icReport.Count > 1) { foreach (TimeReportSummaryModel v in icReport) { TimeReportChartData.Add(new TimeChartInfo { Header = new String(v.Month.Take(3).ToArray()), Time = (v.Minutes / 60.0) }); } } else { foreach (TimeReportEntryViewModel v in lbTimeEntries) { TimeReportChartData.Add(new TimeChartInfo { Header = string.Format("{0}/{1}", v.Date.Month, v.Date.Day), Time = (v.Minutes / 60.0) }); } } OnPropertyChanged("TimeReportTotal"); OnPropertyChanged("TimeReportGaugeValue"); OnPropertyChanged("TimeReportGaugeGoalValue"); OnPropertyChanged("TimeReportGoalText"); OnPropertyChanged("TimeReportRemainingText"); IsTimeReportDataLoading = false; OnPropertyChanged("IsTimeReportDataLoading"); OnPropertyChanged("TimeReportChartData"); }
public bool AddOrUpdateTime() { return(RBCTimeDataInterface.AddOrUpdateTime(ref _rbcTimeData)); }
public bool IsDoubleDateEntry(out int id) { //throw new NotImplementedException(); id = -1; return(_rbcTimeData.ItemID <= 0 && RBCTimeDataInterface.IsDoubleDateEntry(_rbcTimeData.Date, out id)); }