Пример #1
0
 public HomeViewModel()
 {
     _service = new QuestionnaireAdministrativeServiceClient();
     _service.RegisterUserCompleted += delegate(object sender, RegisterUserCompletedEventArgs1 e)
     {
         if (e.Result)
         {
             UserName = null;
             Password1 = null;
             Password2 = null;
             FirstName = null;
             LastName = null;
             Email = null;
             MessageBox.Show("Reģistrācija veiksmīga!");
         }
     };
     _service.OpenAsync();
     
     
     RegisterMe = new DelegateCommand(() =>
     {
         if (UserName != null && Password1 != null && Password1 == Password2)
         {
             _service.RegisterUserAsync(UserName, Password1, FirstName, LastName, Email);
         }
     });
 }
Пример #2
0
        public UsersViewModel()
        {
            AddAnalyst = new DelegateCommand(() =>
            {
                var user = Application.Current.Resources["user"] as string;
                if(user != null)
                {
                    _addingNewAnalyst = NewAnalyst;
                    _service.AddAnalystAsync(user, NewAnalyst);
                    NewAnalyst = "";
                }
            });

            RemoveAnalyst = new DelegateCommand(() =>
            {
                var user = Application.Current.Resources["user"] as string;
                if(SelectedAnalyst != null && user != null)
                {
                    _service.RemoveAnalystAsync(user, SelectedAnalyst);
                    _users.Remove(SelectedAnalyst);
                }
            });

            AddRespondent = new DelegateCommand(() =>
            {
                var user = Application.Current.Resources["user"] as string;
                if (user != null)
                {
                    _addingNewRespondent = NewRespondent;
                    _service.AddRespondentAsync(user, _addingNewRespondent);
                    NewRespondent = "";
                }
            });

            RemoveRespondent = new DelegateCommand(() =>
            {
                var user = Application.Current.Resources["user"] as string;
                if (SelectedRespondent != null && user != null)
                {
                    _service.RemoveRespondentAsync(user, SelectedRespondent);
                    _respondents.Remove(SelectedRespondent);
                }
            });
            
            _service = new QuestionnaireAdministrativeServiceClient();
            _service.OpenCompleted += delegate
            {
                if (Application.Current.Resources.Contains("user"))
                {
                    var user = Application.Current.Resources["user"] as string;
                    _service.GetUserRespondentsAsync(user);
                    _service.GetUserAnalystsAsync(user);
                }
            };
            _service.GetUserRespondentsCompleted += ProxyGetUserRespondentsCompleted;
            _service.GetUserAnalystsCompleted += ProxyGetUserAnalystsCompleted;
            _service.AddAnalystCompleted += ProxyAddAnalystCompleted;
            _service.AddRespondentCompleted += ProxyAddRespondentCompleted;
            _service.OpenAsync();
        }
