コード例 #1
0
        public void Delete(int planid)
        {
            Plan PlanToRemove = Plans.FirstOrDefault(w => w.PlanId == planid);

            Plans.Remove(PlanToRemove);
            SaveChanges();
        }
コード例 #2
0
        private async Task LoadAllTasksAsync()
        {
            try
            {
                GraphServiceClient graphClient = await GraphServiceHelper.GetGraphServiceClientAsync();

                if (graphClient != null)
                {
                    IPlannerPlanTasksCollectionPage tasks    = await graphClient.Planner.Plans[PlanId].Tasks.Request().GetAsync();
                    Dictionary <string, string>     buckets  = Buckets.ToDictionary(s => s.Id, s => s.Name);
                    List <PlannerTaskViewModel>     taskList = new List <PlannerTaskViewModel>();
                    PlannerPlan plan = Plans.FirstOrDefault(s => s.Id == InternalPlanId);
                    while (true)
                    {
                        foreach (PlannerTask task in tasks)
                        {
                            PlannerTaskViewModel taskViewModel = new PlannerTaskViewModel(task);
                            if (plan != null)
                            {
                                taskViewModel.GroupId = plan.Owner;
                            }

                            taskViewModel.PropertyChanged += TaskViewModel_PropertyChanged;
                            await GetAssignmentsAsync(taskViewModel, graphClient);

                            if (!string.IsNullOrEmpty(taskViewModel.BucketId) && buckets.ContainsKey(taskViewModel.BucketId))
                            {
                                taskViewModel.BucketName = buckets[taskViewModel.BucketId];
                            }

                            taskList.Add(taskViewModel);
                        }

                        if (tasks.NextPageRequest == null)
                        {
                            break;
                        }

                        tasks = await tasks.NextPageRequest.GetAsync();
                    }

                    _allTasks.Clear();
                    _allTasks.AddRange(taskList);
                    LoadTasks();
                }
            }
            catch (Exception exception)
            {
                MessageDialog messageDialog = new MessageDialog(exception.Message);
                await messageDialog.ShowAsync();
            }
        }
コード例 #3
0
        private async void Add_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                GraphServiceClient graphClient = await GraphServiceHelper.GetGraphServiceClientAsync();

                if (graphClient != null &&
                    !string.IsNullOrWhiteSpace(_input?.Text))
                {
                    PlannerTask task = new PlannerTask
                    {
                        Title = _input.Text
                    };
                    if (TaskType != TaskTypeAllTasksId && TaskType != TaskTypeClosedTasksId)
                    {
                        task.BucketId = TaskType;
                    }

                    task.PlanId = PlanId;
                    _input.Text = string.Empty;
                    CanAddTask  = false;
                    PlannerTask taskCreated = await graphClient.Planner.Tasks.Request().AddAsync(task);

                    PlannerPlan                 plan          = Plans.FirstOrDefault(s => s.Id == InternalPlanId);
                    PlannerTaskViewModel        taskViewModel = new PlannerTaskViewModel(taskCreated);
                    Dictionary <string, string> buckets       = Buckets.ToDictionary(s => s.Id, s => s.Name);
                    if (plan != null)
                    {
                        taskViewModel.GroupId = plan.Owner;
                    }

                    if (!string.IsNullOrEmpty(taskViewModel.BucketId) && buckets.ContainsKey(taskViewModel.BucketId))
                    {
                        taskViewModel.BucketName = buckets[taskViewModel.BucketId];
                    }

                    if (taskCreated.PlanId == InternalPlanId)
                    {
                        taskViewModel.PropertyChanged += TaskViewModel_PropertyChanged;
                        _allTasks.Add(taskViewModel);
                        Tasks.Insert(0, taskViewModel);
                    }
                }
            }
            catch (Exception exception)
            {
                MessageDialog messageDialog = new MessageDialog(exception.Message);
                await messageDialog.ShowAsync();
            }

            CanAddTask = true;
        }
コード例 #4
0
        private void LoadLastUsedPlanId()
        {
            CurrentPlan = Plans.FirstOrDefault();
            if (!File.Exists(LastPlanIdFilePath))
            {
                return;
            }
            var id = File.ReadAllLines(LastPlanIdFilePath).FirstOrDefault();

            if (string.IsNullOrWhiteSpace(id))
            {
                return;
            }
            CurrentPlan = Plans
                          .FirstOrDefault(r => r.PlanId.ToString(CultureInfo.InvariantCulture) == id) ?? Plans.First();
        }
コード例 #5
0
        public void Configure()
        {
            Subsystems = (ListCollectionView)CollectionViewSource.GetDefaultView(SubsystemItems);

            SelectedRooms.CollectionChanged += SelectedRooms1CollectionChanged;
            Subsystems.Filter += FilterSubsystemsByType;

            Plans             = _planObjectsrepository.RootObjects;
            SelectedContainer = Plans.FirstOrDefault() as Container;

            _planObjectsrepository.DataUpdatedEvent += sender =>
            {
                SelectedContainer = null;
                Application.Current.Dispatcher.Invoke(() => SelectedRooms.Clear());
                Plans             = _planObjectsrepository.RootObjects;
                SelectedContainer = Plans.FirstOrDefault() as Container;
            };

            _isReady = true;
            OnViewModelConfiguredEvent();
        }
コード例 #6
0
 public static BillingPlan GetBillingPlan(string planId)
 {
     return(Plans.FirstOrDefault(p => String.Equals(p.Id, planId, StringComparison.OrdinalIgnoreCase)));
 }
コード例 #7
0
 public static Plan GetPlan(PlanType planType) =>
 Plans.FirstOrDefault(p => p.Type == planType);