public ActionResult Index(Root model)
        {
            // Create new Questionaire
            if (ModelState.IsValid)
            {
                var Questionaire = context.questionaires.SingleOrDefault(x => x.Questionaire_Description == model.questionaire.Questionaire_Description);

                if (Questionaire == null)
                {
                    Questionaire questionaire = new Questionaire();
                    questionaire.Questionaire_Description = model.questionaire.Questionaire_Description;
                    questionaire.createdBy   = User.Identity.Name;
                    questionaire.dateCreated = DateTime.Now;
                    context.questionaires.Add(questionaire);
                    context.SaveChanges();
                    TempData["success"] = "Questionaire successfully created";
                    ModelState.Clear();
                    return(RedirectToAction("Index", "Questionaire"));
                }
                else
                {
                    TempData["error"] = "Questionaire already exist";
                }
            }

            return(View(model));
        }
Пример #2
0
 public SelectCategory(Questionaire Questionaire, QuestionairePageState questionairePageState)
 {
     InitializeComponent();
     this.questionairePageState = questionairePageState;
     this.Questionaire          = Questionaire;
     Init();
 }
Пример #3
0
        private async void StartNewQuestionaire()
        {
            try
            {
                questionaire = new Questionaire
                {
                    Name       = sQuestionaire.Name,
                    CreatedBy  = User.Key,
                    IsSystem   = sQuestionaire.IsSystem,
                    Categories = sQuestionaire.Categories,
                    Regions    = sQuestionaire.Regions,
                    TableName  = sQuestionaire.TableName,
                    Sections   = sQuestionaire.Sections,
                    Template   = sQuestionaire.Key
                };
                questionaire.Sections.SelectMany(s => s.Questions).ForEach(q => q.Answers.Clear());

                if (questionaire.Categories.Count > 0)
                {
                    PromptCategorySelection();
                }
                else
                {
                    canPressBackButton = true;
                    locationDialog     = new LocationDialog(this);
                    await PopupNavigation.Instance.PushAsync(locationDialog);
                }
            }
            catch (Exception ex)
            {
            }
        }
Пример #4
0
        private async void StartQuestionaire(object sender, EventArgs args)
        {
            try
            {
                if (configuration == null)
                {
                    await PopupNavigation.Instance.PushAsync(new MessageBox("You have no configuration attached, please attach one and try again", MessageType.Configuration, this));

                    return;
                }

                if (configuration.Questionaires.Where(x => x.Status == DCAnalytics.Statuses.Template).ToList().Count > 1)
                {
                    PromptQuestionaireSelection();
                }
                else if (configuration.Questionaires.Where(x => x.Status == DCAnalytics.Statuses.Template).ToList().Count == 1)
                {
                    sQuestionaire = configuration.Questionaires[0];
                    StartNewQuestionaire();
                }
                else
                {
                    await PopupNavigation.Instance.PushAsync(new MessageBox("Your configuration has no questionaires, please attach one that has and try again", MessageType.Configuration, this));

                    return;
                }
            }
            catch (Exception ex)
            {
                Log.Warning("Questionaire Error", ex.StackTrace);
                await PopupNavigation.Instance.PushAsync(new MessageBox(ex.Message, MessageType.Regular, this));
            }
        }
