/// <summary> /// Constructor which initializes properties and using input surveyId like ID of survey. /// </summary> /// <param name="surveyId">ID of survey.</param> public SurveyViewModel(string surveyId) { ListOfResults = new ObservableCollection <ResultBasicInfo>(); _operations = new OperationsOnListOfResults(surveyId, ListOfResults); SurveyId = surveyId; ProgressBar = new ProcessingBar(); Message = new DialogBox(); _resultSender = new SendResult(); _resultSender.SendingCompleted += (object sender, EventArgs args) => { System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { SendResult.SendingEventArgs.SendingStatus status = (args as SendResult.SendingEventArgs).Status; string resultId = (args as SendResult.SendingEventArgs).ResultId; switch (status) { case Model.SendResult.SendingEventArgs.SendingStatus.Sent: Message.Show(Languages.AppResources.surveyViewModel_sendingCompleted); _operations.MarkResultAsSent(resultId); break; case Model.SendResult.SendingEventArgs.SendingStatus.ServerError: Message.Show(Languages.AppResources.surveyViewModel_serverError); break; case Model.SendResult.SendingEventArgs.SendingStatus.UnknownError: Message.Show(Languages.AppResources.surveyViewModel_unknownError); break; case Model.SendResult.SendingEventArgs.SendingStatus.Canceled: break; } ProgressBar.IsEnabled = false; SendingInProgress = false; }); }; }
/// <summary> /// Default constuctor which initializes component on page. /// </summary> public FilterListPage() { _filterViewModel = new ResultsFilterViewModel(); InitializeComponent(); BusyIndicator.DataContext = _filterViewModel.ProgressBar; ListOfSurveys.ItemsSource = App.AppDictionary["FilteredResults"] as ObservableCollection <ResultsFilter.GroupedOC <ResultBasicInfo> >; _filterViewModel.ResultSender.SendingCompleted += (object sender, EventArgs args) => { System.Windows.Deployment.Current.Dispatcher.BeginInvoke(() => { SendResult.SendingEventArgs.SendingStatus status = (args as SendResult.SendingEventArgs).Status; string resultId = (args as SendResult.SendingEventArgs).ResultId; switch (status) { case Model.SendResult.SendingEventArgs.SendingStatus.Sent: MessageBox.Show(Languages.AppResources.surveyViewModel_sendingCompleted); _filterViewModel.Operations.MarkResultAsSent(resultId); _filterViewModel.Filter.ReloadResult(resultId); break; case Model.SendResult.SendingEventArgs.SendingStatus.ServerError: MessageBox.Show(Languages.AppResources.surveyViewModel_serverError); break; case Model.SendResult.SendingEventArgs.SendingStatus.UnknownError: MessageBox.Show(Languages.AppResources.surveyViewModel_unknownError); break; case Model.SendResult.SendingEventArgs.SendingStatus.Canceled: break; } _filterViewModel.ProgressBar.IsEnabled = false; _filterViewModel.IsSending = false; }); }; BuildApplicationBar(); }