Inheritance: System.Web.UI.Page
示例#1
0
        static bool ProcessQuestionnaire(string prefix, ITemplater templater, Questionnaire q)
        {
            var tags = templater.Tags.ToArray();
            foreach (var t in tags)
                if ((prefix + "title").Equals(t, StringComparison.CurrentCultureIgnoreCase))
                    templater.ReplaceAll(t, q.Title);

            templater.Resize(new[] { prefix + "Text", prefix + "Question", prefix + "Answer" }, q.Questions.Count);

            foreach (var ask in q.Questions)
            {
                templater.Replace(prefix + "Text", ask.Text);
                templater.Resize(new[] { prefix + "Answer", prefix + "Question" }, ask.Options.Length);
                for (int i = 0; i < ask.Options.Length; i++)
                {
                    if (ask.SelectedOption == i)
                        templater.Replace(prefix + "Answer", "\u2611");
                    else
                        templater.Replace(prefix + "Answer", "\u2610");
                    templater.Replace(prefix + "Question", ask.Options[i]);
                }
            }

            return true;
        }
 public QuestionnarieListModel(Questionnaire model)
 {
     this.ID = model.ID;
     this.Title = model.Title;
     this.Time = model.Time.ToString();
     this.Username = model.User.Username;
     this.UserID = model.UserID;
 }
 private void FillData(Questionnaire questionnaire)
 {
     QuestionTextBox.Text = questionnaire.Question;
     StartCalendar.SelectedDate = questionnaire.StartDate;
     StartCalendar.DisplayDate = questionnaire.StartDate;
     EndCalendar.SelectedDate = questionnaire.EndDate;
     EndCalendar.DisplayDate = questionnaire.EndDate;
 }
示例#4
0
    // Use this for initialization
    void Start()
    {
        questionnaire = GameObject.Find("Navigator").GetComponent<Questionnaire>();
        currentSheet = questionnaire.currentSheet;

        questionScene = SceneManager.GetSceneByName("Question");
        exempleScene = SceneManager.GetSceneByName("Exemple");
    }
示例#5
0
 void Start()
 {
     questionnaire = GameObject.Find("Navigator").GetComponent<Questionnaire>();
     if (!questionnaire.areThereSheets())
     {
         sheetDirectoryPath.text = questionnaire.getSheetDirectoryPath();
         showNoSheetError();
     }
 }
 public void ProxyGetQuestionnaireCompleted(object sender, GetQuestionnaireCompletedEventArgs1 e)
 {
     _model = e.Result;
     _filledModel = new FilledQuestionnaire
                        {
                            Id = Guid.NewGuid(),
                            QuestionnaireName = _model != null ? _model.Name : "",
                            Answers = new ObservableCollection<Answer>()
                        };
     Update();
     OnNotifyPropertyChanged("Name");
 }
        public QuestionnaireDetails(ClientCredentials clientCredentials, Questionnaire questionnaire)
        {
            InitializeComponent();
            questionnaireSecureService = new QuestionnaireSecureServiceClient();
            questionnaireSecureService.ClientCredentials.UserName.UserName = clientCredentials.UserName.UserName;
            questionnaireSecureService.ClientCredentials.UserName.Password = clientCredentials.UserName.Password;

            this.SelectedQuestionnaire = questionnaire;
            FillData(SelectedQuestionnaire);
            BlockAllDataValues();

            EditButton.IsEnabled = true;
            DeleteButton.IsEnabled = true;

            IsNewObject = false;
        }
        public QuestionnaireDetails(ClientCredentials clientCredentials)
        {
            InitializeComponent();
            questionnaireSecureService = new QuestionnaireSecureServiceClient();
            questionnaireSecureService.ClientCredentials.UserName.UserName = clientCredentials.UserName.UserName;
            questionnaireSecureService.ClientCredentials.UserName.Password = clientCredentials.UserName.Password;

            SelectedQuestionnaire = new Questionnaire();
            StartCalendar.SelectedDate = DateTime.Now;
            EndCalendar.SelectedDate = DateTime.Now.AddDays(7);
            UnlockAllDataValues();

            SaveButton.IsEnabled = true;

            IsNewObject = true;
        }
示例#9
0
        public static void Main(string[] args)
        {
            var quest = new Questionnaire { Title = "When to write a Templater plugin?" };
            quest.Add(
                "When should a formatting plugin be used?",
                "When a simple value conversion is required",
                new[]{ "When a custom data type is required",
                    "To improve performance",
                    "It should never be used. All possible scenarios are already covered"});
            quest.Add(
                "When should a metadata plugin be used?",
                "To implement common features, such as region collapse",
                new[]{ "When a custom data type is required",
                    "To improve performance",
                    "It should never be used. All possible scenarios are already covered"});
            quest.Add(
                "When should a processor plugin be used?",
                "When a custom data type is required",
                new[]{ "When a simple value conversion is required",
                    "To improve performance",
                    "It should never be used. All possible scenarios are already covered"});

            var factory =
                Configuration.Builder
                .Include<Questionnaire>(ProcessQuestionnaire)
                .Include(FormatDate)
                .Build();

            using (var input = new FileStream("questions.docx", FileMode.Open))
            using (var output = new FileStream("questionnaire.docx", FileMode.Create))
            using (var doc = factory.Open(input, output, "docx"))
            {
                doc.Process(new { Date = DateTime.Now, Q = quest });
            }

            Process.Start("questionnaire.docx");
        }
        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();
            });
        }
 public QuestionnaireWrapper(int id)
 {
     _q = (from q in db.Questionnaires
           where q.Id == id
           select q).SingleOrDefault();
 }
        /// Function Header*******************************************************
        /// Function Name: SaveQuestionnaireDetails
        /// Function Type: Function
        /// Functionality: used to save the details of company
        /// Input: 
        /// Output: 
        /// Return Value:
        /// Note: 
        /// *********************************************************************
        public int SaveQuestionnaireDetails(Entity.QuestionnaireInfo oQuestionnaireInfo)
        {
            using (TLWDALDataContext _db = new TLWDALDataContext())
            {
                int intRetVal = 1;
                var _varDup = _db.Questionnaires.Where(x => x.strQuestion.ToLower().Equals(oQuestionnaireInfo.StrQuestion.ToLower())
                                       && x.chrIsDeleted.Equals('N')
                                       && x.intQuestionnaireType.Equals(oQuestionnaireInfo.IntQuestionnaireType)
                                   ).SingleOrDefault();
                if (_varDup != null)
                {
                    intRetVal = -1;
                    oQuestionnaireInfo = null;
                    _varDup = null;
                }
                else
                {

                    DAL.Questionnaire oQuestionnaireDAL = new Questionnaire();
                    oQuestionnaireDAL.intQuestionnaireType = oQuestionnaireInfo.IntQuestionnaireType;
                    oQuestionnaireDAL.strQuestion = oQuestionnaireInfo.StrQuestion;
                    oQuestionnaireDAL.chrDisplayYes = oQuestionnaireInfo.ChrDisplayYes;
                    oQuestionnaireDAL.chrDisplayNo = oQuestionnaireInfo.ChrDisplayNo;
                    oQuestionnaireDAL.chrDisplayDontKnow = oQuestionnaireInfo.ChrDisplayDontKnow;

                    oQuestionnaireDAL.chrIsActive = oQuestionnaireInfo.ChrIsActive;
                    oQuestionnaireDAL.chrIsDeleted = oQuestionnaireInfo.ChrIsDeleted;
                    oQuestionnaireDAL.dtDeletedDate = oQuestionnaireInfo.DtCreatedDate;
                    oQuestionnaireDAL.dtCreatedDate = oQuestionnaireInfo.DtCreatedDate;
                    oQuestionnaireDAL.strQuestionHeading = oQuestionnaireInfo.StrQuestionHeading;
                    _db.Questionnaires.InsertOnSubmit(oQuestionnaireDAL);
                    _db.SubmitChanges();

                    intRetVal = oQuestionnaireDAL.intQuestionnaireId;
                    oQuestionnaireDAL = null;
                    oQuestionnaireInfo = null;
                }

                return intRetVal;
            }
        }
示例#13
0
 protected void SaveQuestionnaire(Questionnaire questionnaire)
 {
     HttpContext.Session.Set(QUESTIONNAIRE_SESSION_KEY, questionnaire);
 }
示例#14
0
 public void Create(Questionnaire questionnaire)
 {
     _questionnaireReposittory.Create(questionnaire);
 }
        public void NextSlide_GivenNoSlides_Throw()
        {
            var q = new Questionnaire();

            q.NextSlide();
        }
        public DomainModelResponse Update(QuestionnaireUpdateRequest request)
        {
            Questionnaire Questionnaire = _repQuestionnaire.Get(filter: f => f.QuestionnaireCode == request.QuestionnaireCode).FirstOrDefault();

            if (request.IsATemplate.HasValue)
            {
                Questionnaire.IsATemplate = (bool)request.IsATemplate;
            }
            List <string> qIds = Questionnaire.QuestionSet.Split(',').ToList();

            if (request.QuestionIds != null) //List of QuestionIds to be deleted
            {
                foreach (int id in request.QuestionIds)
                {
                    qIds.Remove(id.ToString());
                }
            }

            if (request.Questions != null)
            {
                List <QuestionType> questionTypes = _repQuestionType.Get().ToList();
                foreach (var q in request.Questions)
                {
                    EntityModel.Question eQ = new EntityModel.Question()
                    {
                        QuestionText    = q.questionText,
                        LastChangedTime = DateTime.UtcNow,
                        QuestionType    = questionTypes.Where(x => x.Type.Equals(q.questionType, StringComparison.OrdinalIgnoreCase)).FirstOrDefault(),
                        QuestionTypeId  = questionTypes.Where(x => x.Type.Equals(q.questionType, StringComparison.OrdinalIgnoreCase)).FirstOrDefault().QuestionTypeId,
                        Priority        = q.Priority.ToString()
                    };
                    _repQuestion.Add(eQ);
                    _uow.Commit();
                    eQ = _repQuestion.Get(filter: f => f.QuestionText == q.questionText).FirstOrDefault();
                    qIds.Add(eQ.QuestionId.ToString());
                    foreach (var ans in q.answerChoices)
                    {
                        AnswerChoice ac = new AnswerChoice()
                        {
                            Answer     = ans,
                            Question   = eQ,
                            QuestionId = eQ.QuestionId
                        };
                        _repAnswerChoice.Add(ac);
                    }
                }
            }

            StringBuilder fQIds = new StringBuilder();

            foreach (string id in qIds)
            {
                fQIds.Append(id);
                fQIds.Append(",");
            }
            fQIds.Remove(fQIds.Length - 1, 1);
            Questionnaire.QuestionSet = fQIds.ToString();
            _repQuestionnaire.Update(Questionnaire);
            _uow.Commit();
            _questionnaireResponse.addResponse("Update", MessageCodes.InfoSavedSuccessfully, "questionnaire : " + request.QuestionnaireCode);
            return(_questionnaireResponse);
        }
