/// <summary> /// Create reminder /// </summary> /// <param name="maintenance"></param> private void createReminder(Maintenance maintenance) { var action = ScheduledActionService.Find(maintenance.Id); if (action == null) { //update begin time DateTime beginTime = maintenance.Date.Subtract(TimeSpan.FromDays(maintenance.WarningDays)); if (beginTime <= DateTime.Now) { beginTime = DateTime.Now.AddDays(1); } //update begin time DateTime expirationTime = maintenance.Date; if (expirationTime <= DateTime.Now) { expirationTime = DateTime.Now.AddDays(1); } Reminder reminder = new Reminder(maintenance.Id); reminder.Title = maintenance.Type.ToString(); reminder.Content = maintenance.Description; reminder.BeginTime = beginTime; reminder.ExpirationTime = expirationTime; reminder.RecurrenceType = RecurrenceInterval.None; reminder.NavigationUri = new Uri("/CoPilot/View/CoPilot.xaml", UriKind.Relative); // register the reminder with the system. ScheduledActionService.Add(reminder); } }
/// <summary> /// Remove /// </summary> /// <param name="maintenance"></param> public void Remove(Maintenance maintenance) { var action = ScheduledActionService.Find(maintenance.Id); if (action != null) { ScheduledActionService.Remove(maintenance.Id); } }
/// <summary> /// Save maintenance /// </summary> private void saveMaintenance() { CoreData.Maintenance maintenance = new CoreData.Maintenance(); maintenance.Type = this.Type.Type; maintenance.Description = this.description; maintenance.Id = Guid.NewGuid().ToString(); if (this.IsOdometer) { //odometer type maintenance.Odometer = new CoreData.Odometer(this.odometer, DataController.Distance); maintenance.WarningDistance = this.warningDistance; maintenance.Date = DateTime.Now; maintenance.WarningDays = this.warningDays; } else { //date type maintenance.Date = this.Date; maintenance.WarningDays = this.warningDays; maintenance.Odometer = new CoreData.Odometer(0, DataController.Distance); maintenance.WarningDistance = this.warningDistance; } DataController.AddMaintenance(maintenance); }
/// <summary> /// Remove maintenance /// </summary> /// <param name="repair"></param> public void RemoveMaintenance(Maintenance maintenance) { baseData.Maintenances.Remove(maintenance); this.Save(); OnPropertyChanged("Maintenances"); OnPropertyChanged("MaintenanceCount"); OnPropertyChanged("AvailableSpace"); }
/// <summary> /// Add maintenance /// </summary> /// <param name="maintenance"></param> public void AddMaintenance(Maintenance maintenance) { baseData.Maintenances.Insert(0, maintenance); this.Save(); OnPropertyChanged("Maintenances"); OnPropertyChanged("MaintenanceCount"); OnPropertyChanged("AvailableSpace"); }
/// <summary> /// Show warning /// </summary> /// <param name="maintenance"></param> private void showWarning(Maintenance maintenance) { var repairs = this.dataController.Repairs; var refill = this.dataController.Fills; var odometer = 0.0; var maintenanceOdometer = 0.0; if (repairs.Count > 0) { odometer = DistanceExchange.GetOdometerWithRightDistance(repairs[0].Odometer); } if (refill.Count > 0 && DistanceExchange.GetOdometerWithRightDistance(refill[0].Odometer) > odometer) { odometer = DistanceExchange.GetOdometerWithRightDistance(refill[0].Odometer); } maintenanceOdometer = DistanceExchange.GetOdometerWithRightDistance(maintenance.Odometer); var sub = maintenanceOdometer - odometer; if (sub >= 0 && sub < maintenance.WarningDistance) { this.showReminder(maintenance); } }
/// <summary> /// Show reminder /// </summary> /// <param name="maintenance"></param> private void showReminder(Maintenance maintenance) { var action = ScheduledActionService.Find(maintenance.Id); if (action == null) { Reminder reminder = new Reminder(maintenance.Id); reminder.Title = maintenance.Type.ToString(); reminder.Content = maintenance.Description; reminder.BeginTime = DateTime.Now.Add(TimeSpan.FromSeconds(5)); reminder.ExpirationTime = DateTime.Now.Add(TimeSpan.FromDays(4)); reminder.RecurrenceType = RecurrenceInterval.None; reminder.NavigationUri = new Uri("/CoPilot/View/CoPilot.xaml", UriKind.Relative); // register the reminder with the system. ScheduledActionService.Add(reminder); } }