Пример #5
0
        public object GetReviewQuestionaires(string id)
        {
            Questionaires questionaires = new Questionaires();

            try
            {
                string query = $"select *, RIGHT('000000' + CAST(code AS varchar(6)) , 6) as qcode from dsto_questionaire where (status=2 or status=3) and yref_template='{id}' order by created_on desc";
                var    table = DbInfo.ExecuteSelectQuery(query);
                if (table.Rows.Count > 0)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        Questionaire questionaire = new Questionaire(null);
                        InitQuestionaire(questionaire, row);
                        questionaire.CreatedBy = new UserProvider(DbInfo).GetCreatedByUser(row["created_by"].ToString());
                        questionaires.Add(questionaire);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(questionaires);
        }
Пример #6
0
        public Questionaires GetCategoryQuestionaires(string category_id)
        {
            Questionaires questionaires = new Questionaires();

            try
            {
                string query = $"select * from dsto_questionaire where [yref_categor]='{category_id}'";
                var    table = DbInfo.ExecuteSelectQuery(query);
                if (table.Rows.Count > 0)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        Questionaire questionaire = new Questionaire(null);
                        InitQuestionaire(questionaire, row);
                        questionaires.Add(questionaire);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(questionaires);
        }
        public void AddQuestionaire(Questionaire questionaire)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(ConnString))
                {
                    conn.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.CommandText = SQL_AddQuestionaire;
                    cmd.Parameters.AddWithValue("@Terrain", questionaire.Terrain);
                    cmd.Parameters.AddWithValue("@FootShape", questionaire.FootShape);
                    cmd.Parameters.AddWithValue("@Design", questionaire.Design);
                    cmd.Parameters.AddWithValue("@Color", questionaire.Color);
                    cmd.Parameters.AddWithValue("@Cost", questionaire.Cost);
                    cmd.Parameters.AddWithValue("@Popularity", questionaire.Popularity);
                    cmd.Parameters.AddWithValue("@BottomShape", questionaire.BottomShape);
                    cmd.Parameters.AddWithValue("@Name", questionaire.Name);


                    cmd.Connection = conn;
                    questionaire.QuestionaireID = Convert.ToInt32(cmd.ExecuteScalar());
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #8
0
        public Questionaires GetQuestionairesByConfig(int id)
        {
            Questionaires questionaires = new Questionaires();

            try
            {
                string query = $"select * from dsto_questionaire where configuration_id='{id}' and Deleted=0";
                var    table = DbInfo.ExecuteSelectQuery(query);
                if (table.Rows.Count > 0)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        Questionaire questionaire = new Questionaire(null);
                        InitQuestionaire(questionaire, row);
                        questionaires.Add(questionaire);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(questionaires);
        }
Пример #9
0
 private void OnRefreshQuestionaires(object sender, EventArgs args)
 {
     try
     {
         _template = configuration.Questionaires.Find(q => q.Status == DCAnalytics.Statuses.Template);
         Task.Factory.StartNew(async() => {
             var response        = Synchronization.GetModifiedQuestionaire(_template.OID).Result;
             var responseContent = await response.Content.ReadAsStringAsync();
             questionaire        = JsonConvert.DeserializeObject <Questionaire>(responseContent);
         }).ContinueWith(task => {
             Device.BeginInvokeOnMainThread(() =>
             {
                 if (questionaire != null)
                 {
                     configuration.Questionaires[configuration.Questionaires.IndexOf(_template)] = questionaire;
                     AiDataStore.SaveConfiguration(configuration);
                     RefreshQuestionaires(questionaire);
                 }
                 else
                 {
                     Task.Run(async() => await PopupNavigation.Instance.PushAsync(new MessageBox("Something went wrong, please try again", MessageType.Regular, this)));
                 }
             });
         }, TaskScheduler.FromCurrentSynchronizationContext());
     }
     catch (Exception ex)
     {
         Task.Run(async() => await PopupNavigation.Instance.PushAsync(new MessageBox("Something went wrong, please try again", MessageType.Regular, this)));
     }
 }
Пример #10
0
        public Questionaires GetTrainees(int id)
        {
            Questionaires trainees = new Questionaires();

            try
            {
                string query = $"select dsto_questionaire.* from dsto_questionaire inner join dsto_Trainee " +
                               $"on dsto_questionaire.guid = dsto_trainee.yref_questionaire " +
                               $"where dsto_Trainee.yref_training ='{id}'";
                var table = DbInfo.ExecuteSelectQuery(query);
                if (table.Rows.Count > 0)
                {
                    foreach (DataRow row in table.Rows)
                    {
                        Questionaire trainee = trainees.Add();
                        InitTrainee(trainee, row);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(trainees);
        }
Пример #11
0
        public QSections(DCAnalytics.ObjectType objectType, Questionaire _questionaire, QuestionairePageState questionairePageState = null, Certification _certification = null, FieldInspection _fieldInspection = null)
        {
            InitializeComponent();
            controls                   = new UIControls(this);
            ObjectType                 = objectType;
            selectPageState            = this;
            promptPageState            = this;
            picturePageState           = this;
            locationPageState          = this;
            questionaire               = null;
            questionaire               = _questionaire;
            FieldInspection            = _fieldInspection;
            certification              = _certification;
            Title                      = questionaire.Name;
            this.questionairePageState = questionairePageState;
            sectionViews               = new List <SectionView>();
            _questionaireStatus        = string.IsNullOrEmpty(questionaire.Key) ? QuestionaireStatus.Create : QuestionaireStatus.Modify;
            _dbManager                 = new DatabaseManager();
            user          = AiDataStore.GetUser();
            configuration = AiDataStore.GetConfiguration();
            isValid       = true;

            Sections.Clear();
            Sections = (FieldInspection != null) ?
                       FieldInspection.Sections:
                       (certification != null) ?
                       certification.Sections:
                       questionaire.Sections;
            dependencies.Clear();
            navigatedTargetSections.Clear();
            controls.targets.Clear();
            Init();
        }
Пример #12
0
        private async void OnQuestionaireTapped(object sender, ItemTappedEventArgs args)
        {
            var qItem = args.Item as QItem;

            questionaire = qns.Find(q => q.Key == qItem.ID);
            try
            {
                if (ObjectType == DCAnalytics.ObjectType.Certification && configuration.Certifications.Count > 0)
                {
                    selectCertificates = new Certificates(configuration, questionaire, this);
                    await PopupNavigation.Instance.PushAsync(selectCertificates, true);
                }
                else if (ObjectType == DCAnalytics.ObjectType.Inspection && configuration.Inspections.Count > 0)
                {
                    questionaireBrief = new QuestionaireBrief(DCAnalytics.ObjectType.Inspection, questionaire, this);
                    await PopupNavigation.Instance.PushAsync(questionaireBrief, true);
                }
                else
                {
                    await PopupNavigation.Instance.PushAsync(new MessageBox("The module you're attempting to access has no entities required to proceed, please contact admin for a possible solution", MessageType.Regular, this, null));
                }
            }
            catch (Exception ex)
            {
                await PopupNavigation.Instance.PushAsync(new MessageBox(ex.StackTrace, MessageType.Regular, this), true);
            }
        }
Пример #13
0
        /* public TeacherPD()
         * {
         *
         * } */
        public Boolean saveQuestion(QuestionAns qans)
        {
            String questData = (@"insert into Questionaire(COURSE_ID,QUESTION,ANSWER,COMPLEXITY,Choice1,Choice2,Choice3,Choice4,Choice5,TestID)
                 values('" + qans.course + "','" + qans.question + "','" + qans.choice1 + "','" + qans.choice2 + "','" + qans.choice3 + "','" + qans.choice4 + "',NULL,NULL)");
            //int i=DBUtil.SaveDetails(questData);
            Questionaire qnst = new Questionaire()
            {
                CourseID   = qans.course,
                QuestionID = 1,
                Question   = qans.question,
                Answer     = qans.choice1,
                Complexity = (int)qans.complexity,
                Choice1    = qans.choice1,
                Choice2    = qans.choice2,
                Choice3    = qans.choice3,
                Choice4    = qans.choice4,
            };

            _context.Questionaire.Add(qnst);
            int i = _context.SaveChanges();

            if (i > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #14
0
 public QuestionaireBrief(DCAnalytics.ObjectType objectType, Questionaire questionaire, ConfigurationPageState cps)
 {
     InitializeComponent();
     ObjectType        = objectType;
     this.cps          = cps;
     this.questionaire = questionaire;
     Init();
 }
Пример #15
0
 public QuestionaireTreeIterator(Questionaire data, QuestionaireTemplate structure)
 {
     this.data      = data;
     this.structure = structure;
     this.depth     = 0;
     this.qIndex    = -1;
     this.aIndex    = -1;
 }
Пример #16
0
        public ActionResult DeleteConfirmed(int id)
        {
            Questionaire questionaire = db.Questionaire.Find(id);

            db.Questionaire.Remove(questionaire);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #17
0
 private QuestionaireTreeIterator(Questionaire data, QuestionaireTemplate structure, int depth, int qIndex, int aIndex)
 {
     this.data      = data;
     this.structure = structure;
     this.depth     = depth;
     this.qIndex    = qIndex;
     this.aIndex    = aIndex;
 }
Пример #18
0
 internal void Sync(Questionaire questionaire, Question question)
 {
     this.questionaire = questionaire;
     foreach (Answer answer in question.Answers)
     {
         answer.questionKey = question.Key;
         Save(answer);
     }
 }
Пример #19
0
        public void CreateQuestionaire(Admin creator, bool isActive)
        {
            Questionaire questionaire = new Questionaire {
                isActive = isActive
            };

            DB.Admins.Where(a => a.name == creator.name).Single().Questionaires.Add(questionaire);
            DB.SaveChanges();
        }
Пример #20
0
        public void CreateQuestion(Questionaire questionaire, string questionBody, bool isMultipleChoice)
        {
            Question question = new Question {
                questionBody = questionBody, isMultipleChoice = isMultipleChoice
            };

            DB.Questionaires.Where(q => q.Admin.name == questionaire.Admin.name).Single().Questions.Add(question);
            DB.SaveChanges();
        }
        public ActionResult DeleteConfirmed(int id)
        {
            // delete   questionaire after  by admin
            Questionaire questionaire = context.questionaires.Find(id);

            context.questionaires.Remove(questionaire);
            context.SaveChanges();
            return(RedirectToAction("Index", "Questionaire"));
        }
Пример #22
0
        public void TestMediator()
        {
            Questionaire q = new Questionaire();

            Assert.Equal("TrueTrueTrueTrue", q.Test());

            q.c2.ColleagueEnabled(false);
            Assert.Equal("TrueFalseTrueFalse", q.Test());
        }
        public void GetPartitionedQuestionaire(int examID, string type)
        {
            Questionaire createBadge = new Questionaire();
            string       query       = "SELECT [question_id], [question]" +
                                       "FROM [exam_question]" +
                                       "WHERE [exam_id] = " + examID + " AND [type] = '" + type + "'";

            Context.Response.Write(JsonConvert.SerializeObject(createBadge.GetQuestion(query)));
        }
Пример #24
0
        public void QuestionaireTest()
        {
            QuestionaireDAL questionaireDAL = new QuestionaireDAL(connString);

            Questionaire QbyID = questionaireDAL.GetQuestionaireByID(questionaireID);

            Assert.IsNotNull(QbyID);
            Assert.AreEqual("Nico", QbyID.Name);
        }
Пример #25
0
 private void InitTrainee(Questionaire trainee, DataRow row)
 {
     trainee.Key       = row["guid"].ToString();
     trainee.CreatedBy = row["created_by"].ToString();
     trainee.OID       = int.Parse(row["OID"].ToString());
     trainee.Deleted   = bool.Parse(row["deleted"].ToString());
     trainee.Name      = row["Name"].ToString();
     trainee.Sections  = new SectionProvider(DbInfo).GetSections(trainee.Key);
 }
Пример #26
0
        // viewmodel constructor (hook the model up to the viewmodel)
        public QuestionViewModel()
        {
            XmlSerializer serializer   = new XmlSerializer(typeof(Questionaire));
            FileStream    loadStream   = new FileStream("real_questions.xml", FileMode.Open, FileAccess.Read);
            Questionaire  questionaire = (Questionaire)serializer.Deserialize(loadStream);

            // Instantiate the defaultUser for the view
            User = new User();

            /*foreach (Question q in questionaire.Questions.Question)
             * {
             *  if (q.Level==User.SelectedQuestionaire && level_question.Count < User.QuestionLimit)
             *  {
             *      level_question.Add(q);
             *  }
             * }*/
            List <Question> level_question_aux = new List <Question>();

            foreach (Question q in questionaire.Questions.Question)
            {
                if (q.Level == User.SelectedQuestionaire)
                {
                    level_question_aux.Add(q);
                }
            }

            //shuffle pt level aux
            var rnd    = new Random();
            var result = level_question_aux.OrderBy(item => rnd.Next());

            foreach (var item in result)
            {
                if (level_question.Count < User.QuestionLimit)
                {
                    level_question.Add(item);
                }
            }


            //DataReader.GetQuestions(questionaireID, questionLimit, questionaire);
            question = level_question[0];
            //question = questionaire.Questions.Question[0];
            // fills the observable collection with Answer objects
            Answers = new ObservableCollection <Answer>();
            for (int i = 0; i < question.AnswerList.Answer.Count; i++)
            {
                Answers.Add(question.AnswerList.Answer[i]);
            }
            // set these counters for logic and display
            CompletedQuestions     = 0; // answers selected by user, wrapping
            DisplayedQuestionIndex = 0; // base 0 for navigation, wrapping
                                        // image string path

            // for results page
            WrongAnswers = new ObservableCollection <WrongAnswer>();
        }
Пример #27
0
 public ActionResult Edit([Bind(Include = "Id,Codename,Comments")] Questionaire questionaire)
 {
     if (ModelState.IsValid)
     {
         db.Entry(questionaire).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(questionaire));
 }
Пример #28
0
    public override void Init(Object obj = null)
    {
        instance = this;

        StressApp.instance.canvasController.SetScreen("TemplateQuestion_Screen");

        Questionaire.Get().OnEnterQuestionaire();

        //StressApp.instance.canvasController.GetScreen("TemplateQuestion_Screen").GetComponent<TemplateQuestion_Screen>().Init();
    }
Пример #29
0
        public bool SaveQuestionaire(Questionaire questionaire)
        {
            try
            {
                var exists = RecordExists("dsto_questionaire", questionaire.Key);

                string query = string.Empty;
                if (!exists)
                {
                    if (string.IsNullOrEmpty(questionaire.ConfigurationId))
                    {
                        query = $"insert into dsto_questionaire([guid],[Name],[created_by],[latitude],[longitude],[status],[yref_category],[yref_region],[yref_template],[code]) values('{questionaire.Key}','{questionaire.Name}','{questionaire.CreatedBy}','{questionaire.Latitude}','{questionaire.Longitude}','{(int)questionaire.Status}'," +
                                $"'{(questionaire.Category.OID == 0 ? DBNull.Value : questionaire.Category.Key)}','{((questionaire.Region.OID != 0) ? questionaire.Region.Key : DBNull.Value)}','{questionaire.Template}', '{(questionaire.Region.OID == 0 ? DBNull.Value : LatestCode(questionaire.Template) + 1)}')";
                    }
                    else if (!string.IsNullOrEmpty(questionaire.Template))
                    {
                        query = $"insert into dsto_questionaire([guid],[Name],[created_by],[configuration_id],[latitude],[longitude],[status],[yref_template]) values('{questionaire.Key}','{questionaire.Name}','{questionaire.CreatedBy}','{questionaire.ConfigurationId}','{questionaire.Latitude}','{questionaire.Longitude}','{(int)questionaire.Status}','{questionaire.Template}')";
                    }
                    else
                    {
                        query = $"insert into dsto_questionaire([guid],[Name],[created_by],[configuration_id],[latitude],[longitude],[status]) values('{questionaire.Key}','{questionaire.Name}','{questionaire.CreatedBy}','{questionaire.ConfigurationId}','{questionaire.Latitude}','{questionaire.Longitude}','{(int)questionaire.Status}')";
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(questionaire.Template))
                    {
                        query = $"UPDATE dsto_questionaire SET " +
                                $"[Name]='{questionaire.Name}', " +
                                $"[latitude]='{questionaire.Latitude}', " +
                                $"[longitude]='{questionaire.Longitude}', " +
                                $"[status]='{(int)questionaire.Status}', " +
                                $"[yref_template]='{questionaire.Template}', " +
                                $"[Deleted]='{questionaire.Deleted}' " +
                                $"WHERE [guid] = '{questionaire.Key}'";
                    }
                    else
                    {
                        query = $"UPDATE dsto_questionaire SET " +
                                $"[Name]='{questionaire.Name}', " +
                                $"[latitude]='{questionaire.Latitude}', " +
                                $"[longitude]='{questionaire.Longitude}', " +
                                $"[status]='{(int)questionaire.Status}', " +
                                $"[Deleted]='{questionaire.Deleted}' " +
                                $"WHERE [guid] = '{questionaire.Key}'";
                    }
                }

                return(DbInfo.ExecuteNonQuery(query) > -1);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #30
0
        public ActionResult Create([Bind(Include = "Id,Codename,Comments")] Questionaire questionaire)
        {
            if (ModelState.IsValid)
            {
                db.Questionaire.Add(questionaire);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(questionaire));
        }
Пример #31
0
 public void updateQuestionaire(Questionaire question)
 {
     throw new NotImplementedException();
 }