示例#17
0
        private void btnDeleteQuestion_Click(object sender, EventArgs e)
        {
            Questionnaire tempQuestionnaire = new Questionnaire(-1);

            if (AddQuestionnaireController != null)
            {
                tempQuestionnaire = AddQuestionnaireController.Model.Questionnaire;
            }
            if (QuestionnaireDetailController != null)
            {
                tempQuestionnaire = QuestionnaireDetailController.Model.Questionnaire;
            }
            if (tvQuestions.SelectedNode != null)
            {
                //Dialoog voor bevestiging
                DialogResult dr = MessageBox.Show("Weet u zeker dat u deze vraag wilt verwijderen?", "Let op", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

                //Als er op OK geklikt is, verwijder antwoord uit lijst
                if (dr == DialogResult.Yes)
                {
                    MultipleChoiceQuestion q = (MultipleChoiceQuestion)tvQuestions.SelectedNode.Tag;

                    int index = tempQuestionnaire.Questions.FindIndex(ql => ql.QuestionIndex == q.QuestionIndex);
                    tempQuestionnaire.Questions.RemoveAt(index);

                    int newQuestionIndex = 1;
                    foreach (Question question in tempQuestionnaire.Questions)
                    {
                        question.QuestionIndex = newQuestionIndex++;
                    }

                    UpdateTreeView();
                    DisableEditDeleteButtons();

                    if (AddQuestionnaireController != null)
                    {
                        AddQuestionnaireController.Model.Questionnaire = tempQuestionnaire;
                        AddQuestionnaireController.CheckButtons();
                    }
                    if (QuestionnaireDetailController != null)
                    {
                        if (QuestionnaireDetailController.Model.DeletedQuestions == null)
                        {
                            QuestionnaireDetailController.Model.DeletedQuestions = new List<Question>();
                        }
                        QuestionnaireDetailController.Model.Questionnaire = tempQuestionnaire;
                        QuestionnaireDetailController.Model.DeletedQuestions.Add(q);
                    }
                }
            }
        }
示例#18
0
    void Start()
    {
        Debug.Log("new key");
        EndingText = GameObject.Find("EndingText").GetComponent<Text>();
        EndingText.gameObject.SetActive (false);
        transform.position = new Vector3 (-1.0f, GameManager.instance.maze.height / 2, 0);
        rb = GetComponent<Rigidbody2D> ();
        //globalKeys = GameManager.instance.nbKeys;
        localKeys = 0;
        KeyText.text = "Clés : " + localKeys;

        questionnaire = GameObject.Find("Navigator").GetComponent<Questionnaire>();
    }
示例#19
0
        public ActionResult Questionnaire(int filmID, int memberID)
        {
            MemberFilm mf = db.MemberFilms.Where(x => x.FilmID == filmID && x.MemberID == memberID).FirstOrDefault();

            Film   film   = db.Films.Find(filmID);
            Member member = db.Members.Find(memberID);

            var aspUser = db.Users.Find(member.ASPID);

            bool isCollection = false;

            if (film.Title == "Collection")
            {
                isCollection = true;
            }

            Questionnaire q = new Questionnaire()
            {
                FilmID       = filmID,
                MemberID     = memberID,
                IsCollection = isCollection,
                FilmTitle    = film.Title,
                Email        = aspUser.Email
            };

            if (isCollection)
            {
                var coll  = db.FilmCollections.Where(c => c.FilmID == filmID).First();
                var films = db.Films.Where(f => f.FilmCollectionID == coll.FilmCollectionID && f.FilmID != filmID).ToList();

                q.FilmTitle = coll.Name;
                q.Films     = films;
            }

            List <ScaleViewModel> scales = new List <ScaleViewModel>();

            for (int i = 1; i < 11; i++)
            {
                scales.Add(new ScaleViewModel()
                {
                    Value = i,
                    Text  = i.ToString()
                });
            }

            ViewBag.Scales = scales;

            List <ScaleViewModel> from = new List <ScaleViewModel>()
            {
                new ScaleViewModel()
                {
                    Value = 0, Text = "Ramsgate"
                },
                new ScaleViewModel()
                {
                    Value = 1, Text = "Kent"
                },
                new ScaleViewModel()
                {
                    Value = 2, Text = "UK"
                },
                new ScaleViewModel()
                {
                    Value = 3, Text = "Europe"
                },
                new ScaleViewModel()
                {
                    Value = 4, Text = "Americas"
                },
                new ScaleViewModel()
                {
                    Value = 5, Text = "Asia"
                },
                new ScaleViewModel()
                {
                    Value = 6, Text = "Africa"
                },
                new ScaleViewModel()
                {
                    Value = 7, Text = "Oceania"
                }
            };

            ViewBag.Locations = from;

            List <ScaleViewModel> gender = new List <ScaleViewModel>()
            {
                new ScaleViewModel()
                {
                    Value = 0, Text = "Male"
                },
                new ScaleViewModel()
                {
                    Value = 1, Text = "Female"
                },
                new ScaleViewModel()
                {
                    Value = 2, Text = "Transgender"
                },
                new ScaleViewModel()
                {
                    Value = 3, Text = "Non-binary"
                },
                new ScaleViewModel()
                {
                    Value = 4, Text = "Prefer no answer"
                }
            };

            ViewBag.Gender = gender;

            List <ScaleViewModel> ages = new List <ScaleViewModel>()
            {
                new ScaleViewModel()
                {
                    Value = 0, Text = "8 to 14"
                },
                new ScaleViewModel()
                {
                    Value = 1, Text = "15 to 18"
                },
                new ScaleViewModel()
                {
                    Value = 2, Text = "19 to 25"
                },
                new ScaleViewModel()
                {
                    Value = 3, Text = "26 to 45"
                },
                new ScaleViewModel()
                {
                    Value = 4, Text = "46 to 65"
                },
                new ScaleViewModel()
                {
                    Value = 4, Text = "Over 65"
                }
            };

            ViewBag.Ages = ages;

            return(View(q));
        }
示例#20
0
        //Functie om de TreeView met vragen en antwoorden te updaten
        public void UpdateTreeView()
        {
            Questionnaire tempQuestionnaire = new Questionnaire(-1);

            //Sorteer de lijst met vragen op QuestionIndex
            if (AddQuestionnaireController != null)
            {
                tempQuestionnaire = AddQuestionnaireController.Model.Questionnaire;
            }
            if (QuestionnaireDetailController != null)
            {
                tempQuestionnaire = QuestionnaireDetailController.Model.Questionnaire;
            }

            tempQuestionnaire.Questions.Sort();

            //Maak de TreeView leeg
            tvQuestions.Nodes.Clear();

            //Loop door alle vragen heen
            foreach (MultipleChoiceQuestion q in tempQuestionnaire.Questions)
            {
                //Voeg Node toe met vraag
                TreeNode addedNode = tvQuestions.Nodes.Add(q.QuestionIndex + ": " + q.Description + " [" + q.TimeRestriction + "]");

                //Maak een bold font aan
                Font boldFont = new Font(tvQuestions.Font, FontStyle.Bold);

                //Stel het bold font in voor de Node
                addedNode.NodeFont = boldFont;

                //Reset de tekst van de Node, zodat het nieuwe font toegepast wordt
                addedNode.Text = addedNode.Text;

                //Koppel vraagobject aan de Node
                addedNode.Tag = q;

                //Loop door alle antwoorden heen
                foreach (Answer answer in q.AnswerOptions)
                {
                    string answerDescription = answer.Description;

                    Color childColor = Color.Red;

                    if (answer.Equals(q.CorrectAnswer))
                    {
                        childColor = Color.Green;
                    }

                    //Voeg Child toe
                    TreeNode addedChild = addedNode.Nodes.Add(answerDescription);
                    addedChild.ForeColor = childColor;

                    //Koppel antwoord aan Child
                    addedChild.Tag = answer;
                }
            }

            //Klap alle vragen uit
            tvQuestions.ExpandAll();

            if (!ValidateQuestions())
            {
                epNoQuestions.SetError(lblQuestions, "Voeg vragen toe aan de vragenlijst");
            }
            else
            {
                epNoQuestions.Clear();
            }

            if (AddQuestionnaireController != null)
            {
                AddQuestionnaireController.CheckButtons();
            }

            if (QuestionnaireDetailController != null)
            {
                QuestionnaireDetailController.CheckQuestions();
            }
        }
        public ActionResult ReviewQuestionnaire(int?id, QuestionnaireViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (id == null)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                Questionnaire questionnaire = db.Questionnaires.Find(id);
                if (questionnaire == null)
                {
                    return(HttpNotFound());
                }

                // Review the questionnaire.
                questionnaire.BComment             = model.BComment;
                questionnaire.MComment             = model.MComment;
                questionnaire.MReviewQuestionnaire = model.MReviewQuestionnaire;
                questionnaire.BReviewQuestionnaire = model.BReviewQuestionnaire;

                db.Entry(questionnaire).State = EntityState.Modified;
                db.SaveChanges();

                // Change questionaire and request status.
                // If Brand Manager approves questionnaire.
                if (questionnaire.BReviewQuestionnaire == Review.Approved)
                {
                    questionnaire.Status = QuestionnaireStatus.MDQuestionnaireApproval;
                }
                db.Entry(questionnaire).State = EntityState.Modified;
                db.SaveChanges();

                var request = db.CPTRequests.Where(r => r.QuestionnaireId == questionnaire.QuestionnaireID).First();
                if (questionnaire.Status == QuestionnaireStatus.MDQuestionnaireApproval)
                {
                    request.RequestStatus   = RequestStatus.MDQuestionnaireApproval;
                    db.Entry(request).State = EntityState.Modified;
                    db.SaveChanges();
                }

                // If Brand Manager rejects questionniare.
                else if (questionnaire.BReviewQuestionnaire == Review.Rejected)
                {
                    questionnaire.Status          = QuestionnaireStatus.QuestionnaireModification;
                    db.Entry(questionnaire).State = EntityState.Modified;
                    db.SaveChanges();

                    if (questionnaire.Status == QuestionnaireStatus.QuestionnaireModification)
                    {
                        request.RequestStatus   = RequestStatus.QuestionnaireModification;
                        db.Entry(request).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
                ;

                // If Marketing Director approves questionnaire.
                if (questionnaire.MReviewQuestionnaire == Review.Approved)
                {
                    questionnaire.Status          = QuestionnaireStatus.QuestionnaireExecution;
                    db.Entry(questionnaire).State = EntityState.Modified;
                    db.SaveChanges();

                    if (questionnaire.Status == QuestionnaireStatus.QuestionnaireExecution)
                    {
                        request.RequestStatus   = RequestStatus.QuestionnaireExecution;
                        db.Entry(request).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
                // If Marketing Director rejects questionnaire.
                else if (questionnaire.MReviewQuestionnaire == Review.Rejected)
                {
                    questionnaire.Status          = QuestionnaireStatus.QuestionnaireModification;
                    db.Entry(questionnaire).State = EntityState.Modified;
                    db.SaveChanges();

                    if (questionnaire.Status == QuestionnaireStatus.QuestionnaireModification)
                    {
                        request.RequestStatus   = RequestStatus.QuestionnaireModification;
                        db.Entry(request).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }

                // Return to Pending Requests
                if (User.IsInRole("Brand Manager"))
                {
                    return(RedirectToAction("BrandManagerReviewIndex", "CPTRequest"));
                }
                else if (User.IsInRole("Marketing Director"))
                {
                    return(RedirectToAction("MarketingDirectorReviewIndex", "CPTRequest"));
                }
            }
            return(View());
        }
 public EvaluationViewModel(Test test, Evaluation evaluation, int[][] Selected_FO, int IdQuestionnaireToUse, Questionnaire QuestionnaireToUse)
 {
     agesList              = null;
     senioritiesList       = null;
     instructionLevelsList = null;
     positionLevelsList    = null;
     locationsList         = null;
     positionLevelsList    = null;
     FOTypes                    = null;
     FOrganizations             = null;
     performanceEvaluationsList = null;
     progress                   = 0;
     FO = null;
     previousEvaluation   = null;
     IdSelectorValue      = 0;
     listOfQuestionnaires = null;
     DicOfQuestionnairesAndSelectorValues = null;
     this.IdQuestionnaireToUse            = IdQuestionnaireToUse;
     this.QuestionnaireToUse = QuestionnaireToUse;
     this.test        = test;
     this.evaluation  = evaluation;
     this.Selected_FO = Selected_FO;
 }
示例#23
0
 public static void NullQuestionnaire(this IGuardClause guardClause, int questionnaireid, Questionnaire questionnaires)
 {
     if (questionnaires == null)
     {
         throw new QuestionnaireNotFoundException(questionnaireid);
     }
 }
示例#24
0
    // Use this for initialization
    void Start()
    {
        questionnaire = GameObject.Find("Navigator").GetComponent<Questionnaire>();

            #if UNITY_ANDROID
                    profilesDir = Application.persistentDataPath + "/../../../../SeriousGame/Profiles"; //Doesn't Work, we need to enable Write Access
            #endif
            #if UNITY_EDITOR
            profilesDir = Application.dataPath + "/../Profiles";
            #endif

        profilesDir = Path.GetFullPath(profilesDir);

        if (!Directory.Exists(profilesDir))
        {
            Directory.CreateDirectory(profilesDir);
        }

        refreshProfiles();

        if (profilesPath == null)
        {
            return;
        }

        currentProfileIndex = 0;
        currentProfile = null;
    }
示例#25
0
        public ActionResult Action(QuestionViewModel mod)
        {
            Dal             db            = new Dal();
            List <Individu> destinataires = new List <Individu>();
            List <Groupe>   groupes       = new List <Groupe>();

            foreach (string str in mod.Dests.Split(';'))
            {
                destinataires.Add(db.GetIndividus().FirstOrDefault(i => i.userLogin == str));
            }

            foreach (string str in mod.Dests.Split(';'))
            {
                groupes.Add(db.GetGroupes().FirstOrDefault(g => g.nom == str));
            }
            Message content = new Message
            {
                Individu      = db.GetIndividus().Find(i => i.Id == int.Parse(User.Identity.Name)),
                contenu       = mod.Detail,
                sujet         = mod.Sujet,
                lu            = false,
                recu          = false,
                Id_expediteur = int.Parse(User.Identity.Name),
                Id            = db.GetLastIdMessage() + 1,
                envoi         = System.DateTime.Now,
                lecture       = System.DateTime.Now
            };

            if (!mod.question)
            {
                Questionnaire question = new Questionnaire
                {
                    Id   = db.GetLastQuestion() + 1,
                    type = mod.Type,
                    Type_Questionnaire = db.GetTypeQuestion(mod.Type),
                    Id_message         = content.Id,
                };
                foreach (int i in mod.Reponses)
                {
                    var opt   = db.Reponses()[i - 1];
                    int idrep = db.GetRep().Count;
                    idrep += i;
                    Reponses rep = new Reponses
                    {
                        Questionnaire        = question,
                        Id                   = idrep,
                        Id_question          = question.Id,
                        Id_reponse           = i,
                        Option_Questionnaire = opt
                    };
                    db.Addreponse(rep);
                    opt.Reponses.Add(rep);
                    question.Reponses.Add(rep);
                }

                db.GetIndividus().Find(i => i.Id == int.Parse(User.Identity.Name)).Message.Add(content);
                db.GetQuestion().Add(question);
                db.AddMessage(content);

                question.Message = content;
                content.Questionnaire.Add(question);
            }

            foreach (Individu ind in destinataires)
            {
                if (ind != null)
                {
                    Notification_Simple notif = new Notification_Simple
                    {
                        Id_individu = ind.Id,
                        Individu    = ind,
                        Id_message  = content.Id,
                        Message     = content
                    };
                    ind.Notification_Simple.Add(notif);
                    content.Notification_Simple.Add(notif);
                }
            }
            foreach (Groupe gr in groupes)
            {
                if (gr != null)
                {
                    Notification_Diffusion not = new Notification_Diffusion
                    {
                        Id_groupe  = gr.Id,
                        Groupe     = gr,
                        Id_message = content.Id,
                        Message    = content,
                    };
                    gr.Notification_Diffusion.Add(not);
                    content.Notification_Diffusion.Add(not);
                }
            }

            db.Savedb();
            NotificationsHub.GetNotificationHtml(content, db.GetIdsDestinataires(mod));
            return(RedirectToAction("Index", "Home"));
        }
示例#26
0
        public void TestSummary()
        {
            var p = new Patient
            {
                BirthDate = "1972-11-30",     // present in both summary and full
                Photo     = new List <Attachment>()
                {
                    new Attachment()
                    {
                        ContentType = "text/plain"
                    }
                }
            };

            var full = FhirXmlSerializer.SerializeToString(p);

            Assert.IsTrue(full.Contains("<birthDate"));
            Assert.IsTrue(full.Contains("<photo"));
            Assert.IsNull(p.Meta, "Meta element should not be introduced here.");

            var summ = FhirXmlSerializer.SerializeToString(p, summary: Fhir.Rest.SummaryType.True);

            Assert.IsTrue(summ.Contains("<birthDate"));
            Assert.IsFalse(summ.Contains("<photo"));
            Assert.IsNull(p.Meta, "Meta element should not be introduced here.");

            var q = new Questionnaire
            {
                Text = new Narrative()
                {
                    Div = "<div xmlns=\"http://www.w3.org/1999/xhtml\">Test Questionnaire</div>"
                },
                Status = Questionnaire.QuestionnaireStatus.Published,
                Date   = "2015-09-27",
                Group  = new Questionnaire.GroupComponent
                {
                    Title  = "TITLE",
                    Text   = "TEXT",
                    LinkId = "linkid"
                }
            };

            Assert.IsNull(q.Meta, "Meta element has not been created.");
            var qfull = FhirXmlSerializer.SerializeToString(q);

            Assert.IsNull(q.Meta, "Meta element should not be introduced here.");
            Console.WriteLine("summary: Fhir.Rest.SummaryType.False");
            Console.WriteLine(qfull);
            Assert.IsTrue(qfull.Contains("Test Questionnaire"));
            Assert.IsTrue(qfull.Contains("<status value=\"published\""));
            Assert.IsTrue(qfull.Contains("<date value=\"2015-09-27\""));
            Assert.IsTrue(qfull.Contains("<title value=\"TITLE\""));
            Assert.IsTrue(qfull.Contains("<text value=\"TEXT\""));
            Assert.IsTrue(qfull.Contains("<linkId value=\"linkid\""));

            var qSum = FhirXmlSerializer.SerializeToString(q, summary: Fhir.Rest.SummaryType.True);

            Console.WriteLine("summary: Fhir.Rest.SummaryType.True");
            Console.WriteLine(qSum);
            Assert.IsFalse(qSum.Contains("Test Questionnaire"));
            Assert.IsTrue(qSum.Contains("<status value=\"published\""));
            Assert.IsTrue(qSum.Contains("<date value=\"2015-09-27\""));
            Assert.IsTrue(qSum.Contains("<title value=\"TITLE\""));
            Assert.IsFalse(qSum.Contains("<text value=\"TEXT\""));
            Assert.IsFalse(qSum.Contains("<linkId value=\"linkid\""));

            var qData = FhirXmlSerializer.SerializeToString(q, summary: Fhir.Rest.SummaryType.Data);

            Console.WriteLine("summary: Fhir.Rest.SummaryType.Data");
            Console.WriteLine(qData);
            Assert.IsFalse(qData.Contains("Test Questionnaire"));
            Assert.IsTrue(qData.Contains("<meta"));
            Assert.IsTrue(qData.Contains("<text value=\"TEXT\""));
            Assert.IsTrue(qData.Contains("<status value=\"published\""));
            Assert.IsTrue(qData.Contains("<date value=\"2015-09-27\""));
            Assert.IsTrue(qData.Contains("<title value=\"TITLE\""));
            Assert.IsTrue(qData.Contains("<linkId value=\"linkid\""));

            q.Meta = new Meta {
                VersionId = "v2"
            };
            var qText = FhirXmlSerializer.SerializeToString(q, summary: Fhir.Rest.SummaryType.Text);

            Console.WriteLine("summary: Fhir.Rest.SummaryType.Text");
            Console.WriteLine(qText);
            Assert.IsTrue(qText.Contains("Test Questionnaire"));
            Assert.IsTrue(qText.Contains("<meta"));
            Assert.IsTrue(qText.Contains("<status value=\"published\""));
            Assert.IsFalse(qText.Contains("<text value=\"TEXT\""));
            Assert.IsFalse(qText.Contains("<date value=\"2015-09-27\""));
            Assert.IsFalse(qText.Contains("<title value=\"TITLE\""));
            Assert.IsFalse(qText.Contains("<linkId value=\"linkid\""));
            Assert.AreEqual(0, q.Meta.Tag.Where(t => t.System == "http://hl7.org/fhir/v3/ObservationValue" && t.Code == "SUBSETTED").Count(), "Subsetted Tag should not still be there.");

            // Verify that reloading the content into an object...
            // make sure we accept the crappy output with empty groups
            var nav = FhirXmlNode.Parse(qText, new FhirXmlParsingSettings {
                PermissiveParsing = true
            });

            var qInflate = FhirXmlParser.Parse <Questionnaire>(nav);

            Assert.AreEqual(1, qInflate.Meta.Tag.Where(t => t.System == "http://hl7.org/fhir/v3/ObservationValue" && t.Code == "SUBSETTED").Count(), "Subsetted Tag should not still be there.");
        }
示例#27
0
        private IList <Questionnaire> GetQuestionnairesFromFlatFileFormatV1(string path)
        {
            if (string.IsNullOrWhiteSpace(path))
            {
                throw new ArgumentNullException(nameof(path));
            }
            if (!File.Exists(path))
            {
                throw new FileNotFoundException($"File not found: '{path}'", path);
            }

            IList <Questionnaire> questionnaires = new List <Questionnaire>();

            var engine = new MasterDetailEngine <QuestionnaireHeader, QuestionnaireItem>(new MasterDetailSelector(RecordSelector))
            {
                Encoding = new UTF8Encoding()
            };

            MasterDetails <QuestionnaireHeader, QuestionnaireItem>[] masterDetails = engine.ReadFile(path);
            foreach (MasterDetails <QuestionnaireHeader, QuestionnaireItem> masterDetail in masterDetails)
            {
                _logger.LogDebug($"Questionnaire: {masterDetail.Master.Name} - {masterDetail.Master.Title}");

                Questionnaire questionnaire = new Questionnaire();

                questionnaire.Meta = new Meta
                {
                    Profile = new string[] { "http://ehelse.no/fhir/StructureDefinition/sdf-Questionnaire" }
                };

                questionnaire.Id          = string.IsNullOrWhiteSpace(masterDetail.Master.Id) ? null : masterDetail.Master.Id;
                questionnaire.Url         = string.IsNullOrWhiteSpace(masterDetail.Master.Url) ? null : masterDetail.Master.Url;
                questionnaire.Version     = string.IsNullOrWhiteSpace(masterDetail.Master.Version) ? null : masterDetail.Master.Version;
                questionnaire.Name        = string.IsNullOrWhiteSpace(masterDetail.Master.Name) ? null : masterDetail.Master.Name;
                questionnaire.Title       = string.IsNullOrWhiteSpace(masterDetail.Master.Title) ? null : masterDetail.Master.Title;
                questionnaire.Status      = string.IsNullOrWhiteSpace(masterDetail.Master.Status) ? null : EnumUtility.ParseLiteral <PublicationStatus>(masterDetail.Master.Status);
                questionnaire.Date        = string.IsNullOrWhiteSpace(masterDetail.Master.Date) ? null : masterDetail.Master.Date;
                questionnaire.Publisher   = string.IsNullOrWhiteSpace(masterDetail.Master.Publisher) ? null : masterDetail.Master.Publisher;
                questionnaire.Description = string.IsNullOrWhiteSpace(masterDetail.Master.Description) ? null : new Markdown(masterDetail.Master.Description);
                questionnaire.Purpose     = string.IsNullOrWhiteSpace(masterDetail.Master.Purpose) ? null : new Markdown(masterDetail.Master.Purpose);
                questionnaire.Contact     = string.IsNullOrWhiteSpace(masterDetail.Master.Contact) ? null : new List <ContactDetail> {
                    new ContactDetail {
                        Telecom = new List <ContactPoint> {
                            new ContactPoint {
                                System = ContactPoint.ContactPointSystem.Url, Value = masterDetail.Master.Contact
                            }
                        }
                    }
                };

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.Language))
                {
                    questionnaire.Language = masterDetail.Master.Language;
                    // TODO: Vi trenger definere Visningsnavn for språket, eksempelvis: Norsk (bokmål), osv.
                    questionnaire.Meta.Tag.Add(new Coding("urn:ietf:bcp:47", questionnaire.Language));
                }

                IList <string> linkIds           = new List <string>();
                Questionnaire.ItemComponent item = null;
                for (int i = 0; i < masterDetail.Details.Length; i++)
                {
                    QuestionnaireItem questionnaireItem = masterDetail.Details[i];

                    if (linkIds.IndexOf(questionnaireItem.LinkId) > 0)
                    {
                        throw new DuplicateLinkIdException(questionnaireItem.LinkId);
                    }

                    _logger.LogDebug($"Questionnaire Item: {questionnaireItem.LinkId} - {questionnaireItem.Type} - {questionnaireItem.Text}");

                    int level = questionnaireItem.LinkId.Split('.').Length - 1;
                    if (level > 0)
                    {
                        i = DiveV1(i, level, item.Item, masterDetail.Details);
                    }
                    else
                    {
                        item = CreateItemComponentV1(questionnaireItem);
                        questionnaire.Item.Add(item);
                    }
                }

                questionnaires.Add(questionnaire);
            }

            return(questionnaires);
        }
示例#28
0
    // Use this for initialization
    void Start()
    {
        questionnaire = GameObject.Find("Navigator").GetComponent<Questionnaire>();

        //GameObject terrain = (GameObject)Resources.Load((UnityEngine.Random.Range(0,2) == 0)?"TIle":"TGlace", typeof(GameObject));
        //Instantiate(terrain);
        m = Map.GetComponent<Map>();
        m.PrepareMap();
        Vector3 pos = m.tiles[0].transform.position + new Vector3(0, 0, 0);
        GameObject player = (GameObject)Resources.Load("Player", typeof(GameObject));
        RPS = (GameObject)Resources.Load("RandomPlayerSelector", typeof(GameObject));

        //animator = Canvas.GetComponent("LevelImage").GetComponent<Animator>();

        for (int i = 0; i < nbPlayer; ++i)
        {
            Players[i] = (GameObject)Instantiate(player);
            Players[i].GetComponent<SpriteRenderer>().sprite = playerSprites[i];

            Players[i].transform.position = pos;

            Players[i].SetActive(true);
        }
        d = Dice.GetComponent<Dice>();
        for (int i = 0; i < nbPlayer; ++i)
        {
            bonus[i] = new GameObject[nbBonus];
            for (int j = 0; j < nbBonus; ++j)
            {
                bonus[i][j] = (GameObject)Instantiate(bonusPrefabs[j]);
                bonus[i][j].SetActive(false);
                bonus[i][j].transform.parent = transform;
            }
        }
        for (int i = 0; i < nbPlayer; ++i)
        {
            if (isFromSavedGame)
            {
                Players[i].transform.position = savecPos[i];
            }

        }

        for (int i = 0; i < nbPlayer; ++i)
            playerPos[i] = -1;
        for (int i = 0; i < nbPlayer; ++i)
        {
            playerPos[i] = 0;
            SetSecondaryPlayer(Players[i], i);
        }
        SetMainPlayer(Players[currentPlayer], currentPlayer);

        for (int i = 0; i < nbPlayer; ++i)
        {
            goodAnswersinARow[i] = 0;
        }

        //Setting Bonus Behaviors
        bonusesBehavior[0] = BonusMoins1;
        bonusesBehavior[1] = BonusMoins2;
        bonusesBehavior[2] = BonusPlus3;
    }
示例#29
0
        private IList <Questionnaire> GetQuestionnairesFromFlatFileFormatV2(string path)
        {
            if (string.IsNullOrWhiteSpace(path))
            {
                throw new ArgumentNullException(nameof(path));
            }
            if (!File.Exists(path))
            {
                throw new FileNotFoundException($"File not found: '{path}'", path);
            }

            IList <Questionnaire> questionnaires = new List <Questionnaire>();

            var engine = new MasterDetailEngine <QuestionnaireHeader2, QuestionnaireItem2>(new MasterDetailSelector(RecordSelector))
            {
                Encoding = new UTF8Encoding()
            };

            MasterDetails <QuestionnaireHeader2, QuestionnaireItem2>[] masterDetails = engine.ReadFile(path);
            foreach (MasterDetails <QuestionnaireHeader2, QuestionnaireItem2> masterDetail in masterDetails)
            {
                _logger.LogDebug($"Questionnaire: {masterDetail.Master.Name} - {masterDetail.Master.Title}");

                Questionnaire questionnaire = new Questionnaire
                {
                    Meta = new Meta
                    {
                        Profile = new string[] { Constants.QuestionnaireProfileUri }
                    },

                    Id      = string.IsNullOrWhiteSpace(masterDetail.Master.Id) ? null : masterDetail.Master.Id,
                    Url     = string.IsNullOrWhiteSpace(masterDetail.Master.Url) ? null : masterDetail.Master.Url,
                    Version = string.IsNullOrWhiteSpace(masterDetail.Master.Version) ? null : masterDetail.Master.Version,
                    Name    = string.IsNullOrWhiteSpace(masterDetail.Master.Name) ? null : masterDetail.Master.Name,
                    Title   = string.IsNullOrWhiteSpace(masterDetail.Master.Title) ? null : masterDetail.Master.Title,
                    Status  = string.IsNullOrWhiteSpace(masterDetail.Master.Status) ? null : EnumUtility.ParseLiteral <PublicationStatus>(masterDetail.Master.Status)
                };
                if (!string.IsNullOrWhiteSpace(masterDetail.Master.Date))
                {
                    if (!DateUtility.IsValidFhirDateTime(masterDetail.Master.Date))
                    {
                        throw new Exception($"The date {masterDetail.Master.Date} is not conforming to the expected format: 'yyyy-MM-dd'");
                    }
                    questionnaire.DateElement = new FhirDateTime(masterDetail.Master.Date);
                }
                questionnaire.Publisher   = string.IsNullOrWhiteSpace(masterDetail.Master.Publisher) ? null : masterDetail.Master.Publisher;
                questionnaire.Description = string.IsNullOrWhiteSpace(masterDetail.Master.Description) ? null : new Markdown(masterDetail.Master.Description);
                questionnaire.Purpose     = string.IsNullOrWhiteSpace(masterDetail.Master.Purpose) ? null : new Markdown(masterDetail.Master.Purpose);
                if (!string.IsNullOrWhiteSpace(masterDetail.Master.ApprovalDate))
                {
                    if (!DateUtility.IsValidFhirDate(masterDetail.Master.ApprovalDate))
                    {
                        throw new Exception($"The date {masterDetail.Master.ApprovalDate} is not conforming to the expected format: 'yyyy-MM-dd'");
                    }
                    questionnaire.ApprovalDateElement = new Date(masterDetail.Master.ApprovalDate);
                }
                if (!string.IsNullOrWhiteSpace(masterDetail.Master.ApprovalDate))
                {
                    if (!DateUtility.IsValidFhirDate(masterDetail.Master.LastReviewDate))
                    {
                        throw new Exception($"The date {masterDetail.Master.LastReviewDate} is not conforming to the expected format: 'yyyy-MM-dd'");
                    }
                    questionnaire.LastReviewDateElement = new Date(masterDetail.Master.LastReviewDate);
                }
                questionnaire.Contact = string.IsNullOrWhiteSpace(masterDetail.Master.ContactName) ? null : new List <ContactDetail> {
                    new ContactDetail {
                        Name = masterDetail.Master.ContactName
                    }
                };
                questionnaire.Copyright = string.IsNullOrWhiteSpace(masterDetail.Master.Copyright) ? null : new Markdown(masterDetail.Master.Copyright);

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.SubjectType))
                {
                    IList <ResourceType?> resourceTypes = new List <ResourceType?>();
                    string[] subjectTypes = masterDetail.Master.SubjectType.Split('|');
                    foreach (string subjectType in subjectTypes)
                    {
                        ResourceType?resourceType = EnumUtility.ParseLiteral <ResourceType>(subjectType);
                        if (resourceType.HasValue)
                        {
                            resourceTypes.Add(resourceType);
                        }
                    }
                    questionnaire.SubjectType = resourceTypes;
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.Language))
                {
                    questionnaire.Language = masterDetail.Master.Language;
                    string displayName = CultureInfo.GetCultureInfo(LanguageCodeUtility.GetLanguageCode(questionnaire.Language))?.NativeName.UpperCaseFirstCharacter();
                    questionnaire.Meta.Tag.Add(new Coding("urn:ietf:bcp:47", questionnaire.Language, displayName == null ? string.Empty : displayName));
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.UseContext))
                {
                    questionnaire.UseContext = ParseUsageContext(masterDetail.Master.UseContext);
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.Endpoint))
                {
                    questionnaire.SetExtension(Constants.EndPointUri, new ResourceReference(masterDetail.Master.Endpoint));
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.AuthenticationRequirement))
                {
                    questionnaire.SetExtension(Constants.AuthenticationRequirementUri, new Coding(Constants.AuthenticationRequirementSystem, masterDetail.Master.AuthenticationRequirement));
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.AccessibilityToResponse))
                {
                    questionnaire.SetExtension(Constants.AccessibilityToResponseUri, new Coding(Constants.AccessibilityToResponseSystem, masterDetail.Master.AccessibilityToResponse));
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.CanBePerformedBy))
                {
                    questionnaire.SetExtension(Constants.CanBePerformedByUri, new Coding(Constants.CanBePerformedBySystem, masterDetail.Master.CanBePerformedBy));
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.Discretion))
                {
                    questionnaire.SetExtension(Constants.DiscretionUri, new Coding(Constants.DiscretionSystem, masterDetail.Master.Discretion));
                }

                if (masterDetail.Master.GeneratePdf.HasValue)
                {
                    questionnaire.SetExtension(Constants.GeneratePdfUri, new FhirBoolean(masterDetail.Master.GeneratePdf.Value));
                }
                else
                {
                    questionnaire.SetExtension(Constants.GeneratePdfUri, new FhirBoolean(true));
                }

                if (masterDetail.Master.GenerateNarrative.HasValue)
                {
                    questionnaire.SetExtension(Constants.GenerateNarrativeUri, new FhirBoolean(masterDetail.Master.GenerateNarrative.Value));
                }
                else
                {
                    questionnaire.SetExtension(Constants.GenerateNarrativeUri, new FhirBoolean(true));
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.PresentationButtons))
                {
                    questionnaire.SetExtension(Constants.PresentationButtonsUri, new Coding(Constants.PresentationButtonsSystem, masterDetail.Master.PresentationButtons));
                }
                else
                {
                    questionnaire.SetExtension(Constants.PresentationButtonsUri, new Coding(Constants.PresentationButtonsSystem, "sticky"));
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.Code))
                {
                    questionnaire.Code = ParseArrayOfCoding(masterDetail.Master.Code);
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.QuestionaireNavigatorState))
                {
                    questionnaire.SetExtension(Constants.QuestionaireNavigatorStateUri, new CodeableConcept {
                        Coding = new List <Coding> {
                            new Coding {
                                System = Constants.NavigatorStateSystem, Code = masterDetail.Master.QuestionaireNavigatorState,
                            }
                        }
                    });
                }

                if (!string.IsNullOrWhiteSpace(masterDetail.Master.QuestionnairePrintVersionReference))
                {
                    questionnaire.SetExtension(Constants.QuestionnairePrintVersionUri, new ResourceReference(masterDetail.Master.QuestionnairePrintVersionReference));
                }

                IList <string> linkIds           = new List <string>();
                Questionnaire.ItemComponent item = null;
                for (int i = 0; i < masterDetail.Details.Length; i++)
                {
                    QuestionnaireItem2 questionnaireItem = masterDetail.Details[i];

                    if (linkIds.IndexOf(questionnaireItem.LinkId) > 0)
                    {
                        throw new DuplicateLinkIdException(questionnaireItem.LinkId);
                    }

                    _logger.LogDebug($"Questionnaire Item: {questionnaireItem.LinkId} - {questionnaireItem.Type} - {questionnaireItem.Text}");

                    int level = questionnaireItem.LinkId.Split('.').Length - 1;
                    if (level > 0)
                    {
                        // item could be null if a line in the .txt-file is empty or blank
                        if (item == null)
                        {
                            continue;
                        }

                        i = DiveV2(i, level, item.Item, masterDetail.Details);
                    }
                    else
                    {
                        item = CreateItemComponentV2(questionnaireItem);
                        questionnaire.Item.Add(item);
                    }
                }

                questionnaires.Add(questionnaire);
            }

            return(questionnaires);
        }
