Beispiel #1
0
 public EyetrackerEntities(String connString = null)
     : base((connString ?? EyetrackerEntities.BuildConnString()))
 {
     Candidates      = new Candidates();
     TestDefinitions = new TestDefinitions();
     Tests           = new Tests();
 }
Beispiel #2
0
        public void SaveChanges(EyetrackerEntities db)
        {
            int countNew     = 0;
            int countChanged = 0;
            int countMissing = 0;

            foreach (BaseQuestionAnswer qa in this.Where(qa => qa.QuestionEntity.type_cd != "O"))
            {
                if (qa.AnswerEntity != null)
                {
                    DbEntityEntry entry = null;

                    if (qa.AnswerEntity.id == 0)
                    {
                        entry = db.Entry(db.Answer.Add(qa.AnswerEntity));
                    }
                    else
                    {
                        entry = db.Entry(qa.AnswerEntity);
                        if (entry == null)
                        {
                            entry = db.Entry(db.Answer.Attach(qa.AnswerEntity));
                        }
                    }
                    switch (entry.State)
                    {
                    case EntityState.Modified: countChanged++; break;

                    case EntityState.Added: countNew++; break;
                    }
                }
                else
                {
                    countMissing++;
                }
            }
            if (countNew + countChanged > 0)
            {
                if (Test.LastStep < Questionnaire.Step)
                {
                    Test.LastStep = Questionnaire.Step;
                    if (Test.NumSteps == Test.LastStep)
                    {
                        Test.end_time  = DateTime.Now;
                        Test.status_cd = "TRM";
                    }
                    else if (Test.status_cd == "NEW")
                    {
                        Test.status_cd = "PRG";
                    }
                    db.SaveChanges();
                }
            }
        }
Beispiel #3
0
 public bool HasChanges(EyetrackerEntities db)
 {
     foreach (BaseQuestionAnswer qa in this.Where(qa => qa.QuestionEntity.type_cd != "O"))
     {
         if (qa.AnswerEntity != null && (db.Entry(qa.AnswerEntity) == null || db.Entry(qa.AnswerEntity).State != System.Data.Entity.EntityState.Unchanged))
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #4
0
        private void bnTest_Click(object sender, RoutedEventArgs e)
        {
            Cursor cursorBefore = this.Cursor;

            this.Cursor = Cursors.AppStarting;
            Properties.Settings.Default.Save();
            bool dbOk = false;
            EyetrackerEntities db;

            try
            {
                db = new EyetrackerEntities(null);
                db.Database.Connection.Open();
                dbOk = db.Database.Connection.State == System.Data.ConnectionState.Open;
                statusMsg.Content          = "Connection to " + db.Database.Connection.Site + " successful";
                statusBar.Background       = Brushes.LightGreen;
                statusToolTipTitle.Content = "Success";
                statusToolTipText.Content  = EyetrackerEntities.BuildConnString();
                statusMsg.ToolTip          = null;
                bnOk.IsEnabled             = true;
            }
            catch (Exception ex)
            {
                statusMsg.Content = "Connection to " + Properties.Settings.Default.DBCatalog + "@" +
                                    Properties.Settings.Default.DBServer + " failed";
                statusBar.Background       = Brushes.Pink;
                statusToolTipTitle.Content = "Exception occurred";
                statusToolTipText.Content  = ex.Message;
                if (ex.InnerException != null)
                {
                    statusToolTipText.Content += "\n" + ex.InnerException.Message;
                }
                bnOk.IsEnabled = false;
                dbOk           = false;
                db             = null;
            }
            this.Cursor = cursorBefore;
        }