Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
 /// <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);
     }
 }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
 /// <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");
 }
Exemplo n.º 5
0
 /// <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");
 }
Exemplo n.º 6
0
        /// <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);
            }
        }
Exemplo n.º 7
0
        /// <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);
            }
        }