示例#30
0
        public void ProcessRequest(HttpContext context)
        {
            BLLQuestion bllQuestion = new BLLQuestion();
            BLLUser     bllUser     = new BLLUser();

            ZentCloud.ZCBLLEngine.BLLTransaction tran = new ZCBLLEngine.BLLTransaction();
            int examId = 0;

            try
            {
                string jsonData = context.Request["JsonData"];
                QuestionnaireRecordList list = ZentCloud.Common.JSONHelper.JsonToModel <QuestionnaireRecordList>(jsonData);
                if (list.Data.Count > 0)
                {
                    examId = list.Data[0].QuestionnaireID;
                    if (bllUser.GetCount <QuestionnaireRecord>(string.Format("UserId='{0}' And QuestionnaireID={1}", CurrentUserInfo.UserID, list.Data[0].QuestionnaireID)) > 0)
                    {
                        apiResp.msg = "您已经提交过了";
                        context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(apiResp));
                        return;
                    }

                    long recordId = Convert.ToInt64(bllQuestion.GetRecordGUID());
                    foreach (var item in list.Data)
                    {
                        ZentCloud.BLLJIMP.Model.QuestionnaireRecordDetail model = new BLLJIMP.Model.QuestionnaireRecordDetail();
                        model.UserID          = CurrentUserInfo.UserID;
                        model.QuestionnaireID = item.QuestionnaireID;
                        model.QuestionID      = item.QuestionID;
                        model.AnswerID        = item.AnswerID;
                        model.AnswerContent   = item.AnswerContent;
                        model.RecordID        = recordId;

                        if (!bllUser.Add(model))
                        {
                            tran.Rollback();
                            apiResp.msg = "提交失败";
                            context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(apiResp));
                            return;
                        }
                    }

                    QuestionnaireRecord record = new QuestionnaireRecord();
                    record.UserId          = CurrentUserInfo.UserID;
                    record.QuestionnaireID = list.Data[0].QuestionnaireID;
                    record.InsertDate      = DateTime.Now;
                    record.IP       = context.Request.UserHostAddress;
                    record.RecordID = recordId;
                    if (!bllUser.Add(record))
                    {
                        tran.Rollback();
                        apiResp.msg = "提交失败";
                        context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(apiResp));
                        return;
                    }
                }
                else//自动提交
                {
                    QuestionnaireRecord record = new QuestionnaireRecord();
                    record.UserId          = CurrentUserInfo.UserID;
                    record.QuestionnaireID = int.Parse(context.Request["examId"]);
                    record.InsertDate      = DateTime.Now;
                    record.IP       = context.Request.UserHostAddress;
                    record.RecordID = 0;
                    if (bllQuestion.Add(record))
                    {
                        apiResp.status = true;
                        Questionnaire questionModelA = bllUser.Get <Questionnaire>(string.Format(" QuestionnaireID={0} ", examId));
                        questionModelA.SubmitCount = bllUser.GetCount <QuestionnaireRecord>(string.Format(" QuestionnaireID={0}", examId));
                        bllUser.Update(questionModelA);
                    }
                    context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(apiResp));
                    return;
                }
            }
            catch (Exception ex)
            {
                tran.Rollback();
                apiResp.msg = ex.Message;
                context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(apiResp));
                return;
            }
            tran.Commit();
            apiResp.status = true;

            int           submitCount   = bllUser.GetCount <QuestionnaireRecord>(string.Format(" QuestionnaireID={0}", examId));
            Questionnaire questionModel = bllUser.Get <Questionnaire>(string.Format(" QuestionnaireID={0} ", examId));

            if (questionModel != null)
            {
                questionModel.SubmitCount = submitCount;
                bllUser.Update(questionModel);
            }
            context.Response.Write(ZentCloud.Common.JSONHelper.ObjectToJson(apiResp));
        }