Пример #3
0
        public ReviewViewModel()
        {
            MessageToSend = "Lūdzu aizpildiet anketu <a href=\"<QAddress>\"><QName></a>!";
            
            _service = new QuestionnaireAdministrativeServiceClient();
            _service.OpenCompleted += delegate
                                          {
                                              var user = Application.Current.Resources["user"] as string;
                                              if(user != null)
                                              {
                                                  _service.GetUserQuestionnaireListAsync(user);
                                              }
                                          };
            _service.GetFilledQuestionnaireListCompleted += ProxyGetFilledQuestionnaireListCompleted;
            _service.GetUserQuestionnaireListCompleted += ProxyGetUserQuestionnaireListCompleted;
            _service.DeleteQuestionnaireCompleted += ProxyDeleteQuestionnaireCompleted;
            _service.SendQuestionnaireToRespondentsCompleted += ProxySendQuestionnaireToRespondentsCompleted;
            
            DeleteQuestionnaire = new DelegateCommand(() =>
                                                          {
                                                              var user = Application.Current.Resources["user"] as string;
                                                              if (user != null && SelectedQuestionnaireName != null)
                                                              {
                                                                  _service.DeleteQuestionnaireAsync(user, SelectedQuestionnaireName);
                                                              }
                                                          });

            SendQuestionnaireToRespondents = new DelegateCommand(() =>
            {
                var user = Application.Current.Resources["user"] as string;
                if (user != null && SelectedQuestionnaireName != null)
                {
                    var message = MessageToSend ?? "";

                    var questionnarieAddress = @"http://localhost:4312/StatisTestPage.html#/QuestionnaireFillingView/" + SelectedQuestionnaireName;

                    _service.SendQuestionnaireToRespondentsAsync(user,
                        message.Replace("<QAddress>", questionnarieAddress).Replace("<QName>", SelectedQuestionnaireName),
                        SelectedQuestionnaireName);
                }
            });
            
            ViewQuestionnaire = new DelegateCommand(
                () =>
                    {
                        var baseAddress = Application.Current.Host.Source.AbsoluteUri.Replace(Application.Current.Host.Source.LocalPath, "");
                        var address = baseAddress + "/StatisTestPage.html#/QuestionnaireFillingView/" + SelectedQuestionnaireName;
                        
                        System.Windows.Browser.HtmlPage.Window.Navigate(new Uri(address));
                    });

            ViewFilledQuestionnaire = new DelegateCommand(() =>
                                                              {
                                                                  //ToDo
                                                              });

            _service.OpenAsync();
        }
        public QuestionnaireFillingViewModel()
        {
            _service = new QuestionnaireAdministrativeServiceClient();
            _service.GetQuestionnaireCompleted += ProxyGetQuestionnaireCompleted;
            _service.StoreFilledQuestionnaireCompleted += delegate
                                                              {
                                                                  System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("/StatisTestPage.html#/Home", UriKind.Relative));
                                                              };
            _service.OpenAsync();

            SaveFilledQuestionnaire = new DelegateCommand(() => _service.StoreFilledQuestionnaireAsync(_filledModel));
        }
        public CreateQuestionnaireViewModel()
        {
            _model = new Questionnaire {Questions = new ObservableCollection<Question>()};

            _service = new QuestionnaireAdministrativeServiceClient();
            _service.GetUserQuestionnaireCompleted += ProxyGetQuestionnaireCompleted;
            _service.OpenAsync();

            SaveQuestionnaire = new DelegateCommand(() =>
                                                        {
                                                            var user = Application.Current.Resources["user"] as string;
                                                            if (user != null)
                                                            {
                                                                _service.StoreQuestionnaireAsync(user, _model);
                                                            }
                                                        });
            AddTextQuestion = new DelegateCommand(() =>
                                                      {
                                                          _model.Questions.Add(new TextQuestion {QuestionId = Guid.NewGuid()});
                                                          Update();
                                                      });
            AddImgSingleChoiceQuestion = new DelegateCommand(() =>
            {
                var question = new ImgChoiceQuestion
                                   {
                                       QuestionId = Guid.NewGuid(),
                                       Img = null,
                                       ChoiceList = new ObservableCollection<Choice>()
                                   };
                for (var i = 0; i < _imgQuestionNumberOfSingleChoices; i++)
                {
                    question.ChoiceList.Add(new TextChoice {Index = i + 1});
                }
                _model.Questions.Add(question);
                Update();
            });
        }
Пример #6
0
        public MainViewModel()
        {
            GreetingText = "";
            LoginLogoutText = "Ieiet";
            LoggedInVisibility = Visibility.Visible;
            
            LoginCommand = new DelegateCommand(() =>
            {
                if (UserName != null && Password != null)
                {
                    if(Application.Current.Resources.Contains("user"))
                    {
                        Application.Current.Resources.Remove("user");
                    }
                    _authenticatingUserName = UserName;
                    _service.AuthenticateUserAsync(UserName, Password);
                }
            });

            _service = new QuestionnaireAdministrativeServiceClient();
            _service.AuthenticateUserCompleted += ProxyAuthenticateUserCompleted;
            _service.OpenAsync();
            
        }
Пример #7
0
        public void TestStatisServiceMethodGetQuestionnaire()
        {
            //opening database for data querying for comparison
            var config = Db4oEmbedded.NewConfiguration();
            config.Common.ObjectClass(typeof(Questionnaire)).CascadeOnDelete(true);
            var db = Db4oEmbedded.OpenFile(config, TestDbFile);

            const string testQuestionnaireName = "Q1";

            //retrieving questionnaire from service
            var questionnaire =
                (from Questionnaire q in db
                 where q.Name == testQuestionnaireName
                 select q).FirstOrDefault();

            Assert.IsNotNull(questionnaire, "DB does not contain requested questionnaire.");
            Assert.AreEqual(2, questionnaire.Questions.Count, "Service returns wrong number of Questions in questionnaire.");
            db.Close();
            
            //using service to retrieve test questionnaire from it
            using(var proxy = new QuestionnaireAdministrativeServiceClient())
            {
                proxy.Open();
                
                var serviceQuestionnaire = proxy.GetQuestionnaire("jb", testQuestionnaireName);

                //commpare db and service returned questionnaires
                Assert.IsNotNull(serviceQuestionnaire, "Service does not return any data.");
                Assert.AreEqual(questionnaire.Name, serviceQuestionnaire.Name, "Service and db contain questionnaires with different names.");
                Assert.AreEqual(questionnaire.Description, serviceQuestionnaire.Description, "Service and db contain questionnaires with different descriptions.");
                Assert.AreEqual(questionnaire.Questions.Count, serviceQuestionnaire.Questions.Count, "Service and db questionnaires contain different number of questions.");
            }
        }