Ejemplo n.º 1
0
        public JsonResult SaveQuestionAnswer(QuestionResponse questionResponse)
        {
            List <string> LstLibelleOptionReponse = new List <string>();

            Question myQuest = iquestion.GetQuestion(int.Parse(questionResponse.QuestionID));

            if (!myQuest.EstMultiChoix)
            {
                string lblresponse = ioptionReponse.GetOptionReponse(int.Parse(questionResponse.LstOptionId)).Libelle;
                LstLibelleOptionReponse.Add(lblresponse);
            }
            else
            {
                string[] tbOptID = questionResponse.LstOptionId.Split('_');
                for (int i = 0; i < tbOptID.Length; i++)
                {
                    if (!string.IsNullOrEmpty(tbOptID[i]))
                    {
                        LstLibelleOptionReponse.Add(ioptionReponse.GetOptionReponse(int.Parse(tbOptID[i])).Libelle);
                    }
                }
            }

            ireponseQuest.AddUpdateReponse(questionResponse.QuestionID, LstLibelleOptionReponse);

            return(Json(data: new { message = "Data Successfully Added.", success = true }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Map Questions and answers to view
        /// </summary>
        /// <param name="questionResponse"></param>
        /// <returns></returns>
        public List <AnalyticsQuestionAnswer> GetAnalyticQuestionAnswers(QuestionResponse questionResponse)
        {
            List <AnalyticsQuestionAnswer> analyticQuestionAnswers = new List <AnalyticsQuestionAnswer>();

            foreach (var questionGroup in questionResponse.Domains[0].Categories)
            {
                foreach (var subCategory in questionGroup.SubCategories)
                {
                    foreach (var question in subCategory.Questions)
                    {
                        analyticQuestionAnswers.Add(new AnalyticsQuestionAnswer
                        {
                            QuestionId      = question.QuestionId,
                            QuestionText    = question.QuestionText,
                            AnswerText      = question.Answer,
                            CategoryId      = questionGroup.GroupHeadingId,
                            CategoryText    = questionGroup.GroupHeadingText,
                            SubCategoryId   = subCategory.SubCategoryId,
                            SubCategoryText = subCategory.SubCategoryHeadingText,
                            SetName         = questionGroup.SetName,
                            IsRequirement   = question.Is_Requirement,
                            IsComponent     = question.Is_Component
                        });
                    }
                }
            }
            return(analyticQuestionAnswers);
        }
        public void Given_response_not_on_question_then_response_added()
        {
            var questionResponse = new QuestionResponse() {Id = Guid.NewGuid(), Title = "Acceptable"};
            var question = new Question();
            question.AddQuestionResponse(questionResponse);

            Assert.That(question.PossibleResponses.Count,Is.EqualTo(1));
        }
Ejemplo n.º 4
0
 private static QuestionResponseDto ConvertKpExplorerQuestionaireResultToDto(QuestionResponse entity)
 {
     return(new QuestionResponseDto()
     {
         Question = entity.Question,
         Score = entity.Score
     });
 }
Ejemplo n.º 5
0
        public QuestionResponse GetComponentQuestionsList([FromBody] string group)
        {
            int assessmentId      = Auth.AssessmentForUser();
            var manager           = new ComponentQuestionManager(assessmentId);
            QuestionResponse resp = manager.GetResponse();

            return(resp);
        }
Ejemplo n.º 6
0
        public QuestionResponse GetComponentOverridesList()
        {
            int assessmentId      = Auth.AssessmentForUser();
            QuestionsManager qm   = new QuestionsManager(assessmentId);
            QuestionResponse resp = qm.GetOverrideListOnly();

            return(resp);
        }
Ejemplo n.º 7
0
        public async Task <QuestionResponse> PutAsync(Guid id, QuestionResponse request)
        {
            var uri           = new Uri($"/{ApiVersion}/{ApiRoute}/{id}", UriKind.Relative);
            var stringContent = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(request), Encoding.UTF8, JsonMediaType);
            var response      = await _httpClient.PutAsync(uri, stringContent);

            response.EnsureSuccessStatusCode();
            return(await response.Content.ReadAsAsync <QuestionResponse>());
        }
Ejemplo n.º 8
0
        private QuestionResponse[] GetAnswersArray(string[] texts, int[] nums)
        {
            var answers = new QuestionResponse[4];

            answers[0] = new QuestionResponse(texts[0], nums[0]);
            answers[1] = new QuestionResponse(texts[1], nums[1]);
            answers[2] = new QuestionResponse(texts[2], nums[2]);
            answers[3] = new QuestionResponse(texts[3], nums[3]);
            return(answers);
        }
Ejemplo n.º 9
0
        public void BuildOverridesOnly(QuestionResponse resp, CSET_Context context)
        {
            // Because these are only override questions and the lists are short, don't bother grouping by group header.  Just subcategory.
            var dlist = context.Answer_Components_Overrides.Where(x => x.Assessment_Id == this._assessmentId).Cast <Answer_Components_Base>()
                        .OrderBy(x => x.Symbol_Name).ThenBy(x => x.ComponentName).ThenBy(x => x.Component_Guid)
                        .ThenBy(x => x.Universal_Sub_Category)
                        .ToList();

            AddResponseComponentOverride(resp, context, dlist, "Component Overrides");
        }
Ejemplo n.º 10
0
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            //questionIdList = (List<int>)Session["questionIdList"];
            //choiceList = (List<int>)Session["choiceList"];

            IIdentity id       = User.Identity;
            dynamic   profile  = ProfileBase.Create(id.Name);
            string    username = id.Name;

            foreach (GridViewRow row in gvQuestions.Rows)
            {
                RadioButtonList rblOptions    = (RadioButtonList)row.FindControl("rblOptions");
                Label           lblQuestionId = (Label)row.FindControl("lblQuestionId");
                Label           lblQuestion   = (Label)row.FindControl("lblQuestion");

                if (rblOptions.SelectedItem != null)
                {
                    int qId      = Convert.ToInt32(lblQuestionId.Text);
                    int choiceId = Convert.ToInt32(rblOptions.SelectedValue);
                    questionIdList.Add(qId);
                    choiceList.Add(choiceId);
                }
            }

            string confirmValue = Request.Form["confirm_value"];

            if (confirmValue == "Yes")
            {
                QuizResult qr     = new QuizResult();
                int        quizId = Convert.ToInt32(Session["QuizId"]);
                qr.QuizId        = quizId;
                qr.Username      = username;
                qr.Name          = context.Employees.Where(x => x.UserName == username).Select(x => x.Name).First();
                qr.TimeSubmitted = DateTime.Now;
                context.QuizResults.Add(qr);
                context.SaveChanges();

                QuizResult qr2          = context.QuizResults.Where(x => x.Username == username).Where(x => x.QuizId == quizId).OrderByDescending(x => x.ResultId).First();
                int        quizResultId = qr2.ResultId;

                for (int i = 0; i < questionIdList.Count; i++)
                {
                    QuestionResponse qresp = new QuestionResponse();
                    qresp.ResultId      = qr2.ResultId;
                    qresp.QuestionId    = questionIdList.ElementAt(i);
                    qresp.OptionId      = choiceList.ElementAt(i);
                    qresp.TimeSubmitted = DateTime.Now;
                    context.QuestionResponses.Add(qresp);
                    context.SaveChanges();
                }

                Session["ResultId"] = quizResultId;
                Response.Redirect("~/Users/ViewQuizResult.aspx");
            }
        }
Ejemplo n.º 11
0
        public void AddResponse(QuestionResponse response)
        {
            if (Responses.Contains(response))
            {
                throw new DomainException();
            }

            Responses.Add(response);

            MarkAsModified();
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Returns a list of answer IDs that are currently 'active' on the
        /// Assessment, given its SAL level and selected Standards.
        ///
        /// This piggy-backs on GetQuestionList() so that we don't need to support
        /// multiple copies of the question and answer queries.
        /// </summary>
        /// <returns></returns>
        public List <int> GetActiveAnswerIds()
        {
            QuestionResponse resp = this.GetQuestionList(null);

            List <int> relevantAnswerIds = this.Answers.Where(ans =>
                                                              this.questions.Select(q => q.QuestionId).Contains(ans.a.Question_Or_Requirement_Id))
                                           .Select(x => x.a.Answer_Id)
                                           .ToList <int>();

            return(relevantAnswerIds);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Not my favorite but passing in the
        /// response adding the components to it
        /// and then returning
        /// </summary>
        /// <param name="resp"></param>
        public void BuildComponentsResponse(QuestionResponse resp)
        {
            using (CSET_Context context = new CSET_Context())
            {
                var list = context.Answer_Components_Default.Where(x => x.Assessment_Id == this._assessmentId).Cast <Answer_Components_Base>()
                           .OrderBy(x => x.Question_Group_Heading).ThenBy(x => x.Universal_Sub_Category).ToList();

                AddResponse(resp, context, list, "Component Defaults");
                BuildOverridesOnly(resp, context);
            }
        }
Ejemplo n.º 14
0
        public void GivenValidJson_WhenIMap_ThenIGetQuestionsReturned()
        {
            // Act
            QuestionResponse questionResponse = _jsonMapper.Map(jsonExample);

            // Assert
            Assert.That(questionResponse, Is.Not.Null);
            Assert.That(questionResponse.Questions.Count(), Is.EqualTo(100));
            Assert.That(questionResponse.Questions.First().ViewTotal, Is.EqualTo(26));
            Assert.That(questionResponse.Questions.First().Tags, Contains.Item("c"));
            Assert.That(questionResponse.HasMore, Is.True);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Method for adding question response to database
        /// </summary>
        /// <param name="responseId">Contians the response unique identifier</param>
        /// <param name="questionId">Contains the question unique identifier</param>
        /// <param name="answerId">Contains the answer unique identifier</param>
        public void Add_QuestionResponse(int responseId, int questionId, int answerId)
        {
            using (MSSContext context = new MSSContext())
            {
                QuestionResponse NewQuestionResponse = new QuestionResponse();
                NewQuestionResponse.QuestionId = questionId;
                NewQuestionResponse.ResponseId = responseId;
                NewQuestionResponse.AnswerId   = answerId;

                context.QuestionResponses.Add(NewQuestionResponse);
                context.SaveChanges();
            }
        }
Ejemplo n.º 16
0
        /// <summary>
        /// Save response from a question
        /// </summary>
        ///
        /// <returns></returns>
        public void SaveResponse(QuestionResponse qr)
        {
            if (qr.Id == 0)
            {
                _db.Responses.Add(qr);
            }
            else
            {
                _db.Responses.Update(qr);
            }

            _db.SaveChanges();
        }
Ejemplo n.º 17
0
        public static EditQuestionRequest ToEditQuestionRequest(this QuestionResponse question)
        {
            EditQuestionRequest editQuestionRequest = new EditQuestionRequest()
            {
                Id          = question.Id,
                Title       = question.Title,
                Explanation = question.Explanation,
                ImageUrl    = question.ImageUrl,
                ThemeId     = question.ThemeId,
                Answers     = AnswerMapper.ToListUpdateAnswerRequest(question.Answers)
            };

            return(editQuestionRequest);
        }
Ejemplo n.º 18
0
        public QuestionResponse GetOverrideListOnly()
        {
            QuestionResponse resp = new QuestionResponse
            {
                QuestionGroups  = new List <QuestionGroup>(),
                ApplicationMode = this.applicationMode
            };

            resp.QuestionCount    = 0;
            resp.RequirementCount = 0;

            BuildOverridesOnly(resp, new CSET_Context());
            return(resp);
        }
Ejemplo n.º 19
0
        public async Task <Response <Uri> > PostQuizResponseAsync(QuestionResponse questionResponse, int quizId)
        {
            var request =
                new HttpRequestMessage(HttpMethod.Post, new Uri(_quizServiceUri, $"/api/quizzes/{quizId}/responses"))
            {
                Content = new StringContent(JsonConvert.SerializeObject(questionResponse))
            };

            request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            var response = await _httpClient.SendAsync(request);

            return(response.StatusCode == HttpStatusCode.Created ?
                   new Response <Uri>(response.StatusCode, response.Headers.Location) :
                   new Response <Uri>(response.StatusCode, null, await ReadErrorAsync(response)));
        }
Ejemplo n.º 20
0
        private void InitializeQuestions(string page)
        {
            string questionsUri = StackApi.CreateRequestUri("questions", new Dictionary <string, string>
            {
                { "site", this.DisplaySite.ApiSiteParameter },
                { "pagesize", "50" },
                { "page", page }
            });
            QuestionResponse response = StackApi.FireRequest <QuestionResponse>(questionsUri);

            foreach (Question question in response.Questions)
            {
                this.QuestionsPanel.Children.Add(new QuestionPartial(question, this.DisplaySite));
            }
        }
Ejemplo n.º 21
0
        public ActionResult AddResponse(int?id)
        {
            QuestionResponse qr = new QuestionResponse();

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            else
            {
                qr.SurveyId = (int)id;
                return(View(qr));
            }
        }
Ejemplo n.º 22
0
        public void SurveyResponse_AddResponse_ValidResponse_ShouldAddOnList()
        {
            var survey = SurveyResponse.Create(Guid.NewGuid(), 1000);

            var response = QuestionResponse.Create(DataHelper.GetKeyValuePairs(),
                                                   DataHelper.GetKeyValuePairs(),
                                                   new[] { DataHelper.GetKeyValuePairs() },
                                                   string.Empty,
                                                   2);

            Action addResponse = () => survey.AddResponse(response);

            addResponse.Should().NotThrow();
            survey.Responses.Should().HaveCount(1);
        }
Ejemplo n.º 23
0
        public static QuestionResponse ToQuestionResponse(this Question question)
        {
            QuestionResponse questionResponse = new QuestionResponse()
            {
                Id          = question.Id,
                Title       = question.Title,
                Explanation = question.Explanation,
                ImageUrl    = UrlHelper.GetUri(question.Image),
                Created     = question.Created,
                ThemeId     = question.QuestionThemes.Select(x => x.Theme).FirstOrDefault().Id,
                ThemeTitle  = question.QuestionThemes?.Select(x => x.Theme).FirstOrDefault()?.Title,
                Answers     = AnswerMapper.ToListAnswerDto(question.QuestionAnswers?.Select(x => x.Answer).ToList())
            };

            return(questionResponse);
        }
Ejemplo n.º 24
0
 private void LoadCommentsToResponse(QuestionEntity entity, QuestionResponse response)
 {
     entity.Comments.ToList().ForEach(comment =>
     {
         var newComment = new CommentResponse()
         {
             Id   = comment.Id,
             Body = comment.Body,
             User = new UserResponse
             {
                 Id = comment.UserId
             }
         };
         response.Comments.Add(newComment);
     });
 }
Ejemplo n.º 25
0
        public void SurveyResponse_AddResponse_RepeatedResponse_ShouldThrowDomainException()
        {
            var survey = SurveyResponse.Create(Guid.NewGuid(), 1000);

            var response = QuestionResponse.Create(DataHelper.GetKeyValuePairs(),
                                                   DataHelper.GetKeyValuePairs(),
                                                   new[] { DataHelper.GetKeyValuePairs() },
                                                   string.Empty,
                                                   2);

            survey.AddResponse(response);
            Action addResponse = () => survey.AddResponse(response);

            addResponse.Should().Throw <DomainException>();
            survey.Responses.Should().HaveCount(1);
        }
Ejemplo n.º 26
0
        /// <summary>
        /// Gathers applicable questions for the assessment's network components as defined the by Diagram.
        /// </summary>
        /// <param name="resp"></param>
        public QuestionResponse GetResponse()
        {
            var resp = new QuestionResponse();

            resp.Domains = new List <Domain>();

            using (CSET_Context context = new CSET_Context())
            {
                var list = context.usp_Answer_Components_Default(this.assessmentID).Cast <Answer_Components_Base>().ToList();

                AddResponse(resp, context, list, "Component Defaults");
                BuildOverridesOnly(resp, context);
            }

            return(resp);
        }
        public void ProcessServerResponse_QuestionWithoutTags_NoThrows()
        {
            var resultBuilder = GetResultBuilder();

            var answer = new Question
            {
                Title = "some title",
            };
            var response = new QuestionResponse
            {
                Items = new List <Question> {
                    answer
                }
            };

            Assert.DoesNotThrow(() => resultBuilder.ProcessServerResponse(response));
        }
Ejemplo n.º 28
0
        /// <summary>
        ///     Create a new QuestionResponse wrapper around a QuestionResponse
        /// </summary>
        /// <param name="qr">The QuestionResponse</param>
        public QuestionResponseContent(QuestionResponse qr)
        {
            referenceList = new List<ReferenceContent>();
            keywords = new List<String>();
            requestID = qr.RequestID;
            questionResponseID = qr.QuestionResponseID;

            question = qr.Question;
            response = qr.Response;
            timeSpent = qr.TimeSpent;
            specialNotes = qr.SpecialNotes;
            questionTypeID = qr.QuestionTypeID;
            tumourGroupID = qr.TumourGroupID;

            severity = (Constants.Severity?) qr.Severity;
            consequence = (Constants.Consequence?) qr.Consequence;
        }
Ejemplo n.º 29
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="resp"></param>
        /// <param name="context"></param>
        public void BuildOverridesOnly(QuestionResponse resp, CSET_Context context)
        {
            // Because these are only override questions and the lists are short, don't bother grouping by group header.  Just subcategory.
            List <Answer_Components_Base> dlist = null;

            context.LoadStoredProc("[usp_getAnswerComponentOverrides]")
            .WithSqlParam("assessment_id", this.assessmentID)
            .ExecuteStoredProc((handler) =>
            {
                dlist = handler.ReadToList <Answer_Components_Base>()
                        .OrderBy(x => x.Symbol_Name).ThenBy(x => x.ComponentName).ThenBy(x => x.Component_Guid)
                        .ThenBy(x => x.Universal_Sub_Category)
                        .ToList();
            });

            AddResponseComponentOverride(resp, context, dlist, "Component Overrides");
        }
Ejemplo n.º 30
0
        public QuestionResponse Map(Question question)
        {
            if (question == null)
            {
                return(null);
            }

            var questionResponse = new QuestionResponse
            {
                Id        = question.Id,
                MaxPoints = question.MaxPoints,
                Season    = question.Episode?.Season?.Name,
                Episode   = question.Episode?.Name,
                Answers   = question.PupilInCourseAnswersQuestion.Select(HelperMapper.BasicMap)
            };

            return(questionResponse);
        }
Ejemplo n.º 31
0
        public async Task <bool> Handle(QuestionAnsweredEvent request, CancellationToken cancellationToken)
        {
            SurveyResponse surveyResponse = await _surveyResponseUnitOfWork.GetOrCreate(
                new { request.QuestionnareId, request.ExecutionId },
                () => SurveyResponse.Create(request.ExecutionId, request.QuestionnareId));

            QuestionResponse response = QuestionResponse.Create(request.Subject,
                                                                request.Question,
                                                                request.Answers,
                                                                request.Answer,
                                                                request.AnswerIndex);

            surveyResponse.AddResponse(response);

            await _surveyResponseUnitOfWork.Commit();

            return(true);
        }
Ejemplo n.º 32
0
        public QuestionResponse GetList([FromBody] string group)
        {
            int    assessmentId    = Auth.AssessmentForUser();
            string applicationMode = GetApplicationMode(assessmentId);


            if (applicationMode.ToLower().StartsWith("questions"))
            {
                QuestionsManager qm   = new QuestionsManager(assessmentId);
                QuestionResponse resp = qm.GetQuestionList(group);
                return(resp);
            }
            else
            {
                RequirementsManager rm   = new RequirementsManager(assessmentId);
                QuestionResponse    resp = rm.GetRequirementsList();
                return(resp);
            }
        }
Ejemplo n.º 33
0
    protected void btnDeleteSection_Click(object sender, EventArgs e)
    {
        Sections sec = new Sections();
        Question ques=new Question ();
        Assessment ass = new Assessment();
        AnswerDetail ansDetail = new AnswerDetail();
        CVTCMenu menu=new CVTCMenu ();
        QuestionResponse qr=new QuestionResponse ();
        int sectOID = Convert.ToInt32(Request.QueryString["soid"].ToString());
        int AssOID = sec.GetAssessmentOIDBySectionOID(sectOID);
        if (ass.GetAssessmentStatusByOID(Convert.ToInt32(AssOID)) == 1)
        {
            LabelMessage.Text = "This group can not be deleted.It has been Locked";
            return;
        }
        else
        {
            string menuURL = "pg/assessment/section.aspx?soid=" + sectOID + "";
            //Delete from AnswerDetails and Question Table by SectionOID
            bool DeleteFromAnswerDetail=ansDetail.DeleteAnswerDetailBySectionOID(sectOID);
            Collection<Question> qList = new Collection<Question>();
            qList = ques.GetQuestionOIDBySectionOID(sectOID);
            foreach (Question q in qList )
            {
                qr.DeleteQuestionBySectionOID(q.QuestionOID);
            }
            bool DeleteFromQuestion = ques.DeleteQuestionBySectionOID(sectOID);
            bool DeleteFromMenu = menu.DeleteMenuByMenuURL(menuURL);
            bool DeleteFromSection = sec.DeleteSectionBySectionOID(sectOID);
            if (DeleteFromSection && DeleteFromMenu)
            {

                InitializeQuestion(sectOID);
                LabelMessage.Text = "This question group has been deleted successfully";
            }
            else
            {
                LabelMessage.Text = "This question group can not be deleted.Please try again..";
            }
            ButtonRefresh_Click(null, null);
        }
    }
Ejemplo n.º 34
0
    public static void DeleteQuestion( string OrderNo,string SectionID)
    {
        Question qu=new Question ();
           QuestionResponse qr = new QuestionResponse();
        int OrderNumber = Convert.ToInt32(OrderNo);
        int secID = Convert.ToInt32(SectionID);
        int QuestionOID = qu.GetQuestionOIDBySectionIDAndOrderNo(OrderNumber, secID);
        qr.DeleteQuestionBySectionOID(QuestionOID);
        if (qu.DeleteQuestionByQuestionOID(QuestionOID))
        {
            qr.UpdateQuestionResponseTotalQuestion(secID);
            Alert.Show("Successfully Deleted this question..");
            return;
        }
        else
        {

            Alert.Show("Not Deleted .try again..");
            return;
        }
    }
Ejemplo n.º 35
0
        public void When_GetChecklist_is_called_With_Duplicate_Possible_Responses_For_Question_Database_Then_Only_Return_One_Instance_Of_Each()
        {
            //GIVEN
            var id = Guid.NewGuid();
            var questionId = Guid.NewGuid();
            var checklist = new Checklist();
            var possibleResponseId = Guid.NewGuid();

            var category = Category.Create(Guid.NewGuid(), "Category A");
            var questions = new Question[] { Question.Create(questionId, "Question One", category, false, new UserForAuditing()), Question.Create(questionId, "Question one", category, false, new UserForAuditing()) };

            var questionResponse1 = new QuestionResponse() {Id = possibleResponseId, Title = "Acceptable"};
            var questionResponse2 = new QuestionResponse() {Id = possibleResponseId, Title = "Acceptable"};

            questions.First().PossibleResponses.Add(questionResponse1);
            questions.First().PossibleResponses.Add(questionResponse2);

            var checklistQuestions = new ChecklistQuestion() { Id = questionId, Checklist = checklist, Question = questions.First() };

            foreach (var question in questions)
            {
                checklist.Questions.Add(new ChecklistQuestion { Checklist = checklist, Question = question });
            }

            checklist.Questions.Add(checklistQuestions);

            checklistRepo.Setup(x => x.GetById(It.IsAny<Guid>()))
                .Returns(checklist);

            //when
            var target = new ChecklistController(dependencyFactory.Object);

            var result = target.GetChecklist(id);

            //THEN
            Assert.That(result.Questions.First().Question.PossibleResponses.Count, Is.EqualTo(1));
        }
Ejemplo n.º 36
0
        private void AddQuestionToChecklist(Checklist checklist, QuestionAnswerViewModel questionAnswerViewModel,
            UserForAuditing systemUser)
        {
            var question = _questionRepository.GetById(questionAnswerViewModel.Question.Id);

            if (question == null)
            {
                // adding a bespoke question
                var category = _categoryRepository.GetById(questionAnswerViewModel.Question.CategoryId);

                if (category == null)
                {
                    throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest,
                        String.Format("Unknown Category - Id {0}",
                            questionAnswerViewModel.
                                Question.CategoryId.
                                ToString())));
                }

                question = Question.Create(
                    questionAnswerViewModel.Question.Id,
                    questionAnswerViewModel.Question.Text,
                    category,
                    true, // is custom (bespoke) question
                    questionAnswerViewModel.Question.SpecificToClientId,
                    systemUser);

            }
            else if (question.CustomQuestion && question.Title != questionAnswerViewModel.Question.Text)
            {
                // update bespoke question text
                question.Title = questionAnswerViewModel.Question.Text;
            }

            if (questionAnswerViewModel.Question.PossibleResponses != null)
            {
                foreach (var possibleResponse in questionAnswerViewModel.Question.PossibleResponses)
                {
                    var questionResponse = _questionResponseRepository.GetById(possibleResponse.Id);
                    if (questionResponse == null)
                    {
                        questionResponse = new QuestionResponse
                        {
                            Id = possibleResponse.Id,
                            Title = possibleResponse.Title,
                            SupportingEvidence = possibleResponse.SupportingEvidence,
                            ActionRequired = possibleResponse.ActionRequired,
                            ResponseType = possibleResponse.ResponseType,
                            GuidanceNotes = possibleResponse.GuidanceNotes,
                            CreatedBy = systemUser,
                            CreatedOn = DateTime.Now,
                            LastModifiedBy = systemUser,
                            LastModifiedOn = DateTime.Now,
                            ReportLetterStatement = possibleResponse.ReportLetterStatement
                        };
                    }
                    else
                    {
                        questionResponse.ReportLetterStatement = possibleResponse.ReportLetterStatement;
                    }

                    question.AddQuestionResponse(questionResponse);
                }
            }


            ChecklistQuestion checklistQuestion = new ChecklistQuestion()
            {
                Id = Guid.NewGuid(),
                Checklist = checklist,
                Question = question,
                CreatedBy = systemUser,
                CreatedOn = DateTime.Now,
                CategoryNumber = questionAnswerViewModel.CategoryNumber,
                QuestionNumber = questionAnswerViewModel.QuestionNumber
            };

            checklist.UpdateQuestion(checklistQuestion, systemUser);

        }
Ejemplo n.º 37
0
        public void given_checklist_when_copyWithResponses_then_Answers_to_all_non_mandatory_questions_are_set()
        {
            //given
            var siteId = 213123;
            var clientId = 54321;
            var userForAuditing = new UserForAuditing() { Id = Guid.NewGuid() };
            var copiedByUserName = "******";
            

            var question1 = Question.Create(Guid.NewGuid(), "Title",
               new Category() { Id = Guid.NewGuid(), Title = "Care" }, true, userForAuditing);

            var responseId = Guid.NewGuid();
            var questionResponse1 = new QuestionResponse() {
                    Id = responseId,
                    Title = "Acceptable",
                    SupportingEvidence = "sp",
                    GuidanceNotes = "the guidance notes",
                    ActionRequired = "the action required",
                    ResponseType = "Positive",
                    Question = question1,
                };
            var questionResponse2 = new QuestionResponse() { Id = Guid.NewGuid(), Question = question1, Title = "Unacceptable", ResponseType = "Negative"};

            question1.PossibleResponses.Add(questionResponse1);
            question1.PossibleResponses.Add(questionResponse2);

           
            var answer = new ChecklistAnswer()
            {
                Id = Guid.NewGuid(),
                AssignedTo = new BusinessSafe.Domain.Entities.Employee() { Id = Guid.NewGuid() },
                EmployeeNotListed = "employee not listed",
                Timescale = new Timescale() { Id = 2L },
                Question = question1,
                Response = new QuestionResponse()
                {
                    Id = responseId,
                    Title = "Acceptable",
                    SupportingEvidence = "sp",
                    GuidanceNotes = "the guidance notes",
                    ActionRequired = "the action required",
                    ResponseType = "Positive",
                    Question = question1,
                },
                SupportingDocumentationDate = DateTime.Now.Date,
                SupportingDocumentationStatus = "SS",
                SupportingEvidence = "se"
            };

            
            var answersList = new List<ChecklistAnswer>() { answer };
            var checklist = new Checklist() { Id = Guid.NewGuid() };

            checklist.Questions.Add(new ChecklistQuestion() { Id = Guid.NewGuid(), Question = question1, Checklist = checklist, CategoryNumber = 1, QuestionNumber = 4 });
            
            checklist.UpdateAnswers(answersList, new UserForAuditing());

            //when
            var result = checklist.CopyToSiteWithResponses(siteId, clientId, userForAuditing, copiedByUserName, false);

            Assert.That(result.Answers.Count, Is.EqualTo(checklist.Answers.Count()));

            Assert.That(result.Answers[0].Id, Is.Not.EqualTo(checklist.Answers[0].Id));
            Assert.That(result.Answers[0].Question.Id, Is.Not.EqualTo(checklist.Answers[0].Question.Id));
            Assert.That(result.Answers[0].Timescale, Is.EqualTo(null));
            Assert.That(result.Answers[0].AssignedTo, Is.EqualTo(null));
            Assert.That(result.Answers[0].EmployeeNotListed, Is.EqualTo(checklist.Answers[0].EmployeeNotListed));


            Assert.That(result.Answers[0].Response.Question.Id, Is.Not.EqualTo(checklist.Answers[0].Question.Id));
            Assert.That(result.Answers[0].Response.Title, Is.EqualTo(checklist.Answers[0].Response.Title));
            Assert.That(result.Answers[0].Response.ActionRequired, Is.EqualTo(checklist.Answers[0].Response.ActionRequired));
            Assert.That(result.Answers[0].Response.GuidanceNotes, Is.EqualTo(checklist.Answers[0].Response.GuidanceNotes));
            Assert.That(result.Answers[0].Response.SupportingEvidence, Is.EqualTo(checklist.Answers[0].Response.SupportingEvidence));
            Assert.That(result.Answers[0].Response.SupportingEvidence, Is.EqualTo(checklist.Answers[0].Response.SupportingEvidence));
            Assert.That(result.Answers[0].Response.ResponseType, Is.EqualTo(checklist.Answers[0].Response.ResponseType));
            
        }
Ejemplo n.º 38
0
    public Collection<QuestionResponse> GetQuestionRespByQOID(int QOID)
    {
        Collection<QuestionResponse> respList = new Collection<QuestionResponse>();
            using (OdbcConnection connection = new OdbcConnection(connectionString))
            {
                using (OdbcCommand command = new OdbcCommand())
                {

                    command.Connection = connection;
                    command.CommandText = "{CALL QuestionResp_ByQOID(?)}";
                    command.CommandType = CommandType.StoredProcedure;

                    //Set Parameter Value
                    command.Parameters.AddWithValue("@QOID", QOID);
                    //Open connection
                    connection.Open();
                    //Read using reader
                    using (OdbcDataReader dataReader = command.ExecuteReader())
                    {
                        QuestionResponse qr;

                        while (dataReader.Read())
                        {
                            qr = new QuestionResponse();
                            qr.CreatedBy = Convert.ToInt32(dataReader["CreatedBy"]);
                            qr.CreatedDate = Convert.ToDateTime(dataReader["CreatedDate"]);
                            qr.FlagRating = Convert.ToInt32(dataReader["FlagRating"]);
                            qr.LastModifiedBy = Convert.ToInt32(dataReader["LastModifiedBy"]);
                            qr.LastModifiedDate = Convert.ToDateTime(dataReader["LastModifiedDate"]);
                            qr.QuestionOID = Convert.ToInt32(dataReader["QuestionOID"]);
                            qr.QuestionResponseOID = Convert.ToInt32(dataReader["QuestionResponseOID"]);
                            qr.Response = Convert.ToString(dataReader["Response"]);

                            respList.Add(qr);

                        }
                    }

                }
            }
            return respList;
    }
Ejemplo n.º 39
0
        public List<string> SetOptInData(OptIn optIn, string sourceCode)
        {
            log4net.Config.XmlConfigurator.Configure();

            AuditTrail auditTrail = new AuditTrail();
            List<string> errors = null;
            HCPIndividual hcp;
            QuestionResponseSet questionResponseSet;
            RegistrationManager regMgr;
            EmailManager emailMgr;

            try
            {
                errors = Validate(optIn);

                if (errors.Count > 0)
                    return errors;

                if (Services.ServiceIsAvailable)
                {

                    EmailAddress emailAddress = new EmailAddress(optIn.Email.Email);
                    hcp = new HCPIndividual(String.Empty, optIn.Name.FName, optIn.Name.LName, String.Empty, emailAddress);

                    string sourceMCC = string.Empty;
                    if (!string.IsNullOrWhiteSpace(sourceCode) && !string.Equals(sourceCode, "0"))
                    {
                        sourceMCC = sourceCode;
                    }
                    else
                    {
                        sourceMCC = Convert.ToString(ConfigurationManager.AppSettings["MCCRegister"]);
                    }

                    regMgr = new RegistrationManager();
                    regMgr.Individual = hcp;

                    List<QuestionResponse> questionResponses = new List<QuestionResponse>();
                    QuestionResponse questionResponse = new QuestionResponse(Int32.Parse(ConfigurationManager.AppSettings["RTIDExitMCC"]), Int32.Parse(ConfigurationManager.AppSettings["RTIDAnsOpen"]),ConfigurationManager.AppSettings["MCCRegister"]);
                    questionResponses.Add(questionResponse);

                    Configuration config = WebConfigurationManager.OpenWebConfiguration(System.Web.HttpContext.Current.Request.ApplicationPath+"/Unsubscribe/");
                    KeyValueConfigurationElement Appsetting = config.AppSettings.Settings["RTWebSiteID"];

                    questionResponse = new QuestionResponse(Int32.Parse(ConfigurationManager.AppSettings["RTIDSourceMCC"]), Int32.Parse(ConfigurationManager.AppSettings["RTIDAnsOpen"]), sourceMCC);
                    questionResponses.Add(questionResponse);

                    questionResponse = new QuestionResponse(Int32.Parse(ConfigurationManager.AppSettings["RTIDHCPOptIn"]), Int32.Parse(ConfigurationManager.AppSettings["RTIDAnsYes"]));
                    questionResponses.Add(questionResponse);

                    questionResponseSet = new QuestionResponseSet();
                    questionResponseSet.QuestionResponses = questionResponses;

                    regMgr.PerformLiteRegistration(hcp, questionResponseSet);
                    if(String.Equals(regMgr.Status, "OK")) {
                        emailMgr = new EmailManager();
                        emailMgr.SendEmail(Int32.Parse(ConfigurationManager.AppSettings["RTWelcomEmailMAID"]), emailAddress.EmailAddressString);
                    }

                    errors = GetRegMgrErrors(regMgr, errors);

                    auditTrail.SetAuditTrail(optIn.Email.Email, AuditTrail.OperationType.OptIn_Success, "SetOptInData", regMgr.Status.ToUpper());
                    if (errors.Count > 0)
                        auditTrail.SetAuditTrail(optIn.Email.Email, AuditTrail.OperationType.OptIn_errors, "SetOptInData", errors.ToString());
                }
                else
                {
                    errors.Add("The PMM services are unavailable");
                }

            }
            catch (Exception e)
            {
                auditTrail.SetAuditTrail(" ", AuditTrail.OperationType.OptIn_Failure, e.Source, e.Message);
                throw e;
            }
            finally
            {
                hcp = null;
                questionResponseSet = null;
                regMgr = null;
                log.Info(auditTrail.GetAuditTrail());
                auditTrail = null;

            }

            return errors;
        }
Ejemplo n.º 40
0
        public List<string> SetUnsubscribeDataAddress(FormEmail email, FormAddress address, string sourceCode)
        {
            AuditTrail auditTrail = new AuditTrail();
            List<string> errors = null;
            HCPIndividual hcp;
            QuestionResponseSet questionResponseSet;

            try
            {
                errors = ValidateAddress(address);
                errors.AddRange(ValidateEmail(email));
                if (errors.Count > 0)
                {
                    auditTrail.SetAuditTrail(email.Email, AuditTrail.OperationType.Unsubscribtion_error, "SetUnsubscribeDataAddress", errors.ToString());
                    return errors;
                }
                if (Services.ServiceIsAvailable)
                {
                    EmailAddress emailAddress = new EmailAddress(email.Email);
                    Address Address = new Address(address.Address1, address.Address2, address.City, address.State, address.Zip, "", "");

                    hcp = new HCPIndividual();
                    hcp.FirstName = address.FName;
                    hcp.LastName = address.LName;
                    hcp.MiddleName = address.MName;
                    hcp.Addresses = new List<Address>();
                    hcp.Addresses.Add(Address);
                    hcp.EmailAddresses = new List<EmailAddress>();
                    hcp.EmailAddresses.Add(emailAddress);

                    RegistrationManager regMgr = new RegistrationManager();
                    regMgr.Individual = hcp;

                    string sourceMCC = string.Empty;
                    if (!string.IsNullOrWhiteSpace(sourceCode) && !string.Equals(sourceCode, "0"))
                    {
                        sourceMCC = sourceCode;
                    }
                    else
                    {
                        sourceMCC = Convert.ToString(ConfigurationManager.AppSettings["MCCUnsubscribe"]);
                    }

                    List<QuestionResponse> questionResponses = new List<QuestionResponse>();
                    QuestionResponse questionResponse = new QuestionResponse(Int32.Parse(ConfigurationManager.AppSettings["RTIDExitMCC"]), Int32.Parse(ConfigurationManager.AppSettings["RTIDAnsOpen"]), ConfigurationManager.AppSettings["MCCUnsubscribe"]);
                    questionResponses.Add(questionResponse);

                    questionResponse = new QuestionResponse(Int32.Parse(ConfigurationManager.AppSettings["RTIDOptOutBEDDirectMail"]), Int32.Parse(ConfigurationManager.AppSettings["RTIDAnsYes"]));
                    questionResponses.Add(questionResponse);

                    questionResponse = new QuestionResponse(Int32.Parse(ConfigurationManager.AppSettings["RTIDSourceMCC"]), Int32.Parse(ConfigurationManager.AppSettings["RTIDAnsOpen"]), sourceMCC);
                    questionResponses.Add(questionResponse);

                    questionResponseSet = new QuestionResponseSet();
                    // questionResponseSet.QuestionSetID = long.MaxValue;
                    questionResponseSet.QuestionResponses = questionResponses;

                    regMgr.PerformLiteRegistration(hcp, questionResponseSet);
                    errors = GetRegMgrErrors(regMgr, errors);
                    auditTrail.SetAuditTrail(email.Email, AuditTrail.OperationType.Unsubscribtion_success, "SetUnsubscribeDataAddress", regMgr.Status.ToUpper());
                    if (errors.Count > 0)
                        auditTrail.SetAuditTrail(email.Email, AuditTrail.OperationType.Unsubscribtion_error, "SetUnsubscribeDataAddress", errors.ToString());
                }
                else
                {
                    errors.Add("The PMM services are unavailable");
                }
            }
            catch (Exception e)
            {
                auditTrail.SetAuditTrail(" ", AuditTrail.OperationType.Unsubscribtion_Failure, e.Source, e.Message);
                throw e;
            }
            finally
            {
                log.Info(auditTrail.GetAuditTrail());
                auditTrail = null;
            }

            return errors;
        }
Ejemplo n.º 41
0
    protected void ButtonSaveMyWork_Click(object sender, EventArgs e)
    {
        string ordNum = null, ques = null, RespAct = null, Resp = null, Flag = null,Reverse=null;
        int assessmentOID=0;
        Question questn;//=new Question();
        try
        {

            assessmentOID = (Session["aid"] != null) ? Convert.ToInt32(Session["aid"]) : -1;
            Collection<Question> quesList;// = new Collection<Question>();
            Collection<QuestionResponse> respList;//=new Collection<QuestionResponse>();

            QuestionResponse quesResp;
            Section section=new Section();
            section.SectionName = TextBoxSectionName.Text;
            section.AssessmentOID = assessmentOID;
            section.LastModifiedBy = 1;
            section.CreatedBy = 1;
            section.FlagPointTotal = 0;
            section.PassingTotal = 0;
            section.SectionOID = 0;
            section.TotalFlag = 0;
            section.TotalQuestion = 0;
            section.Flag =Convert.ToInt32( TextBoxFlag.Text);
            section.Low = Convert.ToInt32(TextBoxLow.Text);
            section.Medium = Convert.ToInt32(TextBoxMedium.Text);
            section.High = 67;

            #region Question

            //Loop For Questions
            quesList = new Collection<Question>();

            for(int i=1;;i+=6)
            {
                questn = new Question();
                ordNum = "TextOrderNumber" + i.ToString();

                if (ordNum==null )
                {
                    break;
                }
                ques = "TextQuestion" + i.ToString();
                RespAct = "SelectResponseAction" + i.ToString();

                //Loop For Question Responses

                respList = new Collection<QuestionResponse>();
                for (int j = 0; j < 6; j++)
                {
                    quesResp = new QuestionResponse();
                    Resp = "TextResponse" + (i+j).ToString();
                    Flag = "SelectFalgRating" + (i + j).ToString();

                    //Get Value From Form
                    Resp = Request.Form[Resp];
                    Flag = Request.Form[Flag];

                //Assign values Question Response

                quesResp.CreatedBy = 1;
                quesResp.LastModifiedBy = 1;
                quesResp.FlagRating = Convert.ToInt32(Flag);
                quesResp.Response = Resp;
                respList.Add(quesResp);

                }

                ordNum = Request.Form[ordNum];
                if (ordNum == null) break;
                ques = Request.Form[ques];
                RespAct = Request.Form[RespAct];

                //Assign Values to question
               // quesList= new Collection<Question>();
                //questn = new Question();
                questn.CreatedBy = 1;//Set current user
                questn.LastModifiedBy = 1;//Set current user
                questn.Keyword = " ";
                questn.MultipleAllow = 1;
                questn.OrderNo = Convert.ToInt32(ordNum);
                questn.QuestionText = ques;
                questn.RespAction = RespAct;

                Reverse = Convert.ToString("chkReverse" + i.ToString());
                Reverse = Request.Form[Reverse];
                if (Reverse == "on")
                {
                    questn.Reverse = 1;
                }
                else
                {
                    questn.Reverse = 0;
                }
                quesList.Add(questn);
                questn.QuestionRespList = respList;

            }

               #region dummy
                ////Process
                //for (int j = 1; ; j++)
                //{
                //    Resp = "TextResponse" + i.ToString() + "_" + j.ToString();
                //    Flag = "SelectFalgRating" + i.ToString() + "_" + j.ToString();

                //    Resp = Request.Form[Resp];
                //    Flag = Request.Form[Flag];
                //    if (Resp == null) break;

                //    //Assign values Question Response
                //    quesResp = new QuestionResponse();
                //    quesResp.CreatedBy = 1;
                //    quesResp.LastModifiedBy = 1;
                //    quesResp.FlagRating = Convert.ToInt32(Flag);
                //    quesResp.Response = Resp;
                //    respList.Add(quesResp);
                //}
                #endregion

        #endregion

            section.QuestionList = quesList;
            section.AddSection();
            section.UpdateAssessmentSection();
            TextBoxSectionName.Text = "";
            //TextBoxPassingTotal.Text = "0";
            TextBoxTotalQuestion.Text = "1";

            Assessment ass = new Assessment();
            ass = ass.GetAssessmentByOID(assessmentOID);

            CVTCMenu menu = new CVTCMenu();
            CVTCMenu tmp = menu.GetMenuByOID(ass.RefMenuID);
            menu.NameMenu = section.SectionName;

            int menuId = new CVTCMenu().GetMaxMenuID();
            menuId += 1;
            menu.MenuID = menuId;

            menu.URL = "pg/assessment/section.aspx?soid=" + section.SectionOID.ToString();
            menu.MenuLevel = 3;
            menu.Parent = tmp.MenuID+8;
            menu.IsExpanded = "true";
            menu.IsLeave = "true";

            menu.SaveAssessmentMenuItem(menu);

            LabelMessage.Text = "Saved Successfully.";

        }
        catch (Exception ex)
        {

        }
    }
Ejemplo n.º 42
0
        public static IQueryable<QuestionResponse> getSampleQs()
        {
            var qR0 = new QuestionResponse {
                QuestionResponseID = 0,
                RequestID = 0,
                TimeSpent = 0,
                TumourGroupID = 0
            };

            var qR1 = new QuestionResponse {
                QuestionResponseID = 1,
                RequestID = 1,
                TimeSpent = 10,
                TumourGroupID = 1
            };

            var qR2 = new QuestionResponse {
                QuestionResponseID = 2,
                RequestID = 2,
                TimeSpent = 20,
                TumourGroupID = null
            };

            var qR3 = new QuestionResponse {
                QuestionResponseID = 3,
                RequestID = 3,
                TimeSpent = 30,
                TumourGroupID = 0
            };

            var qR4 = new QuestionResponse {
                QuestionResponseID = 4,
                RequestID = 4,
                TimeSpent = 40,
                TumourGroupID = 1
            };

            var qR5 = new QuestionResponse {
                QuestionResponseID = 5,
                RequestID = 5,
                TimeSpent = 50,
                TumourGroupID = null
            };

            var qR6 = new QuestionResponse {
                QuestionResponseID = 6,
                RequestID = 6,
                TimeSpent = 60,
                TumourGroupID = 0
            };

            var qR7 = new QuestionResponse {
                QuestionResponseID = 7,
                RequestID = 0,
                TimeSpent = 70,
                TumourGroupID = 1
            };

            var qR8 = new QuestionResponse {
                QuestionResponseID = 8,
                RequestID = 1,
                TimeSpent = 80,
                TumourGroupID = null
            };

            var qR9 = new QuestionResponse {
                QuestionResponseID = 9,
                RequestID = 2,
                TimeSpent = 90,
                TumourGroupID = 0
            };

            var sampleQs = new List<QuestionResponse> {
                qR0,
                qR1,
                qR2,
                qR3,
                qR4,
                qR5,
                qR6,
                qR7,
                qR8,
                qR9
            };

            return sampleQs.AsQueryable();
        }
Ejemplo n.º 43
0
        private void UpdateClients(Lee game, dynamic audience = null)
        {
            audience = audience ?? Clients.Group(game.Id);
            var playerId = Context.User.Identity.GetUserId();
            switch (game.State)
            {
                case LeeState.WaitingForPlayers:
                    //TODO: Determin who the admin is instead of sending true
                    var lobbyResponse = new GameLobbyResponse { GameId = game.Id, Names = game.PlayerGames.Select(pg => pg.Name).ToArray(), RoundNumber = game.CurrentRoundNum };
                    foreach (var player in game.PlayerGames)
                    {
                        lobbyResponse.Admin = player.PlayerId == game.Admin;
                        Clients.Group(UserPrefix + player.PlayerId).DisplayLobby(lobbyResponse);
                    }
                    break;
                case LeeState.QuestionAndAnswer:
                    var playerInputAnswer = game.CurrentRound.PlayerInputs.FirstOrDefault(pi => pi.PlayerId == playerId);
                    if (string.IsNullOrEmpty(playerInputAnswer.Answer))
                    {
                        var questionResponse = new QuestionResponse { Question = game.CurrentRound.Question, GameId = game.Id, RoundNumber = game.CurrentRoundNum };
                        audience.DisplayQuestion(questionResponse);
                    }
                    else
                    {
                        var playersReady = game.CurrentRound.PlayerInputs.Select(p => new ReadyStatus { Name = p.Name, Status = string.IsNullOrEmpty(p.Answer) ? "Not Answered" : "Answered" }).ToArray(); ;
                        audience.DisplayWaiting(new WaitingResponse { Players = playersReady, GameId = game.Id, RoundNumber = game.CurrentRoundNum });
                    }
                    break;
                case LeeState.Vote:
                    var playerInputVote = game.CurrentRound.PlayerInputs.FirstOrDefault(pi => pi.PlayerId == playerId);
                    if (string.IsNullOrEmpty(playerInputVote.Vote))
                    {
                        var answers = game.CurrentRound.PlayerInputsShuffled.Select(pi => new PlayerAnswer { PlayerId = pi.PlayerId, Answer = pi.Answer }).ToArray();
                        audience.DisplayVote(new VoteResponse { PlayerAnswers = answers, GameId = game.Id, RoundNumber = game.CurrentRoundNum, Question = game.CurrentRound.Question });
                    }
                    else
                    {
                        var playersReady = game.CurrentRound.PlayerInputs.Select(p => new ReadyStatus { Name = p.Name, Status = string.IsNullOrEmpty(p.Vote) ? "Not Voted" : "Voted" }).ToArray();
                        audience.DisplayWaiting(new WaitingResponse { Players = playersReady, GameId = game.Id, RoundNumber = game.CurrentRoundNum });
                    }
                    break;
                case LeeState.Results:
                case LeeState.End:
                    var voteResponse = new ResultsResponse
                    {
                        PlayerGames = game.PlayerGames.ToArray(),
                        GameId = game.Id,
                        PlayerInputs = game.CurrentRound.PlayerInputs.ToArray(),
                        RoundNumber = game.CurrentRoundNum
                    };
                    foreach (var resultPlayer in game.PlayerGames)
                    {
                        voteResponse.Admin = resultPlayer.PlayerId == game.Admin;
                        if (game.State == LeeState.Results) Clients.Group(UserPrefix + resultPlayer.PlayerId).DisplayResults(voteResponse);
                        if (game.State == LeeState.End) audience.DisplayEndOfGame(voteResponse);
                    }

                    break;

                default: break;
            }

        }
Ejemplo n.º 44
0
    protected void ButtonSaveMyWork_Click(object sender, EventArgs e)
    {
        string ordNum, ques, RespAct, Multi, Resp, Flag, reverse =null;
        int assessmentOID,sectionOID,totalQuestion=0;
        assessmentOID = (Session["aid"] != null) ? Convert.ToInt32(Session["aid"]) : -1;
        sectionOID = (Request.QueryString["soid"] != null) ? Convert.ToInt32(Request.QueryString["soid"]) : -1;

        Section sectionExiting = null;
        Collection<Question> quesList = new Collection<Question>(); ;
        Collection<QuestionResponse> respList;//=new Collection<QuestionResponse>();
        Question questn;
        QuestionResponse quesResp;
        Section section = new Section();
        sectionExiting = section.GetSectionByOID(sectionOID);

        section.SectionOID = sectionExiting != null ? sectionExiting.SectionOID : 0;
        section.SectionName = TextBoxSectionName.Text;
        section.AssessmentOID = assessmentOID;
        section.LastModifiedBy = 1;
        section.CreatedBy = 1;
        section.FlagPointTotal = 0;
        section.PassingTotal = 0;
        //section.SectionOID = 0;
        section.TotalFlag = 0;
        section.TotalQuestion = 0;
        section.PassingTotal = 0;
        section.Flag = Convert.ToInt32(TextBoxFlag.Text);
        section.Low = Convert.ToInt32(TextBoxLow.Text);
        section.Medium = Convert.ToInt32(TextBoxMedium.Text);
        section.High = 67;

        totalQuestion = sectionExiting != null ? sectionExiting.QuestionList.Count : 0;

        #region Question

        for (int i = 1; ; i++)
        {
            ordNum = "TextOrderNumber" + i.ToString();
            ques = "TextQuestion" + i.ToString();
            RespAct = "SelectResponseAction" + i.ToString();
            Resp = "TextResponse" + i.ToString();
            Flag = "SelectFalgRating" + i.ToString();
            reverse = "chkReverse" + i.ToString();

            ordNum = Request.Form[ordNum];
            if (ordNum == null) break;
            ques = Request.Form[ques];
            RespAct = Request.Form[RespAct];
            Resp = Request.Form[Resp];
            Flag = Request.Form[Flag];
            reverse = Request.Form[reverse];

            //Assign Values to question
            questn = new Question();
            if (i > totalQuestion)
            {
                questn.QuestionOID = 0;
            }
            else
            {
                questn.QuestionOID = sectionExiting.QuestionList[i-1].QuestionOID;
            }
            questn.SectionOID = section.SectionOID;
            questn.CreatedBy = 1;//Set current user
            questn.LastModifiedBy = 1;//Set current user
            questn.Keyword =" ";// Key;
            questn.MultipleAllow = 1;
            questn.OrderNo = Convert.ToInt32(ordNum);
            questn.QuestionText = ques;
            questn.RespAction = RespAct;
            int rev = 0;
            if (reverse == "on")
            {
                rev = 1;
            }
            questn.Reverse = rev;
            quesList.Add(questn);

            //Assign values Question Response
            respList = new Collection<QuestionResponse>();
            quesResp = new QuestionResponse();
            if( questn.QuestionOID !=0)
            {
                quesResp.QuestionResponseOID = sectionExiting.QuestionList[i - 1].QuestionRespList[0].QuestionResponseOID;
            }
            quesResp.CreatedBy = 1;
            quesResp.LastModifiedBy = 1;
            quesResp.FlagRating = Convert.ToInt32(Flag);
            quesResp.Response = Resp;
            respList.Add(quesResp);

            //Process
            for (int j = 2; ; j++)
            {
                Resp = "TextResponse" + i.ToString() + "_" + j.ToString();
                Flag = "SelectFalgRating" + i.ToString() + "_" + j.ToString();

                Resp = Request.Form[Resp];
                Flag = Request.Form[Flag];
                if (Resp == null) break;

                //Assign values Question Response
                quesResp = new QuestionResponse();
                if (i > totalQuestion)
                {
                    quesResp.QuestionResponseOID = 0;
                }
                else
                {
                    if (j > sectionExiting.QuestionList[i-1].QuestionRespList.Count)
                    {
                        quesResp.QuestionResponseOID = 0;
                    }
                    else
                    {
                        quesResp.QuestionResponseOID = sectionExiting.QuestionList[i-1].QuestionRespList[j-1].QuestionResponseOID;
                    }
                }

                //quesResp.QuestionResponseOID = sectionExiting.QuestionList[i].QuestionRespList
                quesResp.CreatedBy = 1;
                quesResp.LastModifiedBy = 1;

                quesResp.FlagRating = Convert.ToInt32(Flag);
                quesResp.Response = Resp;
                respList.Add(quesResp);
            }

            questn.QuestionRespList = respList;

        }
        #endregion

        section.QuestionList = quesList;
        section.UpdateSection();
        section.UpdateAssessmentSection();

        this.InitializeQuestion(sectionOID);
        LabelMessage.Text = "Saved Successfully.";
    }
Ejemplo n.º 45
0
    public Collection<Question> GetQuestionOIDBySectionOID(int SOID)
    {
        Collection<Question> qList = new Collection<Question>();
        using (OdbcConnection connection = new OdbcConnection(connectionString))
        {
            using (OdbcCommand command = new OdbcCommand())
            {

                command.Connection = connection;
                command.CommandText = "{CALL Question_BySectionOID(?)}";
                command.CommandType = CommandType.StoredProcedure;

                //Set Parameter Value
                command.Parameters.AddWithValue("@SOID", SOID);
                //Open connection
                connection.Open();
                //Read using reader
                using (OdbcDataReader dataReader = command.ExecuteReader())
                {
                    QuestionResponse qr = new QuestionResponse();
                    Question question;
                    while (dataReader.Read())
                    {
                        question = new Question();
                        question.QuestionOID = Convert.ToInt32(dataReader["QuestionOID"]);
                        question.CreatedDate = Convert.ToDateTime(dataReader["CreatedDate"]);
                        question.CreatedBy = Convert.ToInt32(dataReader["CreatedBy"]);
                        question.Keyword = Convert.ToString(dataReader["Keyword"]);
                        question.LastModifiedBy = Convert.ToInt32(dataReader["LastModifiedBy"]);
                        question.LastModifiedDate = Convert.ToDateTime(dataReader["LastModifiedDate"]);
                        question.MultipleAllow = Convert.ToInt32(dataReader["MultipleAllow"]);
                        question.OrderNo = Convert.ToInt32(dataReader["OrderNo"]);
                        question.QuestionText = Convert.ToString(dataReader["Question"]);
                        question.RespAction = Convert.ToString(dataReader["RespAction"]);
                        question.SectionOID = Convert.ToInt32(dataReader["SectionOID"]);
                        question.Reverse = Convert.ToInt32(dataReader["Reverse"]);
                        question.QuestionRespList = qr.GetQuestionRespByQOID(question.QuestionOID);
                        qList.Add(question);

                    }
                }

            }
        }
        return qList;
    }
Ejemplo n.º 46
0
    //Save Value For Score Section
    private void GetValueForScore( int answerOID)
    {
        bool res = false;
        try
        {
            string fieldName1 = null;
            string fieldName2 = null;
            string fieldName3 = null;
            string fieldName4 = null;
            string fieldName5 = null;
            string fieldName6 = null;

            string fieldName11 = null;
            string fieldName22 = null;
            string fieldName33 = null;
            string fieldName44 = null;
            string fieldName55 = null;
            string fieldName66 = null;

            Student student = (Student)(Session["currentStd"]);
            int aoid = Convert.ToInt32(Session["aoid"].ToString());

            //Get Assessment By OID
            ass = ass.GetAssessmentByOID(aoid);
            //Assign Value to Answer
            ans = ans.GetAnswerByStudentOIDAndAOID(student.StudentOID, aoid);
          // if (ans == null)
            if (ans != null)
            {
                ans = new Answer();
                ans.AssessmentOID = ass.AssessmentOID;
                ans.CreatedBy = 1;
                ans.NumberOfPrinted = 0;
                ans.BannerID = student.StudentID;
                ans.StudentOID = student.StudentOID;//Get Currently Login Student OID
                foreach (Section s in ass.SectionList)
                {
                    if (s.SectionName != "NoScore")
                    {
                        //to do for section
                        //Each Question

                        foreach (Question q in s.QuestionList)
                        {
                            ansDetail = new AnswerDetail();
                            ansDetail.CreatedBy = 1;
                            ansDetail.SectionOID = s.SectionOID;
                            ansDetail.QuestionOID = q.QuestionOID;

                            fieldName11 = Convert.ToString("A1" + q.QuestionOID);
                            fieldName1 = Request.Form[fieldName11];
                            fieldName22 = Convert.ToString("A2" + q.QuestionOID);
                            fieldName2 = Request.Form[fieldName22];
                            fieldName33 = Convert.ToString("A3" + q.QuestionOID);
                            fieldName3 = Request.Form[fieldName33];
                            fieldName44 = Convert.ToString("A4" + q.QuestionOID);
                            fieldName4 = Request.Form[fieldName44];
                            fieldName55 = Convert.ToString("A5" + q.QuestionOID);
                            fieldName5 = Request.Form[fieldName55];
                            fieldName66 = Convert.ToString("A6" + q.QuestionOID);
                            fieldName6 = Request.Form[fieldName66];

                            if (fieldName1 == "on")
                            {
                                response = "Not true at all";

                                answerPoint = q.Reverse==0? 1:6;
                                //res = true;
                            }

                            else if (fieldName2 == "on")
                            {
                                response = "Somewhat Untrue";
                                answerPoint = q.Reverse == 0 ? 2 : 5;
                                //res = true;
                            }
                            else if (fieldName3 == "on")
                            {
                                response = "Slightly Untrue ";
                                answerPoint = q.Reverse == 0 ? 3 : 4;
                                //res = true;
                            }
                            else if (fieldName4 == "on")
                            {
                                response = "Slightly True ";
                                answerPoint = q.Reverse == 0 ? 4 : 3;
                                //res = true;
                            }
                            else if (fieldName5 == "on")
                            {
                                response = "Somewhat True ";
                                answerPoint = q.Reverse == 0 ? 5 : 2;
                                //res = true;
                            }
                            else if (fieldName6 == "on")
                            {
                                response = "Completely True";
                                answerPoint = q.Reverse == 0 ? 6 : 1;
                                //res = true ;
                            }
                            //else
                            //{
                            //    response = "No Answer";
                            //    answerPoint = 0;
                            //    //res = true ;
                            //}
                            QuestionResponse  Qres=new QuestionResponse ();

                            //int answerPoint=Qres.GetQuestionFlagPointByQOIDAndResponse(q..QuestionOID ,response);
                            ansDetail.AnswerPoint = answerPoint;
                            ansDetail.Response = response;
                            ansDetailList.Add(ansDetail);
                        }
                    }
                }

                //Assign Answer Details List to
                ans.AnswerDetailList = ansDetailList;

                //Save
                if (answerOID > 0)
                {
                    ans.addAnswerDetails(answerOID);
                }
                //else
                //{
                //    ans.AddAnswer();
                //}
            }
        }
        catch
        { }
        //return res;
    }
        /// <summary>
        ///     Create a QuestionResponse entity based off of the
        ///     QuestionResponseContent.
        /// </summary>
        /// <param name="content">QuestionResponse content holder.</param>
        /// <returns>QuestionResponse entity based off of content.</returns>
        private QuestionResponse createQuestionResponseEntity(
            QuestionResponseContent content)
        {
            var qr = new QuestionResponse();

            if (content.questionResponseID != -1) {
                // Existing QuestionResponse; has a QuestionResponseID
                qr = (from q in _db.QuestionResponses
                      where
                          q.QuestionResponseID == content.questionResponseID &&
                          q.RequestID == content.requestID
                      select q).Single();
            }

            qr.RequestID = content.requestID;
            qr.Question = content.question;
            qr.Response = content.response;
            qr.TimeSpent = content.timeSpent;
            qr.SpecialNotes = content.specialNotes;
            qr.QuestionTypeID = content.questionTypeID;
            qr.TumourGroupID = content.tumourGroupID;
            qr.Severity = (byte?) content.severity;
            qr.Consequence = (byte?) content.consequence;

            return qr;
        }
Ejemplo n.º 48
0
    public QuestionResponse GetQuestionRespByQOIDANDFlag(int QOID, string flag)
    {
        QuestionResponse qr=null;
            try
            {
                using (OdbcConnection connection = new OdbcConnection(connectionString))
                {
                    using (OdbcCommand command = new OdbcCommand())
                    {

                        command.Connection = connection;
                        command.CommandText = "{CALL QuestionResponse__ByQOID_Flag(?,?)}";
                        command.CommandType = CommandType.StoredProcedure;

                        //Set Parameter Value
                        command.Parameters.AddWithValue("@QOID", QOID);
                        command.Parameters.AddWithValue("@Flag", flag);
                        //Open connection
                        connection.Open();
                        //Read using reader
                        using (OdbcDataReader dataReader = command.ExecuteReader())
                        {

                            if (dataReader.Read())
                            {
                                qr = new QuestionResponse();
                                qr.CreatedBy = Convert.ToInt32(dataReader["CreatedBy"]);
                                qr.CreatedDate = Convert.ToDateTime(dataReader["CreatedDate"]);
                                qr.FlagRating = Convert.ToInt32(dataReader["FlagRating"]);
                                qr.LastModifiedBy = Convert.ToInt32(dataReader["LastModifiedBy"]);
                                qr.LastModifiedDate = Convert.ToDateTime(dataReader["LastModifiedDate"]);
                                qr.QuestionOID = Convert.ToInt32(dataReader["QuestionOID"]);
                                qr.QuestionResponseOID = Convert.ToInt32(dataReader["QuestionResponseOID"]);
                                qr.Response = Convert.ToString(dataReader["Response"]);

                                //respList.Add(qr);

                            }
                        }

                    }
                }
            }
            catch (Exception ex)
            {

            }
            return qr;
    }