示例#31
0
 public void Create(Questionnaire entity)
 {
     this.questionnaires.Add(entity);
 }
示例#32
0
 protected override void ApplyOutcomeToQuestionnaire(Questionnaire questionnaire, QuestionnaireOutcome questionnaireOutcome)
 {
     questionnaire.OutcomeStatus  = questionnaireOutcome.OutcomeStatus;
     questionnaire.OutcomeMessage = questionnaireOutcome.OutcomeDescription;
 }
示例#33
0
 public void Delete(Questionnaire entity)
 {
     this.questionnaires.Remove(entity);
 }
示例#34
0
        public async Task <IHttpActionResult> UpdateQuestionnaireAsync(string questionnaireId, Questionnaire questionnaire)
        {
            if (questionnaire == null || questionnaire.Id != questionnaireId)
            {
                return(BadRequest());
            }

            questionnaire.UpdatedDate = DateTime.UtcNow;

            TagsHelper.SetTags(questionnaire);

            bool result = await _questionnairesRepository.UpdateEntityAsync(questionnaire);

            if (!result)
            {
                return(NotFound());
            }

            return(Ok(questionnaire));
        }
示例#35
0
        public static void Seed(LibraryContext context)
        {
            if (!context.Articles.Any())
            {
                Article a1 = new Article {
                    Title = "Winter colds and small amounts", Date = new DateTime(2021, 2, 10), Text = "Winter colds and small amounts of sunshine make feel us weak. The stores of vitamins in the body are significantly reduced during the winter. Weather shifts can affect immunity. As a result, a lot of people feel unwell with the start of spring. The sun is shining, flowers blossom, temperatures are rising and nature awakens from winter sleep. Spring is a beautiful time, isn’t it? Along with positive changes, it’s also the time when our body lacks vitamins, that is so-called avitaminosis."
                };
                Article a2 = new Article {
                    Title = "Self-discipline", Date = new DateTime(2021, 2, 11), Text = "Just understand that time is not your enemy but your friend. You can do so many things if you have goals and opportunities. The main thing is to organize yourself and your time correctly. It refers not only to work but also to other aspects of your life. Self-discipline is a key to success. A person who can’t control his life and be organized, so he can’t achieve the desired success. If you can’t achieve anything, it may cause stress, reduce productivity and disorganization. You get caught in a vicious circle!"
                };
                Article a3 = new Article {
                    Title = "Emotions", Date = new DateTime(2021, 2, 11), Text = "Psychologists refer fear as a basic “emotion” that we experience it daily at work, at school, in the street, at home, everywhere. Fear mainly arises from 2 sources:  your personality and uncertainty. Many people are afraid of different things: water, height, pain, failure, death. They may have the same fear, but their behavior is shown in absolutely different ways: some people start to panic, other can’t control their emotions, etc. In this article we will talk about a common phobia called “stage fright”."
                };

                Article a4 = new Article {
                    Title = "Winter colds and small amounts 2", Date = new DateTime(2021, 2, 12), Text = "Winter colds and small amounts of sunshine make feel us weak. The stores of vitamins in the body are significantly reduced during the winter. Weather shifts can affect immunity. As a result, a lot of people feel unwell with the start of spring. The sun is shining, flowers blossom, temperatures are rising and nature awakens from winter sleep. Spring is a beautiful time, isn’t it? Along with positive changes, it’s also the time when our body lacks vitamins, that is so-called avitaminosis."
                };
                Article a5 = new Article {
                    Title = "Self-discipline 2", Date = new DateTime(2021, 2, 12), Text = "Just understand that time is not your enemy but your friend. You can do so many things if you have goals and opportunities. The main thing is to organize yourself and your time correctly. It refers not only to work but also to other aspects of your life. Self-discipline is a key to success. A person who can’t control his life and be organized, so he can’t achieve the desired success. If you can’t achieve anything, it may cause stress, reduce productivity and disorganization. You get caught in a vicious circle!"
                };
                Article a6 = new Article {
                    Title = "Emotions 2", Date = new DateTime(2021, 2, 13), Text = "Psychologists refer fear as a basic “emotion” that we experience it daily at work, at school, in the street, at home, everywhere. Fear mainly arises from 2 sources:  your personality and uncertainty. Many people are afraid of different things: water, height, pain, failure, death. They may have the same fear, but their behavior is shown in absolutely different ways: some people start to panic, other can’t control their emotions, etc. In this article we will talk about a common phobia called “stage fright”."
                };

                Article a7 = new Article {
                    Title = "Winter colds and small amounts 3", Date = new DateTime(2021, 2, 14), Text = "Winter colds and small amounts of sunshine make feel us weak. The stores of vitamins in the body are significantly reduced during the winter. Weather shifts can affect immunity. As a result, a lot of people feel unwell with the start of spring. The sun is shining, flowers blossom, temperatures are rising and nature awakens from winter sleep. Spring is a beautiful time, isn’t it? Along with positive changes, it’s also the time when our body lacks vitamins, that is so-called avitaminosis."
                };
                Article a8 = new Article {
                    Title = "Self-discipline 3", Date = new DateTime(2021, 2, 14), Text = "Just understand that time is not your enemy but your friend. You can do so many things if you have goals and opportunities. The main thing is to organize yourself and your time correctly. It refers not only to work but also to other aspects of your life. Self-discipline is a key to success. A person who can’t control his life and be organized, so he can’t achieve the desired success. If you can’t achieve anything, it may cause stress, reduce productivity and disorganization. You get caught in a vicious circle!"
                };
                Article a9 = new Article {
                    Title = "Emotions 3", Date = new DateTime(2021, 2, 14), Text = "Psychologists refer fear as a basic “emotion” that we experience it daily at work, at school, in the street, at home, everywhere. Fear mainly arises from 2 sources:  your personality and uncertainty. Many people are afraid of different things: water, height, pain, failure, death. They may have the same fear, but their behavior is shown in absolutely different ways: some people start to panic, other can’t control their emotions, etc. In this article we will talk about a common phobia called “stage fright”."
                };

                Comment c1 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 10)
                };
                Comment c2 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 11)
                };
                Comment c3 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 12)
                };

                Comment c4 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 13)
                };
                Comment c5 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 14)
                };
                Comment c6 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 14)
                };

                Comment c7 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 15)
                };
                Comment c8 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 15)
                };
                Comment c9 = new Comment {
                    Name = "Pavlo Kalenyk", Date = new DateTime(2021, 2, 15)
                };

                CommentText commentText = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c1
                };
                CommentText commentText1 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c2
                };
                CommentText commentText2 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c3
                };
                CommentText commentText3 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c4
                };
                CommentText commentText4 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c5
                };
                CommentText commentText5 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c6
                };
                CommentText commentText6 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c7
                };
                CommentText commentText7 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c8
                };
                CommentText commentText8 = new CommentText {
                    Text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", Comment = c9
                };

                Questionnaire questionnaire = new Questionnaire();

                questionnaire.FirstName = "Pavlo";
                questionnaire.LastName  = "Kalenyk";

                QuestionnaireAnswer questionnaireAnswer = new QuestionnaireAnswer();

                questionnaireAnswer.Answer = "Fantastic";

                QuestionnaireAnswer questionnaireAnswer2 = new QuestionnaireAnswer();

                questionnaireAnswer2.Answer = "English";

                QuestionnaireAnswer questionnaireAnswer3 = new QuestionnaireAnswer();

                questionnaireAnswer3.Answer = "Yes";

                questionnaire.QuestionnaireAnswers.Add(questionnaireAnswer);
                questionnaire.QuestionnaireAnswers.Add(questionnaireAnswer2);
                questionnaire.QuestionnaireAnswers.Add(questionnaireAnswer3);

                Tag t1 = new Tag {
                    Name = "news"
                };
                Tag t2 = new Tag {
                    Name = "2020"
                };
                Tag t3 = new Tag {
                    Name = "cool"
                };

                t1.Articles = new List <Article> {
                    a1, a2, a7, a8, a9
                };
                t2.Articles = new List <Article> {
                    a2, a4, a5, a6
                };
                t3.Articles = new List <Article> {
                    a3, a4, a5, a6
                };

                context.Articles.AddRange(a1, a2, a3, a4, a5, a6, a7, a8, a9);

                context.Comments.AddRange(c1, c2, c3, c4, c5, c6, c7, c8, c9);

                context.CommentText.AddRange(commentText, commentText1, commentText2, commentText3, commentText4, commentText5, commentText6, commentText7, commentText8);

                context.Tags.Add(t1);
                context.Tags.Add(t2);
                context.Tags.Add(t3);

                context.Questionnaires.Add(questionnaire);

                context.SaveChanges();
            }
        }
示例#36
0
 public void Update(Questionnaire questionnaire)
 {
     _questionnaireReposittory.Update(questionnaire);
 }
 public void ProxyGetQuestionnaireCompleted(object sender, GetUserQuestionnaireCompletedEventArgs1 e)
 {
     _model = e.Result;
     Update();
 }
 public UploadPictureQuestion(string contents, Questionnaire questionnaire) : base(contents, questionnaire)
 {
 }
示例#39
0
    // Use this for initialization
    void Start()
    {
        questionnaire = GameObject.Find("Navigator").GetComponent<Questionnaire>();
        currentSheet = questionnaire.currentSheet;
        rs = (ReadingSheet)currentSheet;
        audioSource = GetComponent<AudioSource>();

        questionScene = SceneManager.GetSceneByName("Question");
        exempleScene = SceneManager.GetSceneByName("Exemple");
    }
