/// <summary> /// Invoked when this page is about to be displayed in a Frame. /// </summary> /// <param name="e">Event data that describes how this page was reached. The Parameter /// property is typically used to configure the page.</param> protected async override void OnNavigatedTo(NavigationEventArgs e) { var temp = e.Parameter as ProjectMemberContrainModel; if (temp != null) { _contrain = new ProjectMemberContrainModel(temp); removeButton.IsEnabled = ProjectMemberRepository.Instance.IsManager(_contrain.ProjectID); favorButton.IsEnabled = removeButton.IsEnabled; unfavorButton.IsEnabled = removeButton.IsEnabled; if (string.IsNullOrEmpty(_contrain.Role)) // Validate PM { // Validate number tasks. var taskAll = await TaskRepository.Instance.GetAllTasksForProject(_contrain.ProjectID); var query = from task in taskAll where task.UserID == _contrain.UserID select task; if (query.Any()) { if (_contrain.IsActive) { unfavorButton.Visibility = Visibility.Visible; } else { favorButton.Visibility = Visibility.Visible; } } else { removeButton.Visibility = Visibility.Visible; } } _model = await UserInformationRepository.Instance.GetUser(_contrain.UserID); if (_model != null) { Username.Text = _model.Username; Birthday.Text = string.IsNullOrEmpty(_model.DOB) ? LanguageProvider.Resource["NotAvailable"] : Convert.ToDateTime(_model.DOB).ToString( CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern); Telephone.Text = string.IsNullOrEmpty(_model.Phone) ? LanguageProvider.Resource["NotAvailable"] : _model.Phone; Email.Text = string.IsNullOrEmpty(_model.Email) ? LanguageProvider.Resource["NotAvailable"] : _model.Email; } } }
private async void UpdateData(ProjectMemberContrainModel data) { Navigator.Instance.MainProgressBar.Visibility = Visibility.Visible; if (data == null) { return; } var res = await ProjectMemberRepository.Instance.EditContrain(data); Navigator.Instance.DisplayStatus(res.IsSuccessStatusCode ? ConnectionStatus.Done : ConnectionStatus.Error); if (res.IsSuccessStatusCode) { Messenger.Instance.Notify(RefreshMember.Refresh); Navigator.Instance.HideTimelinePopup(); } Navigator.Instance.MainProgressBar.Visibility = Visibility.Collapsed; }