示例#40
0
        public ActionResult LoadExcel(HttpPostedFileBase postedFile)
        {
            if (postedFile != null && postedFile.ContentLength > (1024 * 1024 * 50))  // 50MB limit
            {
                ModelState.AddModelError("postedFile", "Your file is to large. Maximum size allowed is 50MB !");
            }

            if (postedFile != null)
            {
                string[]  validFileTypes = { ".xls", ".xlsx", ".csv" };
                string    filePath       = string.Empty;
                string    path           = Server.MapPath("~/Uploads/");
                ExcelRead dt             = new ExcelRead();
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }

                filePath = path + Path.GetFileName(postedFile.FileName);
                string extension = Path.GetExtension(postedFile.FileName);
                postedFile.SaveAs(filePath);

                string conString = string.Empty;
                if (validFileTypes.Contains(extension))
                {
                    if (extension == ".csv")
                    {
                        dt           = Utility.ConvertCSVtoDataTable(filePath);
                        ViewBag.Data = dt;
                    }
                    //Connection String to Excel Workbook
                    else if (extension.Trim() == ".xls")
                    {
                        conString    = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\"";
                        dt           = Utility.ConvertXSLXtoDataTable(filePath, conString);
                        ViewBag.Data = dt;
                    }
                    else if (extension.Trim() == ".xlsx")
                    {
                        conString    = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\"";
                        dt           = Utility.ConvertXSLXtoDataTable(filePath, conString);
                        ViewBag.Data = dt;
                    }
                }
                else
                {
                    ModelState.AddModelError("postedFile", "");
                }

                try
                {
                    foreach (var ex in dt.excelContent)
                    {
                        int id = _questionsType.GetAllRecords().Where(x => x.Name == ex.Type).FirstOrDefault().Id;

                        if (string.IsNullOrEmpty(ex.Category) || string.IsNullOrEmpty(ex.Question))
                        {
                            //return View(new LoadExcelViewModel(new LoadExcel()));
                            return(View(new LoadExcelViewModel()));
                        }

                        if (id == 1)
                        {
                            if (string.IsNullOrEmpty(ex.Option) || string.IsNullOrEmpty(ex.Value))
                            {
                                //return View(new LoadExcelViewModel(new LoadExcel()));
                                return(View(new LoadExcelViewModel()));
                            }
                        }

                        if (id == 3)
                        {
                            if (string.IsNullOrEmpty(ex.Option) || string.IsNullOrEmpty(ex.Value))
                            {
                                //return View(new LoadExcelViewModel(new LoadExcel()));
                                return(View(new LoadExcelViewModel()));
                            }

                            if (dt.excelContent.Where(x => x.Question == ex.Question && x.Type == ex.Type).Count() != 2)
                            {
                                //return View(new LoadExcelViewModel(new LoadExcel()));
                                return(View(new LoadExcelViewModel()));
                            }
                        }
                    }

                    Questionnaire questionnaire = new Questionnaire();
                    Category      category;

                    List <Question> Listquestion = new List <Question>();
                    List <Category> Listcategory = new List <Category>();
                    List <Option>   Listoption   = new List <Option>();

                    Option option;

                    questionnaire.Name         = dt.Name;
                    questionnaire.Description  = dt.Name;
                    questionnaire.CreationDate = DateTime.Now;
                    questionnaire.User_Id      = new UsersServices().GetByUserName(User.Identity.Name).Id;
                    questionnaire.Template     = true;
                    questionnaire.Instructions = dt.Name;

                    _questionnaireService.Add(questionnaire);

                    string LastCategory = "";
                    string LastQuestion = "";

                    foreach (var ex in dt.excelContent.Select(x => x.Category).Distinct())
                    {
                        if (LastCategory != ex)
                        {
                            category = new Category();
                            int i = 1;
                            category.Name             = ex;
                            category.Questionnaire_Id = questionnaire.Id;
                            category.CreationDate     = DateTime.Now;
                            category.User_Id          = new UsersServices().GetByUserName(User.Identity.Name).Id;
                            category.Description      = ex;

                            _categoryService.Add(category);
                            Listcategory.Add(category);

                            LastCategory = ex;

                            foreach (var ez in dt.excelContent.Where(x => x.Category == ex).Select(x => new { x.Question, x.Positive, x.Type }).Distinct())
                            {
                                if (LastQuestion != ez.Question)
                                {
                                    Question question = new Question();

                                    question.Category_Id     = category.Id;
                                    question.Text            = ez.Question;
                                    question.CreationDate    = DateTime.Now;
                                    question.Positive        = (ez.Positive == "VERDADERO" || ez.Positive == int.Parse("1").ToString()) ? true : false;
                                    question.QuestionType_Id = _questionsType.GetAllRecords().Where(x => x.Name == ez.Type).FirstOrDefault().Id;
                                    question.SortOrder       = i;

                                    _questionsServices.Add(question);
                                    Listquestion.Add(question);

                                    LastQuestion = ez.Question;
                                    i           += 1;
                                }
                            }
                        }
                    }

                    foreach (var q in Listquestion)
                    {
                        if (q.QuestionType_Id == 1)
                        {
                            dt.excelContent.Where(x => x.Question == q.Text).ToList().ForEach(x =>
                            {
                                option                  = new Option();
                                option.Text             = x.Option;
                                option.CreationDate     = DateTime.Now;
                                option.Value            = int.Parse(x.Value);
                                option.Question_Id      = q.Id;
                                option.Questionnaire_Id = questionnaire.Id;

                                _optionsServices.Add(option);
                            });
                        }

                        if (q.QuestionType_Id == 3)
                        {
                            if (!string.IsNullOrEmpty(dt.excelContent.Where(x => x.Question == q.Text).FirstOrDefault().Option) &&

                                !string.IsNullOrEmpty(dt.excelContent.Where(x => x.Question == q.Text).FirstOrDefault().Value))
                            {
                                dt.excelContent.Where(x => x.Question == q.Text).ToList().ForEach(x =>
                                {
                                    option                  = new Option();
                                    option.Text             = x.Option;
                                    option.CreationDate     = DateTime.Now;
                                    option.Value            = int.Parse(x.Value);
                                    option.Question_Id      = q.Id;
                                    option.Questionnaire_Id = questionnaire.Id;

                                    _optionsServices.Add(option);
                                });
                            }
                        }
                    }
                }
                catch (Exception e)
                {
                    return(Json("error" + e.Message));
                }
                //return RedirectToAction("Index");
            }

            //return View(postedFile);
            //return View(new LoadExcelViewModel(new LoadExcel()));
            return(RedirectToAction("Index"));
        }
示例#41
0
        public QuestionnaireSet getSet(string filepath)
        {
            if (String.IsNullOrEmpty(filepath))
            {
                throw new ArgumentNullException("filename");
            }
            if (!File.Exists(filepath))
            {
                throw new ArgumentException("Missing XML questionnaire definition file");
            }

            QuestionnaireSet qset = null;
            List<QuestionnaireQuestion> currentQuestions = null;
            Questionnaire currentQuestionnaire = null;
            QuestionnaireQuestion currentQuestion = null;
            QuestionnaireSection currentSection = null;
            QuestionnairePage currentPage = null;
            QuestionnaireSubsection currentSubsection = null;

            XmlReader reader = new XmlTextReader(filepath);
            while (reader.Read())
            {
                switch ((int)reader.NodeType)
                {
                    case (int)XmlNodeType.Element:
                        string name = reader.Name;
                        if (name == "QuestionnaireSet")
                        {
                            qset = new QuestionnaireSet();
                            qset.Name = reader.GetAttribute("name");
                            qset.Title = reader.GetAttribute("title");
                            qset.Description = reader.GetAttribute("description");
                            qset.Questionnaires = new List<Questionnaire>();
                        }
                        else if (name == "Introduction")
                        {
                            currentQuestions = new List<QuestionnaireQuestion>();
                        }
                        else if (name == "Questionnaire")
                        {
                            currentQuestionnaire = new Questionnaire();
                            currentQuestionnaire.Name = reader.GetAttribute("name");
                            currentQuestionnaire.Title = reader.GetAttribute("title");
                            currentQuestionnaire.Description = reader.GetAttribute("description");
                            currentQuestionnaire.Sections = new List<QuestionnaireSection>();
                        }
                        else if (name == "Choices")
                        {
                            currentQuestion.Choices = new List<KeyValuePair<string, string>>();
                        }
                        else if (name == "Choice")
                        {
                            string nbr = reader.GetAttribute("number");
                            string txt = reader.GetAttribute("text");
                            currentQuestion.Choices.Add(new KeyValuePair<string, string>(nbr, txt));
                        }
                        else if (name == "Section")
                        {
                            currentSection = new QuestionnaireSection();
                            currentSection.Name = reader.GetAttribute("name");
                            currentSection.Title = reader.GetAttribute("title");
                            currentSection.Pages = new List<QuestionnairePage>();
                        }
                        else if (name == "Page")
                        {
                            currentPage = new QuestionnairePage();
                            currentPage.Number = reader.GetAttribute("number");
                            currentPage.Sections = new List<QuestionnaireSubsection>();
                        }
                        else if (name == "Subsection")
                        {
                            currentSubsection = new QuestionnaireSubsection();
                            currentSubsection.Name = reader.GetAttribute("name");
                            currentSubsection.Title = reader.GetAttribute("title");
                        }
                        else if (name == "Questions")
                        {
                            currentQuestions = new List<QuestionnaireQuestion>();
                        }
                        else if (name == "Question")
                        {
                            currentQuestion = new QuestionnaireQuestion();
                            currentQuestion.Number = reader.GetAttribute("number");
                            currentQuestion.Text = reader.GetAttribute("text");
                            currentQuestion.BranchFromQuestion = reader.GetAttribute("branchFrom");
                            currentQuestion.BranchCondition = reader.GetAttribute("if");
                            currentQuestions.Add(currentQuestion);
                        }
                        break;
                    case (int)XmlNodeType.EndElement:
                        name = reader.Name;
                        if (name == "Introduction")
                        {
                            qset.Questions = currentQuestions;
                            currentQuestions = null;
                        }
                        else if (name == "Questionnaire")
                        {
                            qset.Questionnaires.Add(currentQuestionnaire);
                            currentQuestionnaire = null;
                        }
                        else if (name == "Choices")
                        {
                        }
                        else if (name == "Section")
                        {
                            currentQuestionnaire.Sections.Add(currentSection);
                            currentSection = null;
                        }
                        else if (name == "Page")
                        {
                            currentSection.Pages.Add(currentPage);
                            currentPage = null;
                        }
                        else if (name == "Subsection")
                        {
                            currentPage.Sections.Add(currentSubsection);
                            currentSubsection = null;
                        }
                        else if (name == "Questions")
                        {
                            currentSubsection.Questions = currentQuestions;
                            currentQuestions = null;
                        }
                        break;
                }
            }
            return qset;
        }
示例#42
0
        protected override void Seed(MobileServiceContext context)
        {
            context.Database.ExecuteSqlCommand(
                "alter table Events drop constraint [FK_dbo.Events_dbo.Customers_CustomerId]"
                );
            context.Database.ExecuteSqlCommand(
                "alter table Events add constraint[FK_dbo.Events_dbo.Customers_CustomerId] foreign key(CustomerId) references Customers on delete set null"
                );

            context.Database.ExecuteSqlCommand(
                "alter table Advices drop constraint [FK_dbo.Advices_dbo.Events_EventId]"
                );
            context.Database.ExecuteSqlCommand(
                "alter table Advices add constraint[FK_dbo.Advices_dbo.Events_EventId] foreign key(EventId) references Events on delete cascade"
                );

            context.Database.ExecuteSqlCommand(
                "alter table Availabilities drop constraint [FK_dbo.Availabilities_dbo.Users_InspectorId]"
                );
            context.Database.ExecuteSqlCommand(
                "alter table Availabilities add constraint[FK_dbo.Availabilities_dbo.Users_InspectorId] foreign key(InspectorId) references Users on delete cascade"
                );

            context.Database.ExecuteSqlCommand(
                "alter table Availabilities drop constraint [FK_dbo.Availabilities_dbo.Events_EventId]"
                );
            context.Database.ExecuteSqlCommand(
                "alter table Availabilities add constraint[FK_dbo.Availabilities_dbo.Events_EventId] foreign key(EventId) references Events on delete cascade"
                );

            context.Database.ExecuteSqlCommand(
                "IF EXISTS (SELECT 1 from sys.objects where name = 'FK_dbo.Questions_dbo.TableQuestionColumns_KeyColumnId')" +
                "alter table Questions drop constraint [FK_dbo.Questions_dbo.TableQuestionColumns_KeyColumnId]"
                );
            context.Database.ExecuteSqlCommand(
                "alter table Questions add constraint[FK_dbo.Questions_dbo.TableQuestionColumns_KeyColumnId] foreign key(KeyColumnId) references TableQuestionColumns on delete cascade"
                );

            context.Database.ExecuteSqlCommand(
                "alter table TableQuestionAnswerEntries drop constraint [FK_dbo.TableQuestionAnswerEntries_dbo.AbstractTableQuestionAnswerValues_Key_Id]"
                );
            context.Database.ExecuteSqlCommand(
                "alter table TableQuestionAnswerEntries add constraint[FK_dbo.TableQuestionAnswerEntries_dbo.AbstractTableQuestionAnswerValues_Key_Id] foreign key(Key_Id) references AbstractTableQuestionAnswerValues on delete cascade"
                );

            var authManager = new AuthManager(context);
            var roleManager = new RoleManager(context);

            roleManager.Create(new AppRole("Administrator"));
            roleManager.Create(new AppRole("Inspector"));
            roleManager.Create(new AppRole("Sales"));
            roleManager.Create(new AppRole("Manager"));
            roleManager.Create(new AppRole("Operational"));


            var admin = authManager.FindByName("*****@*****.**");

            if (admin == null)
            {
                admin = new UserAccount
                {
                    Id       = Guid.NewGuid().ToString("N"),
                    UserName = "******"
                };
                authManager.Create(admin, "admin1");

                authManager.AddToRole(admin.Id, "Administrator");
            }

            Inspector g;

            context.Inspectors.Add(g = new Inspector
            {
                Id          = Guid.NewGuid().ToString("N"),
                Locy        = 51.685473,
                Locx        = 5.285021,
                Role        = Role.Inspector,
                BirthDate   = new DateTime(2000, 1, 1),
                Email       = "*****@*****.**",
                Gender      = Gender.Man,
                FirstName   = "Geordi",
                LastName    = "Trapman",
                Phone       = "06-37441661",
                HouseNumber = "3",
                PostalCode  = "5258ET",
                UserAccount = admin
            });


            var ruben = authManager.FindByName("*****@*****.**");

            if (ruben == null)
            {
                ruben = new UserAccount
                {
                    Id       = Guid.NewGuid().ToString("N"),
                    UserName = "******"
                };
                authManager.Create(ruben, "rubiepubie");


                authManager.AddToRole(ruben.Id, "Inspector");
            }

            Inspector r;

            context.Inspectors.Add(r = new Inspector
            {
                Id          = Guid.NewGuid().ToString("N"),
                Locy        = 51.8195993,
                Locx        = 5.5589400999999725,
                Role        = Role.Inspector,
                BirthDate   = new DateTime(2000, 10, 2),
                Email       = "*****@*****.**",
                Gender      = Gender.Man,
                FirstName   = "Ruben",
                LastName    = "Rijen",
                Phone       = "06-10413869",
                HouseNumber = "84",
                PostalCode  = "5366CB",
                UserAccount = ruben
            });

            var stijn = authManager.FindByName("*****@*****.**");

            if (stijn == null)
            {
                stijn = new UserAccount
                {
                    Id       = Guid.NewGuid().ToString("N"),
                    UserName = "******"
                };
                authManager.Create(stijn, "stijn");
            }

            context.FestiUsers.Add(new User
            {
                Id          = Guid.NewGuid().ToString("N"),
                Role        = Role.Manager,
                BirthDate   = new DateTime(1998, 3, 1),
                Email       = "*****@*****.**",
                Gender      = Gender.Man,
                FirstName   = "Stijn",
                LastName    = "Smits",
                Phone       = "06-37441661",
                UserAccount = stijn
            });

            List <MultipleChoiceQuestionOption> options;
            var question = new Questionnaire
            {
                Theme       = "Sanitair",
                Id          = Guid.NewGuid().ToString(),
                Name        = "Kwaliteitsronde",
                Description = "Instructies vragenlijst. Vandaag gaan jullie een inspectie uitvoeren op Paaspop over de kwaliteit van het festival met als focus de eetgelegenheden.Naast deze Gelegenheden wil Paaspop ook meer inzicht in de drukte op verschillende onderdelen in het festival. Zorg voor een duidelijke en volledige omschrijving van wat je ziet en gebruik de juiste technieken om drukte in te schatten op verschillende locaties. Probeer de algemene vragen op het einde van de dag te beantwoorden en doe dit wat uitgebreider.",
                Questions   = new List <Question>
                {
                    new DrawQuestion
                    {
                        Order       = 1,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Draw",
                        PictureUrl  =
                            "https://geordistorage.blob.core.windows.net/images/0e354538-32fb-454b-b0ad-3810bb4fc2eb.png",
                        Answers = new List <Answer>()
                        {
                            new DrawQuestionAnswer()
                            {
                                Id       = Guid.NewGuid().ToString(),
                                ImageUrl = "https://dierenplaatjes.us/geiten/geiten-plaatje-002.jpg"
                            },
                            new DrawQuestionAnswer()
                            {
                                Id       = Guid.NewGuid().ToString(),
                                ImageUrl = "http://www.bertenernie.nl/wp-content/Images/Plaatjes/BertenErnie.nl-Bert-en-Ernie-Plaatjes-2.jpg"
                            }
                        }
                    },
                    new MeasureQuestion
                    {
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Wat is de lengte bij de toiletten",
                        Unit        = "Meter",
                        Order       = 2,
                        Answers     = new List <Answer>()
                        {
                            new MeasureQuestionAnswer()
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = 3
                            },
                            new MeasureQuestionAnswer()
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = 5
                            }
                        }
                    },
                    new CategorieQuestion()
                    {
                        Order       = 3,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Categorie"
                    },
                    new MultipleChoiceQuestion
                    {
                        Order       = 4,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Hoe is het overzicht over het terrein",
                        Options     = options = new List <MultipleChoiceQuestionOption>
                        {
                            new MultipleChoiceQuestionOption
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = "Slecht"
                            },
                            new MultipleChoiceQuestionOption
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = "Matig"
                            },
                            new MultipleChoiceQuestionOption
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = "Goed"
                            }
                        },
                        Answers = new List <Answer>()
                        {
                            new MultipleChoiceQuestionAnswer()
                            {
                                Id           = Guid.NewGuid().ToString(),
                                ChosenOption = options[0]
                            },
                            new MultipleChoiceQuestionAnswer()
                            {
                                Id           = Guid.NewGuid().ToString(),
                                ChosenOption = options[0]
                            },
                            new MultipleChoiceQuestionAnswer()
                            {
                                Id           = Guid.NewGuid().ToString(),
                                ChosenOption = options[1]
                            }
                        }
                    },
                    new OpenQuestion
                    {
                        Order       = 9,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Hoe valt de sfeer te beschrijven",
                        Answers     = new List <Answer>()
                        {
                            new OpenQuestionAnswer()
                            {
                                Id     = Guid.NewGuid().ToString(),
                                Answer = "Rustig"
                            },
                            new OpenQuestionAnswer()
                            {
                                Id     = Guid.NewGuid().ToString(),
                                Answer = "Druk"
                            },
                            new OpenQuestionAnswer()
                            {
                                Id     = Guid.NewGuid().ToString(),
                                Answer = "Mensen staan veel in groepen, en hebben het naar hun zin."
                            },
                            new OpenQuestionAnswer()
                            {
                                Id     = Guid.NewGuid().ToString(),
                                Answer = "Druk"
                            }
                        }
                    },
                    new PictureQuestion
                    {
                        Order       = 6,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Picture",
                        Answers     = new List <Answer>()
                        {
                            new PictureQuestionAnswer()
                            {
                                Id       = Guid.NewGuid().ToString(),
                                ImageUrl = "https://dierenplaatjes.us/geiten/geiten-plaatje-002.jpg"
                            },
                            new PictureQuestionAnswer()
                            {
                                Id       = Guid.NewGuid().ToString(),
                                ImageUrl = "http://www.bertenernie.nl/wp-content/Images/Plaatjes/BertenErnie.nl-Bert-en-Ernie-Plaatjes-2.jpg"
                            }
                        }
                    },
                    new ScaleQuestion
                    {
                        Order       = 7,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Scale",
                        Min         = 0,
                        Max         = 10,
                        Answers     = new List <Answer>()
                        {
                            new ScaleQuestionAnswer()
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = 0
                            },
                            new ScaleQuestionAnswer()
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = 10
                            },
                            new ScaleQuestionAnswer()
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = 5
                            },
                            new ScaleQuestionAnswer()
                            {
                                Id    = Guid.NewGuid().ToString(),
                                Value = 5
                            }
                        }
                    },
                    new TableQuestion
                    {
                        Order       = 8,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "Table",
                        ValueColumn = new TableQuestionMultipleColumn()
                        {
                            Id      = Guid.NewGuid().ToString(),
                            Options = new List <MultipleChoiceQuestionOption>()
                            {
                                new MultipleChoiceQuestionOption()
                                {
                                    Id    = Guid.NewGuid().ToString(),
                                    Value = "Two"
                                },
                                new MultipleChoiceQuestionOption()
                                {
                                    Id    = Guid.NewGuid().ToString(),
                                    Value = "Too"
                                }
                            },
                            Header = "ValueHeader"
                        },
                        KeyColumn = new TableQuestionStringColumn()
                        {
                            Id     = Guid.NewGuid().ToString(),
                            Header = "KeyHeader"
                        }
                    },
                    new CategorieQuestion()
                    {
                        Order       = 5,
                        Id          = Guid.NewGuid().ToString(),
                        Description = "toiletten"
                    }
                }
            };

            context.Events.Add(new Event
            {
                Id           = Guid.NewGuid().ToString(),
                Name         = "Foute uur",
                EndDate      = DateTime.Now,
                StartDate    = DateTime.Now,
                Location     = "Swaggerville",
                HouseNumber  = "2",
                PostalCode   = "5308RH",
                GeodanAdresY = "51.685473",
                GeodanAdresX = "5.285021",
                Description  = "Dit is een muziek evenement. Hier word vooral 'Foute' muziek gespeelt. Het evement verwacht rond de 20.000 bezoekers op de eerste dag. Daarom moet er goed op de veiligheid gelet worden.",
                Advices      = new List <Advice>()
                {
                    new Advice()
                    {
                        Id      = Guid.NewGuid().ToString(),
                        Content = "",
                        Title   = "Tramkade",
                    },
                    new Advice()
                    {
                        Id      = Guid.NewGuid().ToString(),
                        Content = "",
                        Title   = "Kaas vragen 2",
                    }
                },
                Customer = new Customer()
                {
                    Id          = Guid.NewGuid().ToString(),
                    Name        = "PeterPop",
                    PhoneNumber = "06-12345678",
                    PostalCode  = "1111AA",
                    HouseNumber = "1",
                    KvK         = "12345678",
                    Contacts    = new List <Contact>()
                    {
                        new Contact()
                        {
                            Id          = Guid.NewGuid().ToString(),
                            FirstName   = "Pieter",
                            LastName    = "Pasta",
                            Email       = "*****@*****.**",
                            Role        = "CEO",
                            Note        = "",
                            PhoneNumber = "06-09876543",
                        },
                        new Contact()
                        {
                            Id          = Guid.NewGuid().ToString(),
                            FirstName   = "Klaas",
                            LastName    = "Pasta",
                            Email       = "*****@*****.**",
                            Role        = "SEO",
                            Note        = "",
                            PhoneNumber = "06-09876542",
                        }
                    }
                },
                Questionnaires = new List <Questionnaire>
                {
                    question
                }
            });
            context.QuestionnaireInspectors.Add(new QuestionnaireInspector()
            {
                Inspector     = g,
                Questionnaire = question
            });

            context.Events.Add(new Event
            {
                Id             = Guid.NewGuid().ToString(),
                Name           = "TableQuestionEvent",
                EndDate        = DateTime.Now,
                StartDate      = DateTime.Now,
                Location       = "RastaVille",
                HouseNumber    = "2",
                PostalCode     = "5308RH",
                GeodanAdresY   = "51.685473",
                GeodanAdresX   = "5.285021",
                Description    = "Dit is een evenement met een table vraag.",
                Availabilities = new List <Availability>
                {
                    new Availability
                    {
                        Id           = Guid.NewGuid().ToString(),
                        HasResponded = true,
                        Inspector    = g,
                        IsAvailable  = true
                    },
                    new Availability
                    {
                        Id           = Guid.NewGuid().ToString(),
                        HasResponded = true,
                        Inspector    = r,
                        IsAvailable  = true
                    }
                },
                Questionnaires = new List <Questionnaire>
                {
                    new Questionnaire
                    {
                        Id          = Guid.NewGuid().ToString(),
                        Name        = "Tabbeletjeehhhh",
                        Theme       = "Tabellijst",
                        Description = "",
                        Questions   = new List <Question>
                        {
                            new TableQuestion
                            {
                                Id          = Guid.NewGuid().ToString(),
                                Description = "TableQuestion",
                                KeyColumn   = new TableQuestionStringColumn
                                {
                                    Id     = Guid.NewGuid().ToString(),
                                    Header = "Plek"
                                },
                                ValueColumn = new TableQuestionTimeColumn
                                {
                                    Id     = Guid.NewGuid().ToString(),
                                    Header = "Tijd"
                                },
                                Answers = new List <Answer>
                                {
                                    new TableQuestionAnswer
                                    {
                                        Id            = Guid.NewGuid().ToString(),
                                        AnswerEntries = new List <TableQuestionAnswerEntry>
                                        {
                                            new TableQuestionAnswerEntry
                                            {
                                                Id  = Guid.NewGuid().ToString(),
                                                Key = new TableQuestionAnswerStringValue
                                                {
                                                    Id          = Guid.NewGuid().ToString(),
                                                    AnswerValue = "one"
                                                },
                                                Value = new TableQuestionAnswerTimeValue
                                                {
                                                    Id          = Guid.NewGuid().ToString(),
                                                    AnswerValue = DateTime.Now
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            });

            context.Customers.Add(new Customer
            {
                Id          = Guid.NewGuid().ToString(),
                Name        = "Paaspop",
                PhoneNumber = "06-12345677",
                PostalCode  = "1111AB",
                HouseNumber = "10",
                KvK         = "12345678",
                Contacts    = new List <Contact>
                {
                    new Contact
                    {
                        Id          = Guid.NewGuid().ToString(),
                        FirstName   = "Jan",
                        LastName    = "Werkenaar",
                        Email       = "*****@*****.**",
                        Role        = "CEO",
                        Note        = "",
                        PhoneNumber = "06-09876543",
                    }
                }
            });
            base.Seed(context);
        }
示例#43
0
        public async Task ImportsSimpleQuestions()
        {
            // Arrange
            const string name      = "name";
            var          fileNames = new[] { "file1" };

            var questionnaire = new Questionnaire
            {
                Revision = 1,
                Name     = name
            };
            var question1 = new SimpleQuestion
            {
                Revision           = 1,
                SimpleQuestionType = SimpleQuestionType.SingleChoice,
                Text    = "Text1",
                Answers = new List <SimpleAnswer>
                {
                    new SimpleAnswer
                    {
                        IsCorrect = true,
                        Text      = "Answer1.1"
                    },
                    new SimpleAnswer
                    {
                        IsCorrect = false,
                        Text      = "Answer1.2"
                    }
                }
            };
            var answers1  = question1.Answers.ToList();
            var question2 = new SimpleQuestion
            {
                Revision           = 1,
                SimpleQuestionType = SimpleQuestionType.TrueFalse,
                Text    = "Text2",
                Answers = new List <SimpleAnswer>
                {
                    new SimpleAnswer
                    {
                        IsCorrect = false,
                        Text      = "Answer2.1"
                    },
                    new SimpleAnswer
                    {
                        IsCorrect = true,
                        Text      = "Answer2.2"
                    },
                    new SimpleAnswer
                    {
                        IsCorrect = true,
                        Text      = "Answer2.3"
                    }
                }
            };
            var answers2 = question2.Answers.ToList();
            var fileText = "1;;;;;;;\n" +
                           "Text;Typ;Text Antwort 1;Anwort korrekt?;Text Antwort 2;;;\n" +
                           $"\"{question1.Text}\";{(int)question1.SimpleQuestionType};{answers1[0].Text};{answers1[0].IsCorrect};{answers1[1].Text};{answers1[1].IsCorrect};;\r\n" +
                           $"{question2.Text};{(int)question2.SimpleQuestionType};\"{answers2[0].Text}\";{answers2[0].IsCorrect};{answers2[1].Text};{answers2[1].IsCorrect};{answers2[2].Text};{answers2[2].IsCorrect}\n";

            var expectedImportedQuestions = new Dictionary <string, List <string> >
            {
                [fileNames[0]] = new List <string>
                {
                    question1.Text,
                    question2.Text
                }
            };

            var questionsUow      = A.Fake <IQuestionsUnitOfWork>();
            var questionnairesUow = A.Fake <IQuestionnairesUnitOfWork>();
            var file = A.Fake <IFile>();

            A.CallTo(() => file.ReadAllText(A <string> .That.Matches(_ => _ == fileNames[0])))
            .Returns(fileText);

            var testee = new ImportExportService(questionnairesUow, questionsUow, file);

            // Act
            (Dictionary <string, List <string> > importedQuestions, List <string> erroredFiles) = await testee.Import(name, fileNames);

            // Assert
            importedQuestions.ShouldBeEquivalentTo(expectedImportedQuestions);
            erroredFiles.Should().BeNullOrEmpty();

            A.CallTo(() => questionnairesUow.QuestionnairesRepo.Add(A <Questionnaire> .That.Matches(_ => this.matchEntity(_, questionnaire))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.SimpleQuestionsRepo.Add(A <SimpleQuestion> .That.Matches(_ => this.matchEntity(_, question1))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.SimpleQuestionsRepo.Add(A <SimpleQuestion> .That.Matches(_ => this.matchEntity(_, question2))))
            .MustHaveHappened();

            A.CallTo(() => questionnairesUow.Complete())
            .MustHaveHappened();
            A.CallTo(() => questionsUow.Complete())
            .MustHaveHappened(Repeated.Exactly.Times(3));
        }
        public async Task <ActionResult> GetQuestionnaire()
        {
            int id = 5;
            IEnumerable <QuestionAnswer> entities = await db.QuestionAnswers
                                                    // TODO: Add Includes for reference and/or collection properties
                                                    .ToListAsync();

            Test testEntity = db.Tests.Where(x => x.TestId == id).FirstOrDefault(); // Id is hard coded right now, need to pass it in
            List <QuestionAnswer> QAList = new List <QuestionAnswer>();

            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId01.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId02.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId03.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId04.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId05.Value).FirstOrDefault()); // 5

            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId06.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId07.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId08.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId09.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId10.Value).FirstOrDefault()); // 10

            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId11.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId12.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId13.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId14.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId15.Value).FirstOrDefault()); // 15

            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId16.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId17.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId18.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId19.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId20.Value).FirstOrDefault()); // 20

            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId21.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId22.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId23.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId24.Value).FirstOrDefault());
            QAList.Add(db.QuestionAnswers.Where(x => x.QuestionAnswerId == testEntity.QaId25.Value).FirstOrDefault()); // 25

            // enter remaining 20 questions here

            Questionnaire questionnaire = new Questionnaire();

            foreach (var item in QAList)
            {
                if (item != null)
                {
                    Question question = new Question();
                    question.type          = item.QuestionType;
                    question.Title         = item.QuestionText;
                    question.correctAnswer = item.CorrectAnswer;

                    // 1-> 5 are 's'
                    if (question.type == "M" || question.type == "m")
                    {
                        question.answerList.Add(new Answer(item.MC_AnswerText1, "1) "));
                        question.answerList.Add(new Answer(item.MC_AnswerText2, "2) "));
                        question.answerList.Add(new Answer(item.MC_AnswerText3, "3) "));
                        question.answerList.Add(new Answer(item.MC_AnswerText4, "4) "));
                        question.answerList.Add(new Answer(item.MC_AnswerText5, "5) "));
                    }
                    else if (question.type == "T")
                    {
                        question.answerList.Add(new Answer(item.MC_AnswerText1, "1) true"));
                        question.answerList.Add(new Answer(item.MC_AnswerText2, "2) false"));
                    }
                    else if (question.type == "W")
                    {
                        question.answerList.Add(new Answer(item.MC_AnswerText1, ""));
                    }


                    questionnaire.questionList.Add(question);
                }
            }

            return(View(questionnaire));
        }
示例#45
0
        public async Task ImportsTextQuestions_WhenOneFileIsNotFound()
        {
            // Arrange
            const string name      = "text question";
            var          fileNames = new[] { "file1", "invalidFile" };

            var questionnaire = new Questionnaire
            {
                Revision = 1,
                Name     = name
            };

            var question1 = new TextQuestion
            {
                Revision = 1,
                Text     = "TextQuestion1",
                Answer   = new TextAnswer
                {
                    Text = "TextAnswer1"
                }
            };
            var fileText1 = "2\n" +
                            "Text;Antwort\n" +
                            $"{question1.Text};{question1.Answer.Text}\n";

            var questionsUow      = A.Fake <IQuestionsUnitOfWork>();
            var questionnairesUow = A.Fake <IQuestionnairesUnitOfWork>();
            var file = A.Fake <IFile>();

            var expectedImportedQuestions = new Dictionary <string, List <string> >
            {
                [fileNames[0]] = new List <string>
                {
                    question1.Text
                }
            };

            A.CallTo(() => file.ReadAllText(A <string> .That.Matches(_ => _ == fileNames[0])))
            .Returns(fileText1);
            A.CallTo(() => file.ReadAllText(A <string> .That.Matches(_ => _ == fileNames[1])))
            .Throws(() => new FileNotFoundException());

            var testee = new ImportExportService(questionnairesUow, questionsUow, file);

            // Act
            (Dictionary <string, List <string> > importedQuestions, List <string> erroredFiles) = await testee.Import(name, fileNames);

            // Assert
            importedQuestions.ShouldBeEquivalentTo(expectedImportedQuestions);
            erroredFiles.Should().BeEquivalentTo(fileNames[1]);

            A.CallTo(() => questionnairesUow.QuestionnairesRepo.Add(A <Questionnaire> .That.Matches(_ => this.matchEntity(_, questionnaire))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.TextQuestionsRepo.Add(A <TextQuestion> .That.Matches(_ => this.matchEntity(_, question1))))
            .MustHaveHappened();

            A.CallTo(() => questionnairesUow.Complete())
            .MustHaveHappened();
            A.CallTo(() => questionsUow.Complete())
            .MustHaveHappened(Repeated.Exactly.Twice);
        }
        private bool CheckSearchedText(string text, Questionnaire questionnaire)
        {
            try
            {
                for (int i = 0; i < text.Length; i++)
                {
                    if (text[i] != questionnaire.Question[i])
                        return false;
                }
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }

        }
 public bool SubmitQuestionnaire(Questionnaire quest)
 {
     return(true);
 }
示例#48
0
        private static void SerializeQuestionnaire()
        {
            Questionnaire q = new Questionnaire();
            q.Version = "1.0";
            List<QuestionnaireQuestion> QuestionnaireQuestions = new List<QuestionnaireQuestion>();

            #region 1. What is the year, season, date, day, and month?
            QuestionnaireQuestion q1 = new QuestionnaireQuestion();
            q1.ID = "1";
            q1.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q1.Title = "1. What is the year, season, date, day, and month?";
            SetOneAnswer(q1);
            QuestionnaireQuestions.Add(q1);

            QuestionnaireQuestion q1_1 = new QuestionnaireQuestion();
            q1_1.ID = "1.1";
            q1_1.Condition = "1";
            q1_1.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q1_1.Title = "1. Year";
            SetOneAnswer(q1_1);
            q1.Questions.Add(q1_1);

            QuestionnaireQuestion q1_2= new QuestionnaireQuestion();
            q1_2.ID = "1.2";
            q1_2.Condition = "1";
            q1_2.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q1_2.Title = "2. Season ";
            SetOneAnswer(q1_2);
            q1.Questions.Add(q1_2);

            QuestionnaireQuestion q1_3 = new QuestionnaireQuestion();
            q1_3.ID = "1.3";
            q1_3.Condition = "1";
            q1_3.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q1_3.Title = "3. Date";
            SetOneAnswer(q1_3);
            q1.Questions.Add(q1_3);

            QuestionnaireQuestion q1_4 = new QuestionnaireQuestion();
            q1_4.ID = "1.4";
            q1_4.Condition = "1";
            q1_4.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q1_4.Title = "4. Day ";
            SetOneAnswer(q1_4);
            q1.Questions.Add(q1_4);

            QuestionnaireQuestion q1_5 = new QuestionnaireQuestion();
            q1_5.ID = "1.5";
            q1_5.Condition = "1";
            q1_5.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q1_5.Title = "5. Month";
            SetOneAnswer(q1_5);
            q1.Questions.Add(q1_5);
            #endregion

            #region 2. Where are we (state, country, town or city, home/hospital, floor)?
            QuestionnaireQuestion q2 = new QuestionnaireQuestion();
            q2.ID = "2";
            q2.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q2.Title = "2. Where are we (state, country, town or city, home/hospital, floor)?";
            SetOneAnswer(q2);
            QuestionnaireQuestions.Add(q2);

            QuestionnaireQuestion q2_1 = new QuestionnaireQuestion();
            q2_1.ID = "2.1";
            q2_1.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q2_1.Title = "1. State";
            SetOneAnswer(q2_1);
            q2.Questions.Add(q2_1);

            QuestionnaireQuestion q2_2 = new QuestionnaireQuestion();
            q2_2.ID = "2.2";
            q2_2.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q2_2.Title = "2. Country ";
            SetOneAnswer(q2_2);
            q2.Questions.Add(q2_2);

            QuestionnaireQuestion q2_3 = new QuestionnaireQuestion();
            q2_3.ID = "2.3";
            q2_3.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q2_3.Title = "3. Town or city";
            SetOneAnswer(q2_3);
            q2.Questions.Add(q2_3);

            QuestionnaireQuestion q2_4 = new QuestionnaireQuestion();
            q2_4.ID = "2.4";
            q2_4.QuestionType = QuestionnaireQuestionAnswerType.OneAnswer;
            q2_4.Title = "4. Home/hospital ";
            SetOneAnswer(q2_4);
            q2.Questions.Add(q2_4);

            QuestionnaireQuestion q2_5 = new QuestionnaireQuestion("2.5", "5. Floor", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q2_5);
            q2.Questions.Add(q2_5);
            #endregion

            #region Cluster 1: Cognitive

            QuestionnaireQuestion q3 = new QuestionnaireQuestion("3", "3. Does he/she mix up past and present (e.g. thinking a deceased relative is alive)?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q3);
            QuestionnaireQuestions.Add(q3);

            QuestionnaireQuestion q3_Frequency = new QuestionnaireQuestion("3.1", "How often?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q3_Frequency);
            q3.Questions.Add(q3_Frequency);

            QuestionnaireQuestion q4 = new QuestionnaireQuestion("4", "4. Does he/she loose, misplace or hide things?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q4);
            QuestionnaireQuestions.Add(q4);

            QuestionnaireQuestion q4_Frequency = new QuestionnaireQuestion("4.1", "How often?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q4_Frequency);
            q4.Questions.Add(q4_Frequency);

            QuestionnaireQuestion q5 = new QuestionnaireQuestion("5", "5.  Does he/she wander or get lost?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q5);
            QuestionnaireQuestions.Add(q5);

            QuestionnaireQuestion q5_Frequency = new QuestionnaireQuestion("5.1", "How often?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q5_Frequency);
            q5.Questions.Add(q5_Frequency);

            QuestionnaireQuestion q6 = new QuestionnaireQuestion("6", "6.  Does he/she not recognize familiar people?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q6);
            QuestionnaireQuestions.Add(q6);

            QuestionnaireQuestion q6_Frequency = new QuestionnaireQuestion("6.1", "How often?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q6_Frequency);
            q6.Questions.Add(q6_Frequency);

            QuestionnaireQuestion q7 = new QuestionnaireQuestion("7", "7. Does he/she see or hear things that are not there (hallucinations or illusions)?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q7);
            QuestionnaireQuestions.Add(q7);

            QuestionnaireQuestion q7_Frequency = new QuestionnaireQuestion("7.1", "How often?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q7_Frequency);
            q7.Questions.Add(q7_Frequency);

            #endregion

            #region Cluster 2: Aggressiveness

            QuestionnaireQuestion q8 = new QuestionnaireQuestion("8", "Does he/she become angry?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q8);
            QuestionnaireQuestions.Add(q8);

            QuestionnaireQuestion q9 = new QuestionnaireQuestion("9", "Is he/she suspicious or makes accusations?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q9);
            q8.Questions.Add(q9);

            QuestionnaireQuestion q10 = new QuestionnaireQuestion("10", "Does he/she strike out or try to hit?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q10);
            q8.Questions.Add(q10);

            QuestionnaireQuestion q11 = new QuestionnaireQuestion("11", "Does he/she engage in behaviour potentially dangerous to others or him/herself?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q11);
            q8.Questions.Add(q11);

            QuestionnaireQuestion q12 = new QuestionnaireQuestion("12", "Does he/she talk in an aggressive or threatening manner?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q12);
            q8.Questions.Add(q12);

            QuestionnaireQuestion q13 = new QuestionnaireQuestion("13", "Is he/she uncooperative when I want him/her to do something?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q13);
            q8.Questions.Add(q13);

            #endregion

            #region Cluster 3: Mood

            QuestionnaireQuestion q14 = new QuestionnaireQuestion("14", "Does he/she appear sad or depressed?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q14);
            QuestionnaireQuestions.Add(q14);

            QuestionnaireQuestion q15 = new QuestionnaireQuestion("15", "Is he/she unable to keep occupied or busy by self?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q15);
            q14.Questions.Add(q15);

            QuestionnaireQuestion q16 = new QuestionnaireQuestion("16", "Does he/she spend long periods of time inactive?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q16);
            q14.Questions.Add(q16);

            QuestionnaireQuestion q17 = new QuestionnaireQuestion("17", "Does he/she talk little or not at all?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q17);
            q14.Questions.Add(q17);

            QuestionnaireQuestion q18 = new QuestionnaireQuestion("18", "Does he/she cry or become tearful or appear emotionally instable?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q18);
            q14.Questions.Add(q18);

            QuestionnaireQuestion q19 = new QuestionnaireQuestion("19", "Does he/she eat excessively or not at all?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetFrequencyAnswer(q19);
            q14.Questions.Add(q19);

            #endregion

            #region Questions 20 - 32

            QuestionnaireQuestion q20 = new QuestionnaireQuestion("20", "Is he/she able to solve daily problems?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q20);
            q14.Questions.Add(q20);

            QuestionnaireQuestion q21 = new QuestionnaireQuestion("21", "Does he/she take care of his/her personal hygiene?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q21);
            q14.Questions.Add(q21);

            QuestionnaireQuestion q22 = new QuestionnaireQuestion("22", "Is he/she involved in social activities?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q22);
            q14.Questions.Add(q22);

            QuestionnaireQuestion q23 = new QuestionnaireQuestion("23", "Did he/she fall in the last week?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q23);
            q14.Questions.Add(q23);

            QuestionnaireQuestion q24 = new QuestionnaireQuestion("24", "Does he/she have difficulties in the speech?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q24);
            q14.Questions.Add(q24);

            QuestionnaireQuestion q25 = new QuestionnaireQuestion("25", "Does he/she appear anxious or agitated?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q25);
            q14.Questions.Add(q25);

            QuestionnaireQuestion q26 = new QuestionnaireQuestion("26", "Does he/she appear apathetic?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q26);
            q14.Questions.Add(q26);

            QuestionnaireQuestion q27 = new QuestionnaireQuestion("27", "Does he/she sleep?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q27);
            q14.Questions.Add(q27);

            QuestionnaireQuestion q28 = new QuestionnaireQuestion("28", "Does he/she have appetite?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q28);
            q14.Questions.Add(q28);

            QuestionnaireQuestion q29 = new QuestionnaireQuestion("29", "Did he/she assume therapy every day in the last week?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q29);
            q14.Questions.Add(q29);

            QuestionnaireQuestion q30 = new QuestionnaireQuestion("30", " Does he/she report side effects?", QuestionnaireQuestionAnswerType.FreeText);
            SetOneAnswer(q30);
            q14.Questions.Add(q30);

            QuestionnaireQuestion q31 = new QuestionnaireQuestion("31", "Any other problem (specify)?", QuestionnaireQuestionAnswerType.FreeText);
            SetOneAnswer(q31);
            q14.Questions.Add(q31);

            QuestionnaireQuestion q32 = new QuestionnaireQuestion("32", "Has it been necessary to visit Emergency, has the patient needed any non-programmed resource, visits to their doctor or a specialist, has hospital admission or to a Long Term Care Unit or Residential Centre been necessary?", QuestionnaireQuestionAnswerType.OneAnswer);
            SetOneAnswer(q32);
            q14.Questions.Add(q32);

            #endregion

            QuestionnaireQuestion[] questions = QuestionnaireQuestions.ToArray();

            q.Questions = questions;

            SerializeMe(q, "DailyQuestionnaire.xml");
        }
示例#49
0
        public ActionResult InsertSampleData()
        {
            if (_env.IsDevelopment())
            {
                Questionnaire           ExampleQuestionnaire = new Questionnaire();
                QuestionnaireCategories ExampleCategory1     = new QuestionnaireCategories
                {
                    CategoryID      = 1,
                    CategoryName    = "Test Category 1",
                    QuestionnaireID = ExampleQuestionnaire,
                    Weighting       = 30
                };
                QuestionnaireCategories ExampleCategory2 = new QuestionnaireCategories
                {
                    CategoryID      = 2,
                    CategoryName    = "Test Category 2",
                    QuestionnaireID = ExampleQuestionnaire,
                    Weighting       = 30
                };
                QuestionnaireQuestions ExampleQuestionA = new QuestionnaireQuestions
                {
                    QuestionID            = 1,
                    Description           = "How good was the big data visualized",
                    GoodReference         = "Easily understandable",
                    BadReference          = "Confusing",
                    Weighting             = 10,
                    QuestionnaireCategory = ExampleCategory1
                };
                QuestionnaireQuestions ExampleQuestionB = new QuestionnaireQuestions
                {
                    QuestionID            = 2,
                    Description           = "What is big data analytics",
                    GoodReference         = "Difficult to understand ",
                    BadReference          = "Very less details ",
                    Weighting             = 20,
                    QuestionnaireCategory = ExampleCategory1
                };
                QuestionnaireQuestions ExampleQuestionC = new QuestionnaireQuestions
                {
                    QuestionID            = 3,
                    Description           = "What is big data ",
                    GoodReference         = "Meaningfull data",
                    BadReference          = " Some key points were misssing ",
                    Weighting             = 20,
                    QuestionnaireCategory = ExampleCategory2
                };
                QuestionnaireQuestions ExampleQuestionD = new QuestionnaireQuestions
                {
                    QuestionID            = 4,
                    Description           = " Give some examples of big data ",
                    GoodReference         = " awesome",
                    BadReference          = " Lot of details ",
                    Weighting             = 10,
                    QuestionnaireCategory = ExampleCategory2
                };

                QuestionnaireAnswers ExampleAnswers1 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionA,
                    AnswerID = 1,
                    Score    = 10
                };
                QuestionnaireAnswers ExampleAnswers2 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionA,
                    AnswerID = 2,
                    Score    = 10
                };
                QuestionnaireAnswers ExampleAnswers3 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionB,
                    AnswerID = 1,
                    Score    = 20
                };
                QuestionnaireAnswers ExampleAnswers4 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionB,
                    AnswerID = 2,
                    Score    = 20
                };
                QuestionnaireAnswers ExampleAnswers5 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionC,
                    AnswerID = 1,
                    Score    = 20
                };

                QuestionnaireAnswers ExampleAnswers6 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionC,
                    AnswerID = 2,
                    Score    = 20
                };
                QuestionnaireAnswers ExampleAnswers7 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionD,
                    AnswerID = 1,
                    Score    = 10
                };
                QuestionnaireAnswers ExampleAnswers8 = new QuestionnaireAnswers
                {
                    Question = ExampleQuestionD,
                    AnswerID = 2,
                    Score    = 10
                };
                Module ExampleModule = new Module
                {
                    TemplateQuestionnaireID = ExampleQuestionnaire,
                    Description             = "SAD"
                };

                ModuleDetails ExampleModuleDetails = new ModuleDetails
                {
                    ModuleID          = ExampleModule,
                    CourseNumber      = 1,
                    QuestionnaireID   = ExampleQuestionnaire,
                    StartTime         = new DateTime(2017, 04, 23),
                    EndTime           = new DateTime(2017, 05, 18),
                    UserNameProfessor = "*****@*****.**"
                };

                GroupModule ExampleGroupModule = new GroupModule
                {
                    ModuleDetail = ExampleModuleDetails,
                    GroupName    = "abc",
                };
                StudentCourse ExampleStudentCourse = new StudentCourse
                {
                    UserNameStudent     = "*****@*****.**",
                    Course              = ExampleModuleDetails,
                    SelfEvaluationID    = 1,
                    AnswerID            = 2,
                    GroupGradeOK        = true,
                    Group               = ExampleGroupModule,
                    SelfEvaluationGrade = 3,
                    GroupGrade          = 4,
                    ProfessorGuessGrade = 10,
                    Grade               = 10,
                };



                _context.Questionnaire.Add(ExampleQuestionnaire);
                _context.QuestionnaireCategories.Add(ExampleCategory1);
                _context.QuestionnaireCategories.Add(ExampleCategory2);
                _context.QuestionnaireQuestions.Add(ExampleQuestionA);
                _context.QuestionnaireQuestions.Add(ExampleQuestionB);
                _context.QuestionnaireQuestions.Add(ExampleQuestionC);
                _context.QuestionnaireQuestions.Add(ExampleQuestionD);
                _context.QuestionnaireAnswers.Add(ExampleAnswers1);
                _context.QuestionnaireAnswers.Add(ExampleAnswers2);
                _context.QuestionnaireAnswers.Add(ExampleAnswers3);
                _context.QuestionnaireAnswers.Add(ExampleAnswers4);
                _context.QuestionnaireAnswers.Add(ExampleAnswers5);
                _context.QuestionnaireAnswers.Add(ExampleAnswers6);
                _context.QuestionnaireAnswers.Add(ExampleAnswers7);
                _context.QuestionnaireAnswers.Add(ExampleAnswers8);
                _context.Module.Add(ExampleModule);
                _context.ModuleDetails.Add(ExampleModuleDetails);
                _context.GroupModule.Add(ExampleGroupModule);
                _context.StudentCourse.Add(ExampleStudentCourse);
                _context.SaveChanges();
                ViewData["SampleDataInserted"] = "True";
            }


            return(View("Index"));
        }
示例#50
0
        public async Task ImportsTextQuestions()
        {
            // Arrange
            const string name      = "text question";
            var          fileNames = new[] { "file1", "file2" };

            var questionnaire = new Questionnaire
            {
                Revision = 1,
                Name     = name
            };
            var question1 = new TextQuestion
            {
                Revision = 1,
                Text     = "TextQuestion1",
                Answer   = new TextAnswer
                {
                    Text = "TextAnswer1"
                }
            };
            var question2 = new TextQuestion
            {
                Revision = 1,
                Text     = "TextQuestion2",
                Answer   = new TextAnswer
                {
                    Text = "TextAnswer2"
                }
            };
            var question3 = new TextQuestion
            {
                Revision = 1,
                Text     = "TextQuestion3",
                Answer   = new TextAnswer
                {
                    Text = "TextAnswer3"
                }
            };
            var fileText1 = "2;\n" +
                            "Text;Antwort\n" +
                            $"\"{question1.Text}\";{question1.Answer.Text}\n" +
                            $"{question2.Text};{question2.Answer.Text}\n" +
                            $"{question3.Text};\"{question3.Answer.Text}\"";
            var question4 = new TextQuestion
            {
                Revision = 1,
                Text     = "TextQuestion4",
                Answer   = new TextAnswer
                {
                    Text = "TextAnswer4"
                }
            };
            var fileText2 = "2\n" +
                            "Text;Antwort\n" +
                            $"{question4.Text};{question4.Answer.Text}\n";

            var expectedImportedQuestions = new Dictionary <string, List <string> >
            {
                [fileNames[0]] = new List <string>
                {
                    question1.Text,
                    question2.Text,
                    question3.Text
                },
                [fileNames[1]] = new List <string>
                {
                    question4.Text
                }
            };

            var questionsUow      = A.Fake <IQuestionsUnitOfWork>();
            var questionnairesUow = A.Fake <IQuestionnairesUnitOfWork>();
            var file = A.Fake <IFile>();

            A.CallTo(() => file.ReadAllText(A <string> .That.Matches(_ => _ == fileNames[0])))
            .Returns(fileText1);
            A.CallTo(() => file.ReadAllText(A <string> .That.Matches(_ => _ == fileNames[1])))
            .Returns(fileText2);

            var testee = new ImportExportService(questionnairesUow, questionsUow, file);

            // Act
            (Dictionary <string, List <string> > importedQuestions, List <string> erroredFiles) = await testee.Import(name, fileNames);

            // Assert
            importedQuestions.ShouldBeEquivalentTo(expectedImportedQuestions);
            erroredFiles.Should().BeNullOrEmpty();

            A.CallTo(() => questionnairesUow.QuestionnairesRepo.Add(A <Questionnaire> .That.Matches(_ => this.matchEntity(_, questionnaire))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.TextQuestionsRepo.Add(A <TextQuestion> .That.Matches(_ => this.matchEntity(_, question1))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.TextQuestionsRepo.Add(A <TextQuestion> .That.Matches(_ => this.matchEntity(_, question2))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.TextQuestionsRepo.Add(A <TextQuestion> .That.Matches(_ => this.matchEntity(_, question3))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.TextQuestionsRepo.Add(A <TextQuestion> .That.Matches(_ => this.matchEntity(_, question4))))
            .MustHaveHappened();

            A.CallTo(() => questionnairesUow.Complete())
            .MustHaveHappened();
            A.CallTo(() => questionsUow.Complete())
            .MustHaveHappened(Repeated.Exactly.Times(5));
        }
示例#51
0
        public async Task ImportsAssignmentQuestions()
        {
            // Arrange
            const string name      = "assignment question";
            var          fileNames = new[] { "file1", "file2" };

            var questionnaire = new Questionnaire
            {
                Revision = 1,
                Name     = name
            };
            var question1 = new AssignmentQuestion
            {
                Revision = 1,
                Text     = "AssignmentQuestion1",
                Options  = new List <AssignmentOption>
                {
                    new AssignmentOption
                    {
                        Text = "AssignOpt1"
                    },
                    new AssignmentOption
                    {
                        Text = "AssignOpt2"
                    },
                    new AssignmentOption
                    {
                        Text = "AssignOpt3"
                    }
                }
            };
            var q1Opts    = question1.Options.ToList();
            var q1Answers = (question1.Answers = new List <AssignmentAnswer>
            {
                new AssignmentAnswer
                {
                    Text = "AssignAnswer1",
                    CorrectOption = question1.Options.First()
                },
                new AssignmentAnswer
                {
                    Text = "AssignAnswer2",
                    CorrectOption = question1.Options.Skip(1).First()
                },
                new AssignmentAnswer
                {
                    Text = "AssignAnswer3",
                    CorrectOption = question1.Options.Skip(2).First()
                }
            }).ToList();
            var question2 = new AssignmentQuestion
            {
                Revision = 1,
                Text     = "AssignmentQuestion2",
                Options  = new List <AssignmentOption>
                {
                    new AssignmentOption
                    {
                        Text = "AssignOpt21"
                    },
                    new AssignmentOption
                    {
                        Text = "AssignOpt23"
                    }
                }
            };
            var q2Opts    = question2.Options.ToList();
            var q2Answers = (question2.Answers = new List <AssignmentAnswer>
            {
                new AssignmentAnswer
                {
                    Text = "AssignAnswer21",
                    CorrectOption = question2.Options.Skip(1).First()
                },
                new AssignmentAnswer
                {
                    Text = "AssignAnswer22",
                    CorrectOption = question2.Options.First()
                }
            }).ToList();
            var question3 = new AssignmentQuestion
            {
                Revision = 1,
                Text     = "AssignmentQuestion2",
                Options  = new List <AssignmentOption>
                {
                    new AssignmentOption
                    {
                        Text = "AssignOpt31"
                    },
                    new AssignmentOption
                    {
                        Text = "AssignOpt32"
                    },
                    new AssignmentOption
                    {
                        Text = "AssignOpt33"
                    }
                }
            };
            var q3Opts    = question3.Options.ToList();
            var q3Answers = (question3.Answers = new List <AssignmentAnswer>
            {
                new AssignmentAnswer
                {
                    Text = "AssignAnswer31",
                    CorrectOption = question3.Options.Skip(2).First()
                },
                new AssignmentAnswer
                {
                    Text = "AssignAnswer32",
                    CorrectOption = question3.Options.First()
                }
            }).ToList();
            var fileText1 = "0;\n" +
                            "Text;Opt1;Opt2;Opt3;;Assign1Text;Assign1Opt;Assign2Text;Assign2Opt;Assign3Text;Assign3Opt\n" +
                            $"\"{question1.Text}\";{q1Opts[0].Text};{q1Opts[1].Text};{q1Opts[2].Text};;{q1Answers[0].Text};1;{q1Answers[1].Text};2;{q1Answers[2].Text};3\n" +
                            $"\"{question2.Text}\";{q2Opts[0].Text};{q2Opts[1].Text};;;{q1Answers[0].Text};2;{q1Answers[1].Text};1;;";
            var fileText2 = "0;\n" +
                            "Text;Opt1;Opt2;Opt3;;Assign1Text;Assign1Opt;Assign2Text;Assign2Opt;Assign3Text;Assign3Opt\n" +
                            $"{question3.Text};{q3Opts[0].Text};{q3Opts[1].Text};{q3Opts[2].Text};;{q3Answers[0].Text};3;{q3Answers[1].Text};1;;;\n" +
                            $"";

            var expectedImportedQuestions = new Dictionary <string, List <string> >
            {
                [fileNames[0]] = new List <string>
                {
                    question1.Text,
                    question2.Text
                },
                [fileNames[1]] = new List <string>
                {
                    question3.Text
                }
            };

            var questionsUow      = A.Fake <IQuestionsUnitOfWork>();
            var questionnairesUow = A.Fake <IQuestionnairesUnitOfWork>();
            var file = A.Fake <IFile>();

            A.CallTo(() => file.ReadAllText(A <string> .That.Matches(_ => _ == fileNames[0])))
            .Returns(fileText1);
            A.CallTo(() => file.ReadAllText(A <string> .That.Matches(_ => _ == fileNames[1])))
            .Returns(fileText2);

            var testee = new ImportExportService(questionnairesUow, questionsUow, file);

            // Act
            (Dictionary <string, List <string> > importedQuestions, List <string> erroredFiles) = await testee.Import(name, fileNames);

            // Assert
            importedQuestions.ShouldBeEquivalentTo(expectedImportedQuestions);
            erroredFiles.Should().BeNullOrEmpty();

            A.CallTo(() => questionnairesUow.QuestionnairesRepo.Add(A <Questionnaire> .That.Matches(_ => this.matchEntity(_, questionnaire))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.AssignmentQuestionsRepo.Add(A <AssignmentQuestion> .That.Matches(_ => this.matchEntity(_, question1))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.AssignmentQuestionsRepo.Add(A <AssignmentQuestion> .That.Matches(_ => this.matchEntity(_, question2))))
            .MustHaveHappened();
            A.CallTo(() => questionsUow.AssignmentQuestionsRepo.Add(A <AssignmentQuestion> .That.Matches(_ => this.matchEntity(_, question3))))
            .MustHaveHappened();

            A.CallTo(() => questionnairesUow.Complete())
            .MustHaveHappened();
            A.CallTo(() => questionsUow.Complete())
            .MustHaveHappened(Repeated.Exactly.Times(4));
        }
示例#52
0
    // Use this for initialization
    protected virtual void Start()
    {
        questionnaire = GameObject.Find("Navigator").GetComponent<Questionnaire>();
        numberOfQuestions = StoryGameManager.instance.numberOfQuestions;

        transform.position = new Vector3(x, y);
        minSize = transform.localScale;

        /*if (hasDialog)
        {
            dialogManager = GetComponent<DialogManager>();
        }*/
        sceneManager = (StorySceneManager)FindObjectOfType(typeof(StorySceneManager));
        gameManager = (StoryGameManager)FindObjectOfType(typeof(StoryGameManager));
        animator = gameObject.GetComponent<Animator>();
        boxCollider = gameObject.GetComponent<BoxCollider2D>();
        minColliderSize = boxCollider.size;

        PNJLoadEvent();
    }
示例#53
0
 //public List<Question> Questions { get; set; }
 public AddQuestionnaireModel()
 {
     Questionnaire = new Questionnaire(-1);
     //Questions = new List<Question>();
 }