Пример #1
0
 private void delButton_Click(object sender, RoutedEventArgs e)
 {
     if (answerID != 0)
     {
         db = new CoursesContext();
         CoursesContext db1 = new CoursesContext();
         if (db1.correctAnswer.Where(p => p.answer == answerID).Any())
         {
             correctAnswer correctAnswers = new correctAnswer
             {
                 answer = answerID
             };
             db1.correctAnswer.Attach(correctAnswers);
             db1.correctAnswer.Remove(correctAnswers);
         }
         answer answers = new answer
         {
             answerId = answerID
         };
         db.answer.Attach(answers);
         db.answer.Remove(answers);
         db.SaveChanges();
         answerText.Clear();
         GetAnswer();
     }
 }
Пример #2
0
        public void TestSimpsonsCaculation(int n, int min, int max, double expected)
        {
            var area       = new answer();
            var caculation = area.GetAreaUnderGraphUsingSimpsonsRule(n, min, max);

            Assert.AreEqual(caculation, expected);
        }
Пример #3
0
        public ActionResult Create(answerModel ansm)
        {
            try
            {
                int i = 0;
                //while (i < 3)
                //{
                answer q = new answer();
                q.answer_name = ansm.answer_name;
                //   q.formation = (System.Collections.Generic.ICollection<Data.formation>)qzv.formation;
                q.question_id_Question = ansm.question_id_Question;
                q.id_Answer            = ansm.id_Answer;
                q.flag = ansm.flag;

                ans.Add(q);
                ans.Commit();
                i++;
                //  return RedirectToAction("Create");
                //}
                return(RedirectToAction("Index", new { id = q.question_id_Question }));
            }
            catch
            {
                return(View());
            }
        }
Пример #4
0
        public HttpResponseMessage postAnswer(int questionId)
        {
            try
            {
                var userId = HttpContext.Current.Session["id"];
                //var questionId = HttpContext.Current.Request.QueryString["questionId"];
                //var title = HttpContext.Current.Request.Params["title"];
                var      content   = HttpContext.Current.Request.Params["content"];
                DateTime time      = DateTime.Now;
                answer   newAnswer = new answer
                {
                    content         = (string)content,
                    user_id         = (int)userId,
                    file_request_id = questionId,
                    answer_time     = time
                };
                using (FileEntitiesFinal entity = new FileEntitiesFinal())
                {
                    file_request request = entity.file_request.Where(r => r.id == questionId).FirstOrDefault();
                    if (request == null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound, "No such question"));
                    }


                    entity.answer.Add(newAnswer);
                    entity.SaveChangesAsync();
                    return(Request.CreateResponse(HttpStatusCode.OK, "Success"));
                }
            }
            catch (Exception e)
            {
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Fail to post"));
            }
        }
        public async Task MakeRequest(string s)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.projectoxford.ai/face/v1.0/verify");

            request.Method      = "POST";
            request.ContentType = "application/json";
            //request.Headers.Add("Content-Type", "application/json");
            request.Headers.Add("Ocp-Apim-Subscription-Key", "dc21903bc5c049ce98f416bbf99ef048");


            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                streamWriter.Write(s);
                streamWriter.Flush();
            }

            var    response = (HttpWebResponse)request.GetResponse();
            string output;

            using (var streamReader = new StreamReader(response.GetResponseStream()))
            {
                var receivedData = streamReader.ReadToEnd();
                output = receivedData.ToString();
            }

            //answer a;

            a = JsonConvert.DeserializeObject <answer>(output);
            if (a.isIdentical)
            {
                face_matched = true;
            }

            System.Threading.Thread.Sleep(3005);
        }
Пример #6
0
    protected void btn_ans_Click(object sender, EventArgs e)
    {
        if (question.Text != null)
        {
            answer a     = new answer();
            string email = Session["email"].ToString();
            a.answer1 = txt_ans.Text;
            a.queid   = int.Parse(qid.Text);
            var em = from x in fta.userinfoes
                     where x.email.Equals(email)
                     select x.uid;

            foreach (var data in em)
            {
                a.uid = data;
            }
            fta.answers.Add(a);
            fta.SaveChanges();
            question.Text = string.Empty;
            Response.Write("<script LANGUAGE='JavaScript' >alert('Answer Posted Successfully')</script>");
            question.Text = string.Empty;
            string url = "post_answer.aspx?id=" + qid.Text;
            Response.Redirect(url);
        }

        else
        {
            Response.Write("<script LANGUAGE='JavaScript'> alert('Please Write a Answer')</script>");
        }
    }
Пример #7
0
        public RungeViewModel()
        {
            points = new List <PointWith2Ys>();
            answer     ans = new answer((x) => Math.Exp(Math.Cos(2 * x) - x / 2));
            MyDelegate f   = new MyDelegate((x, y) => Math.Exp(Math.Cos(2 * x) - x / 2) * (-2 * Math.Sin(2 * x) - 0.5) +
                                            Math.Sin(5 * x) * Math.Exp(Math.Cos(2 * x) - x / 2) - Math.Sin(5 * x) * ans(x));
            double c;

            a            = c = 2.3;
            b            = 3.4;
            h            = 0.1;
            points_runge = RungeModel.RK4(f, a, ans(a), b, h).RungePoints;
            points_orign = new List <Point>();
            while (a <= b)
            {
                points_orign.Add(new Point(a, ans(a)));
                points.Add(new PointWith2Ys {
                    X = a, YOR = ans(a), YRU = 0
                });
                a += h;
            }

            points_runge.ForEach(x => { points.ForEach(y => { if (y.X == x.X)
                                                              {
                                                                  y.YRU = x.Y;
                                                              }
                                                       }); });
            MethodEilera(c, b, h, f, ans(c)).ForEach(x => { points.ForEach(s => { if (s.X == x.X)
                                                                                  {
                                                                                      s.YEI = x.Y;
                                                                                  }
                                                                           }); });
        }
        public async Task <IActionResult> Create([Bind("id,fkquestion,fkuser,answermessage, answerdate")] answer answer, int fkquestion, string answermessage)
        {
            if (ModelState.IsValid)
            {
                var userid      = HttpContext.Session.GetInt32("userid");
                var currentUser = await _context.users.FirstOrDefaultAsync(m => m.id == userid);

                if (currentUser == null)
                {
                    return(RedirectToAction("customErrorPage", "user"));
                }
                else
                {
                    var currentQuestion = await _context.questions.FirstOrDefaultAsync(m => m.id == fkquestion);

                    if (currentQuestion == null)
                    {
                        return(RedirectToAction("customErrorPage", "user"));
                    }
                    else
                    {
                        answer.fkquestion = currentQuestion;
                        answer.fkuser     = currentUser;


                        _context.Add(answer);
                        await _context.SaveChangesAsync();

                        return(RedirectToAction(nameof(Index)));
                    }
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
Пример #9
0
    void OnMouseUp()
    {
        if (distanceFromClosestQuestionDropArea() < 4)
        {
            answer   answerOnCard   = this.GetComponent <AnswerObject>().answer;
            question questionOnNode = closestQuestionDropAreaObject().GetComponent <QuestionObject>().question;

            // If the card dropped corectly answers the question:
            if (QnAManager.answerQuestion(closestQuestionDropArea(), this.GetComponent <AnswerObject>().answerID))
            {
                QnAManager.attemptedAnswers.Add(new attemptedAnswer(true, questionOnNode, answerOnCard));           // Adds the correct answer to the list of attempted answers
                //HandPhysicsManager.moveAllCardsLeftBetween(currentHandNode, HandPhysicsManager.handNodeGOs.Length); // Fix the card positions, removed since it auto draws after a ques is answerd
                nodeNav        = "question";                                                                        // Set the nav of tjhis card so it moves towards the center of the quesiton node
                gameObject.tag = "Untagged";                                                                        // Change the tag of this card so it is not picked up by findCards()
                QuestionDropsManager.deleteQuestionDropArea(closestQuestionDropArea());                             // Delete the quesiton node and move question nodes under the deleted node up 1
                QuestionDropsManager.findQuestionDropAreas();                                                       // Refind QDAs
                HandPhysicsManager.findCards();                                                                     // Refind cards
                StartCoroutine(CoroutineFix());                                                                     // Move the hand nodes as there is now one more node than cards. See note.
                HandPhysicsManager.drawBool = true;
            }
            else
            {
                QnAManager.attemptedAnswers.Add(new attemptedAnswer(false, questionOnNode, answerOnCard));
            }
        }
        closestQuestionDropArea();
        setPosition(currentHandNode);
        movingCards = false;
    }
Пример #10
0
        protected async override void start()
        {
            question gene;

            byte[] data;
            try
            {
                data = await tcpbase.receiveall();

                data = crypto.Decrypt(data, key32, iv16);
                gene = converter.change(data) as question;
                gene.z_normalize();
                answer answer = await answer_(gene);

                if (answer == null)
                {
                    answer = new voidanswer();
                }
                data = converter.change(answer);
                data = crypto.Encrypt(data, key32, iv16);
                await tcpbase.sendall(data);

                start();
            }
            catch (Exception e)
            {
                _ = e.Message;
                Console.Beep();
                tcp.Close();
            }
        }
        public IHttpActionResult Putanswer(int id, answer answer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != answer.question_id)
            {
                return(BadRequest());
            }

            db.Entry(answer).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!answerExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Пример #12
0
        public List <Question> genDummieData()
        {
            answer        a1 = new answer("Duitsland", true);
            answer        a2 = new answer("Nederland", false);
            answer        a3 = new answer("China", false);
            answer        a4 = new answer("Brazilë", false);
            List <answer> aa = new List <answer>
            {
                a1,
                a2,
                a3,
                a4
            };
            Question q1 = new Question("welk land is heeft het vorige WK gewonnen?", aa, "Duitsland");

            questions.Add(q1);


            answer        b1 = new answer("USA", true);
            answer        b2 = new answer("Nederland", false);
            answer        b3 = new answer("China", false);
            answer        b4 = new answer("Brazilë", false);
            List <answer> b  = new List <answer>
            {
                b1,
                b2,
                b3,
                b4
            };
            Question q2 = new Question("Van Welk Land is Trump President?", aa, "De Verenigde Staten van Amerika");

            questions.Add(q2);

            return(questions);
        }
Пример #13
0
    protected void btnToQ9_6_Click(object sender, EventArgs e)
    {
        ManageCookie mgCookie = new ManageCookie();
        users        ck       = mgCookie.ReadCookies();

        answer ans = new answer();

        int ret = ans.insertOrUpdateAnswerQ2(radanswer8_5.SelectedValue, ck.pj_id, "14", "4");

        mgCookie.UpdateCookies("answer_q2_id", ret.ToString());

        int ret2 = 0;

        if (radanswer8_5.SelectedIndex == 0) // ตอบว่า ใช่
        {
            // คำถามย่อยข้อ 8.5
            ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion8_5_1.Text, ck.pj_id, "28", ret.ToString());
        }
        else if (radanswer8_5.SelectedIndex == 1)
        {
            // คำถามย่อยข้อ 8.5
            ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "28", ret.ToString());
        }

        if (ret2 > 0)
        {
            //บันทึกสำเร็จ
            Response.Redirect("question_set_D.aspx?q1=3&q2=6");
        }
        else
        {
            //บันทึกไม่สำเร็จ
        }
    }
Пример #14
0
    protected void btnNext_Click(object sender, EventArgs e)
    {
        //บันทักข้อมูล
        ManageCookie mgCookie = new ManageCookie();
        users        ck       = mgCookie.ReadCookies();

        answer ans = new answer();
    }
    public static answer drawAnswer()
    {
        answer temp = answerDeck[0];

        answerDeck.RemoveAt(0);

        return(temp);
    }
        public ActionResult DeleteConfirmed(int id)
        {
            answer answer = db.answers.Find(id);

            db.answers.Remove(answer);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #17
0
 public Answer(answer answer)
 {
     interview_id = answer.interview_id;
     question_id  = answer.question_id;
     answer1      = answer.answer1;
     type         = answer.type;
     video        = answer.video;
     audio        = answer.audio;
 }
Пример #18
0
 public static AnswerDTO AnswerToDTO(answer ans)
 {
     return(new AnswerDTO()
     {
         answer_id = ans.answer_id,
         answer_text = ans.answer_text,
         question_id = ans.question_id,
     });
 }
Пример #19
0
        private IAnswer convert(answer xmlAnswer)
        {
            var answer = answerFactory.Create();

            answer.Answer    = xmlAnswer.text;
            answer.IsCorrect = xmlAnswer.isCorrect;
            answer.Checked   = false;
            return(answer);
        }
Пример #20
0
    protected void btnNext_Click(object sender, EventArgs e)
    {
        //บันทักข้อมูล
        ManageCookie mgCookie = new ManageCookie();
        users        ck       = mgCookie.ReadCookies();

        answer ans = new answer();

        int ret = ans.insertOrUpdateAnswerQ2(radQ2.SelectedValue, ck.pj_id, ck.q2_id, ck.qset_id);

        mgCookie.UpdateCookies("answer_q2_id", ret.ToString());

        int ret2 = 0;


        if (radQ2.SelectedIndex == 0) // ตอบว่า ใช่
        {
            // คำถามย่อยข้อ 1.1
            ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_6.Text, ck.pj_id, "6", ret.ToString());

            // คำถามย่อยข้อ 1.2
            ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_7.Text, ck.pj_id, "7", ret.ToString());

            // คำถามย่อยข้อ 1.3
            ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_8.Text, ck.pj_id, "8", ret.ToString());
        }
        else
        {
            // คำถามย่อยข้อ 1.1
            ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "6", ret.ToString());

            // คำถามย่อยข้อ 1.2
            ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "7", ret.ToString());

            // คำถามย่อยข้อ 1.3
            ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "8", ret.ToString());
        }


        if (ret2 > 0)
        {
            //บันทึกสำเร็จ

            //Response.Redirect("project_edit.aspx");

            litfinish.Text    = "เสร็จสิ้นการแก้ไขประเมินชุด ก: ขั้นตอนการริเริ่มแผนงาน/โครงการและวิเคราะห์เบื้องต้น โปรดดำเนินการต่อ";
            litfinish.Visible = true;
            btnToQB.Visible   = true;
            panel2.Visible    = false;
        }
        else
        {
            //บันทึกไม่สำเร็จ
        }
    }
Пример #21
0
        // GET: Answer/Delete/5
        public ActionResult Delete(int id)
        {
            answer q = ans.GetById(id);

            if (q == null)
            {
                return(HttpNotFound());
            }

            return(View(q));
        }
        public IHttpActionResult Getanswer(int interview_id, int question_id)
        {
            answer answer = db.answer.Where(t1 => t1.interview_id == interview_id && t1.question_id == question_id).FirstOrDefault();

            if (answer == null)
            {
                return(NotFound());
            }

            return(Ok(new Answer(answer)));
        }
        public IHttpActionResult Postanswer(answer answer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.answer.Add(answer);
            db.SaveChanges();

            return(Ok());
        }
 public ActionResult Edit([Bind(Include = "answer_id,content,answer_image,reaction,archive,answer_date,user_id,question_id")] answer answer)
 {
     if (ModelState.IsValid)
     {
         db.Entry(answer).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.question_id = new SelectList(db.questions, "question_id", "content", answer.question_id);
     ViewBag.user_id     = new SelectList(db.users, "user_id", "user_asp_id", answer.user_id);
     return(View(answer));
 }
Пример #25
0
    void Draw(answer drawnAnswer)
    {
        // I hate myself, and if you're reading this, you hate me too.

        if (currentPresentNodeCount < handNodeCount)
        {
            moveNodes(currentPresentNodeCount + 1);
            // Finds the smallest open node and sets the newly spawned card to be at that node
            takenHandNodes.Clear();

            foreach (GameObject card in cardGOs)
            {
                takenHandNodes.Add(card.GetComponent <CardPhysics>().currentHandNode);
            }

            for (int i = maxNodes; i >= 0; i--)
            {
                if (!takenHandNodes.Contains(i))
                {
                    smallestOpenNode = i;
                }
            }
        }
        else
        {
            smallestOpenNode = currentPresentNodeCount - 1;
        }


        spawnedCard = Instantiate(testCardPF, new Vector2(-30, 0), Quaternion.identity);

        spawnedCard.GetComponent <CardPhysics>().currentHandNode = smallestOpenNode;
        spawnedCard.transform.parent = GameObject.Find("CardObjects").transform;


        if (UnityEngine.Random.Range(0, 2) == 1)
        {
            spawnedCard.GetComponent <AnswerObject>().answer = drawnAnswer;
        }
        else
        {
            spawnedCard.GetComponent <AnswerObject>().answer = drawnAnswer;
        }


        spawnedCard.GetComponent <AnswerObject>().answerID   = spawnedCard.GetComponent <AnswerObject>().answer.getAnswerID();
        spawnedCard.GetComponent <AnswerObject>().answerText = spawnedCard.GetComponent <AnswerObject>().answer.getAnswerPhrase();

        // Adds the drawn answer to the list of current answers
        QnAManager.currentAnswers.Add(spawnedCard.GetComponent <AnswerObject>().answer);

        findCards();
    }
Пример #26
0
        private void addButton_Click(object sender, RoutedEventArgs e)
        {
            answer answers = new answer
            {
                answerText = answerText.Text,
                questionId = questionID
            };

            db.answer.Add(answers);
            db.SaveChanges();
            GetAnswer();
        }
    protected void btnNextToQ2_2_Click(object sender, EventArgs e)
    {
        //บันทักข้อมูล แล้วแสดงประเด็นที่ 2
        ManageCookie mgCookie = new ManageCookie();
        users        ck       = mgCookie.ReadCookies();

        answer ans = new answer();

        int ret = ans.insertOrUpdateAnswerQ2(radanswer2_1.SelectedValue, ck.pj_id, ck.q2_id, ck.qset_id);

        mgCookie.UpdateCookies("answer_q2_id", ret.ToString());

        int ret2 = 0;

        if (radanswer2_1.SelectedIndex == 0) // ตอบว่า ใช่
        {
            // คำถามย่อยข้อ 1.1
            ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_1.Text, ck.pj_id, "1", ret.ToString());

            // คำถามย่อยข้อ 1.2
            ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_2.Text, ck.pj_id, "2", ret.ToString());

            // คำถามย่อยข้อ 1.3
            //ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_3.Text, ck.pj_id, "3", ret.ToString());
        }
        else
        {
            // คำถามย่อยข้อ 1.1
            ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "1", ret.ToString());

            // คำถามย่อยข้อ 1.2
            ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "2", ret.ToString());

            // คำถามย่อยข้อ 1.3
            //ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "3", ret.ToString());
        }

        mgCookie.UpdateCookies("q1_id", "2");  //ประเด็นที่สอง
        mgCookie.UpdateCookies("q2_id", "2");

        if (ret2 > 0)
        {
            //บันทึกสำเร็จ
            litfinish.Text    = "เสร็จสิ้นการแก้ไขประเมินชุด ค: ขั้นตอนการริเริ่มแผนงาน/โครงการและวิเคราะห์เบื้องต้น โปรดดำเนินการต่อ";
            litfinish.Visible = true;
            btnToQB.Visible   = true;
            panel1.Visible    = false;
        }
        else
        {
            //บันทึกไม่สำเร็จ
        }
    }
Пример #28
0
        public static async Task sendactivecode(string callerid)
        {
            answer rsv = await question(new q_sendactivecode()
            {
                callerid = callerid
            });

            if (!(rsv is q_sendactivecode.done))
            {
                throw new Exception("lkfkbfjbjdjbjkdbjfkvb");
            }
        }
    protected void btnNext_Click(object sender, EventArgs e)
    {
        //บันทักข้อมูล
        ManageCookie mgCookie = new ManageCookie();
        users        ck       = mgCookie.ReadCookies();

        answer ans = new answer();

        //int ret = ans.insertOrUpdateAnswerQ2(radQ2.SelectedValue, ck.pj_id, ck.q2_id, ck.qset_id);

        //mgCookie.UpdateCookies("answer_q2_id", ret.ToString());

        //int ret2 = 0;

        //if (radQ2.SelectedIndex == 0) // ตอบว่า ใช่
        //{
        //    // คำถามย่อยข้อ 1.1
        //    ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_6.Text, ck.pj_id, "6", ret.ToString());

        //    // คำถามย่อยข้อ 1.2
        //    ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_7.Text, ck.pj_id, "7", ret.ToString());

        //    // คำถามย่อยข้อ 1.3
        //    ret2 = ans.insertOrUpdateAnswerQ3(txtAnswerQuestion3_8.Text, ck.pj_id, "8", ret.ToString());
        //}
        //else
        //{
        //    // คำถามย่อยข้อ 1.1
        //    ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "6", ret.ToString());

        //    // คำถามย่อยข้อ 1.2
        //    ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "7", ret.ToString());

        //    // คำถามย่อยข้อ 1.3
        //    ret2 = ans.insertOrUpdateAnswerQ3(string.Empty, ck.pj_id, "8", ret.ToString());

        //}

        //if (ret2 > 0)
        //{
        //    //บันทึกสำเร็จ

        //    litfinish.Text = "เสร็จสิ้นการประเมินชุด ค: ขั้นตอนการริเริ่มแผนงาน/โครงการและวิเคราะห์เบื้องต้น โปรดดำเนินการต่อ";
        //    litfinish.Visible = true;
        //    btnToQB.Visible = true;

        //}
        //else
        //{
        //    //บันทึกไม่สำเร็จ

        //}
    }
        public IHttpActionResult Deleteanswer(int id)
        {
            answer answer = db.answer.Find(id);

            if (answer == null)
            {
                return(NotFound());
            }

            db.answer.Remove(answer);
            db.SaveChanges();

            return(Ok(answer));
        }
Пример #31
0
        public static void SaveAnswer(CampaignQuestionnaire oQuestionnaire, int pContactId = 0)
        {
            using (BrightPlatformEntities BPContext = new BrightPlatformEntities(UserSession.EntityConnection))
            {
                #region Member Variables
                var settings = oQuestionnaire.Form.Settings;
                var answerOptions = oQuestionnaire.Form.Settings.AnswerOptions;
                var binding = settings.DataBindings;
                sub_answers subanswer = null;
                //answer tempAnswer = null;
                //sub_answers tempSubAnswer = null;

                IDropbox iDropbox = null;
                ITextbox iTextbox = null;
                IMultipleChoice iMultiplechoice = null;
                ISchedule iSchedule = null;
                ISmartText iSmartText = null;
                IEnumerable<sub_answers> subanswersValues = null;
                List<MultipleChoiceValue> listMCV = null;
                List<OtherChoice> listOtherChoice = null;
                List<Attendie> listAttendie = null;
                List<SmartTextValue> listSmartText = null;
                bool IsNew = false;
                #endregion

                string answer_id = binding.answer_id;
                int int_answer_id = (!string.IsNullOrEmpty(answer_id) ? int.Parse(answer_id) : 0);
                var objAnswer = BPContext.answers.Include("sub_answers")
                    .FirstOrDefault(p => p.id == int_answer_id);
                if (objAnswer == null)
                {
                    #region Add Answer Details
                    IsNew = true;
                    //if not exists create new answer
                    objAnswer = new answer();
                    //set dummy values
                    //tempAnswer = BPContext.answers.OrderByDescending(a => a.id).FirstOrDefault();
                    //objAnswer.id = tempAnswer != null ? tempAnswer.id + 1 : 1;
                    objAnswer.account_level = binding.account_level;
                    objAnswer.questionlayout_id = int.Parse(binding.questionlayout_id);
                    objAnswer.accounts_id = int.Parse(binding.account_id);
                    //objAnswer.contact_id = !string.IsNullOrEmpty(binding.contact_id) ? int.Parse(binding.contact_id) : (int?) null;
                    objAnswer.campaigns_id = int.Parse(binding.campaign_id);
                    objAnswer.dialog_id = int.Parse(binding.dialog_id);
                    objAnswer.created_by = UserSession.CurrentUser.UserId;
                    objAnswer.created_timestamp = DateTime.Now;
                    objAnswer.modified_on = DateTime.Now;
                    objAnswer.modified_by = UserSession.CurrentUser.UserId;
                    //set settings
                    objAnswer.OwnershipBrightvision = settings.BVOwnership;
                    objAnswer.OwnershipAccount = settings.CustomerOwnership;
                    #endregion
                }
                //update the value of the schedule_id
                if (!string.IsNullOrEmpty(binding.schedule_id))
                    objAnswer.schedule_id = int.Parse(binding.schedule_id);

                //update account level question to currently selected contact id
                //if (binding.account_level)
                objAnswer.contact_id = !string.IsNullOrEmpty(binding.contact_id) ? int.Parse(binding.contact_id) : (int?)null;

                /**
                 * [@jeff 04.12.2013]: https://brightvision.jira.com/browse/PLATFORM-2742
                 * assign the proper contact id when saving answers.
                 */
                //objAnswer.contact_id = pContactId;

                //bool maxIDset = false;
                for (int x = 0; x < answerOptions.Count; ++x)
                {
                    switch (oQuestionnaire.Type.ToLower())
                    {
                        #region SubAnswer for Textbox Component
                        case QuestionTypeConstants.Textbox:
                            iTextbox = answerOptions[x] as ITextbox;
                            subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                            if (subanswer == null)
                            {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.answer_text = iTextbox.InputValue != null ? iTextbox.InputValue : string.Empty;
                                subanswer.sub_answer_index = -1;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                            else
                            {
                                subanswer.answer_text = iTextbox.InputValue != null ? iTextbox.InputValue : string.Empty;
                                subanswer.sub_answer_index = -1;
                            }
                            break;
                        #endregion
                        #region SubAnswer for Dropbox Component
                        case QuestionTypeConstants.Dropbox:
                            iDropbox = answerOptions[x] as IDropbox;
                            subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                            if (subanswer == null)
                            {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.answer_text = new DropboxValue()
                                {
                                    SelectionValue = iDropbox.SelectionValue != null ? iDropbox.SelectionValue : string.Empty,
                                    OtherValue = iDropbox.DefaultSelectionValueIfOther != null ? iDropbox.DefaultSelectionValueIfOther : string.Empty
                                    //OtherValue = iDropbox.SelectionValueIfOther != null ? iDropbox.SelectionValueIfOther : string.Empty
                                }.ToJSONString();
                                subanswer.sub_answer_index = 1;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                            else
                            {
                                subanswer.answer_text = new DropboxValue()
                                {
                                    SelectionValue = iDropbox.SelectionValue != null ? iDropbox.SelectionValue : string.Empty,
                                    OtherValue = iDropbox.DefaultSelectionValueIfOther != null ? iDropbox.DefaultSelectionValueIfOther : string.Empty
                                    //OtherValue = iDropbox.SelectionValueIfOther != null ? iDropbox.SelectionValueIfOther : string.Empty
                                }.ToJSONString();
                                subanswer.sub_answer_index = 1;
                            }
                            break;
                        #endregion
                        #region SubAnswer for MultipleChoice Component
                        case QuestionTypeConstants.MultipleChoice:
                            iMultiplechoice = answerOptions[x] as IMultipleChoice;
                            //Note: sub_answer_index != -1 if answer is in multiple choice values
                            //      sub_answer_index == -1 if answer is in other choice

                            //set multiplechoicevalues
                            listMCV = iMultiplechoice.MultipleChoiceValues;
                            subanswersValues =
                                from obj in objAnswer.sub_answers
                                where obj.sub_answer_index != -1
                                select obj;
                            if (subanswersValues != null && subanswersValues.Count() > 0)
                            {
                                for (int q = 0; q < subanswersValues.Count(); ++q)
                                {
                                    subanswer = subanswersValues.ElementAtOrDefault(q);
                                    if (subanswer != null)
                                    {
                                        subanswer.sub_answer_index = Convert.ToInt16(listMCV[q].Checked);
                                        subanswer.answer_text = listMCV[q].TextPrefix;
                                    }
                                }
                            }
                            else
                            {
                                for (int q = 0; q < iMultiplechoice.MultipleChoiceValues.Count; ++q)
                                {
                                    //if not exists create new subanswer
                                    subanswer = new sub_answers();
                                    subanswer.sub_answer_index = Convert.ToInt16(listMCV[q].Checked);
                                    subanswer.answer_text = listMCV[q].TextPrefix;
                                    objAnswer.sub_answers.Add(subanswer);
                                }
                            }
                            //set otherchoice
                            listOtherChoice = iMultiplechoice.OtherChoices;
                            subanswersValues =
                                from obj in objAnswer.sub_answers
                                where obj.sub_answer_index == -1
                                select obj;
                            if (subanswersValues != null && subanswersValues.Count() > 0)
                            {
                                for (int j = 0; j < subanswersValues.Count(); ++j)
                                {
                                    subanswer = subanswersValues.ElementAtOrDefault(j);
                                    if (subanswer != null)
                                    {
                                        subanswer.answer_text = listOtherChoice[j].InputValue;
                                        if (subanswer.answer_text == null)
                                            subanswer.answer_text = string.Empty;
                                        subanswer.sub_answer_index = -1;
                                    }
                                }
                            }
                            else
                            {
                                for (int j = 0; j < listOtherChoice.Count; ++j)
                                {
                                    //if not exists create new subanswer
                                    subanswer = new sub_answers();
                                    subanswer.answer_text = listOtherChoice[j].InputValue;
                                    if (subanswer.answer_text == null)
                                        subanswer.answer_text = string.Empty;
                                    subanswer.sub_answer_index = -1;
                                    objAnswer.sub_answers.Add(subanswer);
                                }
                            }
                            break;
                        #endregion
                        #region SubAnswer for Schedule Component
                        case QuestionTypeConstants.Schedule:
                            iSchedule = answerOptions[x] as ISchedule;
                            /*********************************************************************
                            * Change Log:
                            Note:   sub_answer_index = 1 if answer is CalendarSelectedValue => Booking Type
                                    sub_answer_index = 2 if answer is Schedule date InputValue => Sales Person / Resource
                                    sub_answer_index = 3 if answer is StartTime InputValue => ScheduleValue
                                    sub_answer_index = 4 if answer is EndTime InputValue => Null
                                    sub_answer_index = 5 if answer is Attendies => ContactAttendies
                                    sub_answer_index = 6 if answer is MeetingPlaceDetails => Null
                                    sub_answer_index = 7 if answer is OtherChoice => OtherChoice
                            *********************************************************************/

                            //set CalendarSelectedValue
                            if (iSchedule.ScheduleType != null)
                            {
                                subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 1).FirstOrDefault();
                                if (subanswer == null)
                                {
                                    //if not exists create new subanswer
                                    subanswer = new sub_answers();
                                    subanswer.answer_text = iSchedule.ScheduleType.ScheduleTypeSelectedValue;
                                    subanswer.sub_answer_index = 1;
                                    objAnswer.sub_answers.Add(subanswer);
                                }
                                else
                                {
                                    subanswer.answer_text = iSchedule.ScheduleType.ScheduleTypeSelectedValue;
                                    subanswer.sub_answer_index = 1;
                                }
                            }
                            if (iSchedule.ScheduleSalesPerson != null && iSchedule.ScheduleSalesPerson.SalesPersonSelectedValue != null)
                            {
                                //set Schedule date InputValue
                                subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 2).FirstOrDefault();
                                if (subanswer == null)
                                {
                                    //if not exists create new subanswer
                                    subanswer = new sub_answers();
                                    subanswer.answer_text = iSchedule.ScheduleSalesPerson.SalesPersonSelectedValue.ToJSONString();
                                    subanswer.sub_answer_index = 2;
                                    objAnswer.sub_answers.Add(subanswer);
                                }
                                else
                                {
                                    subanswer.answer_text = iSchedule.ScheduleSalesPerson.SalesPersonSelectedValue.ToJSONString();
                                    subanswer.sub_answer_index = 2;
                                }
                            }
                            //set StartTime InputValue
                            if (iSchedule.ScheduleValue != null)
                            {
                                subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 3).FirstOrDefault();
                                if (subanswer == null)
                                {
                                    //if not exists create new subanswer
                                    subanswer = new sub_answers();
                                    subanswer.answer_text = iSchedule.ScheduleValue.ToJSONString();
                                    subanswer.sub_answer_index = 3;
                                    objAnswer.sub_answers.Add(subanswer);
                                }
                                else
                                {
                                    subanswer.answer_text = iSchedule.ScheduleValue.ToJSONString();
                                    subanswer.sub_answer_index = 3;
                                }
                            }
                            //set EndTime InputValue
                            //subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 4).FirstOrDefault();
                            //if (subanswer == null) {
                            //    //if not exists create new subanswer
                            //    subanswer = new sub_answers();
                            //    //subanswer.answer_text = iSchedule.EndTime.InputValue != null ? iSchedule.EndTime.InputValue : string.Empty;
                            //    subanswer.sub_answer_index = 4;
                            //    objAnswer.sub_answers.Add(subanswer);
                            //} else {
                            //    //subanswer.answer_text = iSchedule.EndTime.InputValue != null ? iSchedule.EndTime.InputValue : string.Empty;
                            //    subanswer.sub_answer_index = 4;
                            //}
                            //set Attendies
                            listAttendie = iSchedule.Attendies;
                            subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 5);
                            int subCount = subanswersValues.Count();
                            int attCount = 0;
                            if (listAttendie == null || listAttendie.Count <= 0)
                            {
                                for (int d = 0; d < subCount; ++d)
                                {
                                    var ans = subanswersValues.ElementAtOrDefault(d);
                                    if (ans != null)
                                        BPContext.sub_answers.DeleteObject(ans);
                                }
                            }
                            else
                            {
                                attCount = listAttendie.Count;
                            }
                            subCount = subanswersValues.Count();
                            //remove existing excess
                            if (subCount > attCount)
                            {
                                int diff = subCount - attCount;
                                for (int j = diff - 1; j < subCount; ++j)
                                {
                                    var subAns = subanswersValues.ElementAtOrDefault(j);
                                    if (subAns != null)
                                        BPContext.sub_answers.DeleteObject(subAns);
                                }
                            }

                            if (attCount > 0)
                            {
                                for (int q = 0; q < attCount; ++q)
                                {
                                    subanswer = subanswersValues.ElementAtOrDefault(q);
                                    if (subanswer != null)
                                    {
                                        subanswer.sub_answer_index = 5;
                                        subanswer.answer_text = listAttendie[q].ToJSONString();
                                    }
                                    else
                                    {
                                        subanswer = new sub_answers();
                                        subanswer.sub_answer_index = 5;
                                        subanswer.answer_text = listAttendie[q].ToJSONString();
                                        objAnswer.sub_answers.Add(subanswer);
                                    }
                                }
                            }

                            //set otherchoice
                            listOtherChoice = iSchedule.OtherChoices;
                            subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 7);
                            if (subanswersValues != null && subanswersValues.Count() > 0)
                            {
                                for (int j = 0; j < subanswersValues.Count(); ++j)
                                {
                                    subanswer = subanswersValues.ElementAtOrDefault(j);
                                    if (subanswer != null)
                                    {
                                        subanswer.answer_text = listOtherChoice[j].InputValue;
                                        if (subanswer.answer_text == null)
                                            subanswer.answer_text = string.Empty;
                                        subanswer.sub_answer_index = 7;
                                    }
                                }
                            }
                            else
                            {
                                for (int j = 0; j < listOtherChoice.Count; ++j)
                                {
                                    //if not exists create new subanswer
                                    subanswer = new sub_answers();
                                    subanswer.answer_text = listOtherChoice[j].InputValue;
                                    if (subanswer.answer_text == null)
                                        subanswer.answer_text = string.Empty;
                                    subanswer.sub_answer_index = 7;
                                    objAnswer.sub_answers.Add(subanswer);
                                }
                            }
                            break;
                        #endregion
                        #region SubAnswer for SmartText
                        case QuestionTypeConstants.SmartText:
                            iSmartText = answerOptions[x] as ISmartText;
                            if (iSmartText.SmartTextValues == null || iSmartText.SmartTextValues.Count() < 1)
                                break;

                            subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                            if (subanswer == null)
                            {
                                subanswer = new sub_answers();
                                subanswer.answer_text = SmartTextValue.ToJSONString(iSmartText.SmartTextValues);
                                subanswer.sub_answer_index = 0;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                            else
                            {
                                subanswer.answer_text = SmartTextValue.ToJSONString(iSmartText.SmartTextValues);
                                subanswer.sub_answer_index = 0;
                            }
                            break;
                        #endregion
                    }
                }
                try
                {
                    //[@jeff 11.03.2011 #PLATFORM-710]: added modified by and dates
                    objAnswer.modified_on = DateTime.Now;
                    objAnswer.modified_by = UserSession.CurrentUser.UserId;

                    if (IsNew)
                    {
                        BPContext.answers.AddObject(objAnswer);
                    }
                    BPContext.SaveChanges();
                    binding.answer_id = objAnswer.id.ToString();
                    BPContext.FIUpdateContactDialogDate(objAnswer.contact_id, objAnswer.modified_by);
                }
                catch (Exception ex)
                {
                    var x = ex;
                }
            }
        }
 private string getQuestionText(answer a)
 {
     return questionnaire.getQuestion(a.id).text;
 }
Пример #33
0
        public static void SaveAnswer(CampaignQuestionnaire oQuestionnaire, BrightPlatformEntities BPContext, int question_id)
        {
            #region Member Variables
            BPContext = new BrightPlatformEntities();
            var settings = oQuestionnaire.Form.Settings;
            var answerOptions = oQuestionnaire.Form.Settings.AnswerOptions;
            var binding = settings.DataBindings;
            sub_answers subanswer = null;
            //answer tempAnswer = null;
            //sub_answers tempSubAnswer = null;

            IDropbox iDropbox = null;
            ITextbox iTextbox = null;
            IMultipleChoice iMultiplechoice = null;
            ISchedule iSchedule = null;
            ISeminar iSeminar = null;

            IEnumerable<sub_answers> subanswersValues = null;
            List<MultipleChoiceValue> listMCV = null;
            List<OtherChoice> listOtherChoice = null;
            List<MeetingPlaceDetail> listMeetingPlace = null;
            List<Attendie> listAttendie = null;

            bool IsNew = false;
            #endregion
            var objAnswer = BPContext.answers.Include("sub_answers").FirstOrDefault(p => p.questions_id == question_id);
            if (objAnswer == null) {
                #region Add Answer Details
                IsNew = true;
                //if not exists create new answer
                objAnswer = new answer();
                //set dummy values
                //tempAnswer = BPContext.answers.OrderByDescending(a => a.id).FirstOrDefault();
                //objAnswer.id = tempAnswer != null ? tempAnswer.id + 1 : 1;
                objAnswer.questions_id = question_id;
                objAnswer.accounts_id = 1;
                objAnswer.contact_id = 1;
                objAnswer.campaigns_id = 1;
                objAnswer.dialog_id = 1;
                objAnswer.created_by = 1;
                objAnswer.created_timestamp = DateTime.Now;
                //set settings
                objAnswer.OwnershipBrightvision = settings.BVOwnership;
                objAnswer.OwnershipAccount = settings.CustomerOwnership;
                #endregion
            }
            //bool maxIDset = false;
            for (int x = 0; x < answerOptions.Count; ++x) {
                switch (oQuestionnaire.Type.ToLower()) {
                    #region SubAnswer for Textbox Component
                    case QuestionTypeConstants.Textbox:
                        iTextbox = answerOptions[x] as ITextbox;
                        subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                        if (subanswer == null) {
                            //if not exists create new subanswer
                            subanswer = new sub_answers();
                            subanswer.answer_text = iTextbox.InputValue != null ? iTextbox.InputValue : string.Empty;
                            subanswer.sub_answer_index = -1;
                            objAnswer.sub_answers.Add(subanswer);
                        } else {
                            subanswer.answer_text = iTextbox.InputValue != null ? iTextbox.InputValue : string.Empty;
                            subanswer.sub_answer_index = -1;
                        }
                        break;
                    #endregion
                    #region SubAnswer for Dropbox Component
                    case QuestionTypeConstants.Dropbox:
                        iDropbox = answerOptions[x] as IDropbox;
                        subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                        if (subanswer == null) {
                            //if not exists create new subanswer
                            subanswer = new sub_answers();
                            subanswer.sub_answer_index = short.Parse(iDropbox.SelectionValue);
                            subanswer.answer_text = iDropbox.SelectionValueIfOther;
                            if (subanswer.answer_text == null)
                                subanswer.answer_text = string.Empty;
                            objAnswer.sub_answers.Add(subanswer);
                        } else {
                            subanswer.sub_answer_index = short.Parse(iDropbox.SelectionValue);
                            if (subanswer.answer_text == null)
                                subanswer.answer_text = string.Empty;
                        }
                        break;
                    #endregion
                    #region SubAnswer for MultipleChoice Component
                    case QuestionTypeConstants.MultipleChoice:
                        iMultiplechoice = answerOptions[x] as IMultipleChoice;
                        //Note: sub_answer_index != -1 if answer is in multiple choice values
                        //      sub_answer_index == -1 if answer is in other choice

                        //set multiplechoicevalues
                        listMCV = iMultiplechoice.MultipleChoiceValues;
                        subanswersValues =
                            from obj in objAnswer.sub_answers
                            where obj.sub_answer_index != -1
                            select obj;
                        if (subanswersValues != null && subanswersValues.Count() > 0) {
                            for (int q = 0; q < subanswersValues.Count(); ++q) {
                                subanswer = subanswersValues.ElementAtOrDefault(q);
                                if (subanswer != null) {
                                    subanswer.sub_answer_index = Convert.ToInt16(listMCV[q].Checked);
                                    subanswer.answer_text = listMCV[q].TextPrefix;
                                }
                            }
                        } else {
                            for (int q = 0; q < iMultiplechoice.MultipleChoiceValues.Count; ++q) {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.sub_answer_index = Convert.ToInt16(listMCV[q].Checked);
                                subanswer.answer_text = listMCV[q].TextPrefix;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                        }
                        //set otherchoice
                        listOtherChoice = iMultiplechoice.OtherChoices;
                        subanswersValues =
                            from obj in objAnswer.sub_answers
                            where obj.sub_answer_index == -1
                            select obj;
                        if (subanswersValues != null && subanswersValues.Count() > 0) {
                            for (int j = 0; j < subanswersValues.Count(); ++j) {
                                subanswer = subanswersValues.ElementAtOrDefault(j);
                                if (subanswer != null) {
                                    subanswer.answer_text = listOtherChoice[j].InputValue;
                                    if (subanswer.answer_text == null)
                                        subanswer.answer_text = string.Empty;
                                    subanswer.sub_answer_index = -1;
                                }
                            }
                        } else {
                            for (int j = 0; j < listOtherChoice.Count; ++j) {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.answer_text = listOtherChoice[j].InputValue;
                                if (subanswer.answer_text == null)
                                    subanswer.answer_text = string.Empty;
                                subanswer.sub_answer_index = -1;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                        }
                        break;
                    #endregion
                    #region SubAnswer for Schedule Component
                    case QuestionTypeConstants.Schedule:
                        iSchedule = answerOptions[x] as ISchedule;
                        /*********************************************************************
                         Note: sub_answer_index = 1 if answer is CalendarSelectedValue
                               sub_answer_index = 2 if answer is Schedule date InputValue
                               sub_answer_index = 3 if answer is StartTime InputValue
                               sub_answer_index = 4 if answer is EndTime InputValue
                               sub_answer_index = 5 if answer is Attendies
                               sub_answer_index = 6 if answer is MeetingPlaceDetails
                               sub_answer_index = 7 if answer is OtherChoice
                        *********************************************************************/
                        //set CalendarSelectedValue
                        subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 1).FirstOrDefault();
                        if (subanswer == null) {
                            //if not exists create new subanswer
                            subanswer = new sub_answers();
                            subanswer.answer_text = iSchedule.CalendarOption.CalendarSelectedValue != null ? iSchedule.CalendarOption.CalendarSelectedValue : string.Empty;
                            subanswer.sub_answer_index = 1;
                            objAnswer.sub_answers.Add(subanswer);
                        } else {
                            subanswer.answer_text = iSchedule.CalendarOption.CalendarSelectedValue != null ? iSchedule.CalendarOption.CalendarSelectedValue : string.Empty;
                            subanswer.sub_answer_index = 1;
                        }
                        //set Schedule date InputValue
                        subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 2).FirstOrDefault();
                        if (subanswer == null) {
                            //if not exists create new subanswer
                            subanswer = new sub_answers();
                            subanswer.answer_text = iSchedule.ScheduleDate.InputValue != null ? iSchedule.ScheduleDate.InputValue : string.Empty;
                            subanswer.sub_answer_index = 2;
                            objAnswer.sub_answers.Add(subanswer);
                        } else {
                            subanswer.answer_text = iSchedule.ScheduleDate.InputValue != null ? iSchedule.ScheduleDate.InputValue : string.Empty;
                            subanswer.sub_answer_index = 2;
                        }
                        //set StartTime InputValue
                        subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 3).FirstOrDefault();
                        if (subanswer == null) {
                            //if not exists create new subanswer
                            subanswer = new sub_answers();
                            subanswer.answer_text = iSchedule.StartTime.InputValue != null ? iSchedule.StartTime.InputValue : string.Empty;
                            subanswer.sub_answer_index = 3;
                            objAnswer.sub_answers.Add(subanswer);
                        } else {
                            subanswer.answer_text = iSchedule.StartTime.InputValue != null ? iSchedule.StartTime.InputValue : string.Empty;
                            subanswer.sub_answer_index = 3;
                        }
                        //set EndTime InputValue
                        subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 4).FirstOrDefault();
                        if (subanswer == null) {
                            //if not exists create new subanswer
                            subanswer = new sub_answers();
                            subanswer.answer_text = iSchedule.EndTime.InputValue != null ? iSchedule.EndTime.InputValue : string.Empty;
                            subanswer.sub_answer_index = 4;
                            objAnswer.sub_answers.Add(subanswer);
                        } else {
                            subanswer.answer_text = iSchedule.EndTime.InputValue != null ? iSchedule.EndTime.InputValue : string.Empty;
                            subanswer.sub_answer_index = 4;
                        }
                        //set Attendies
                        listAttendie = iSchedule.Attendies;
                        subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 5);
                        if (subanswersValues != null && subanswersValues.Count() > 0) {
                            for (int q = 0; q < subanswersValues.Count(); ++q) {
                                subanswer = subanswersValues.ElementAtOrDefault(q);
                                if (subanswer != null) {
                                    subanswer.sub_answer_index = 5;
                                    subanswer.answer_text = listAttendie[q].ToJSONString();
                                }
                            }
                        } else {
                            for (int q = 0; q < listAttendie.Count; ++q) {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.sub_answer_index = 5;
                                subanswer.answer_text = listAttendie[q].ToJSONString();
                                objAnswer.sub_answers.Add(subanswer);
                            }
                        }
                        //set MeetingPlaceDetails
                        listMeetingPlace = iSchedule.MeetingPlaceDetails;
                        subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 6);
                        if (subanswersValues != null && subanswersValues.Count() > 0) {
                            for (int q = 0; q < subanswersValues.Count(); ++q) {
                                subanswer = subanswersValues.ElementAtOrDefault(q);
                                if (subanswer != null) {
                                    subanswer.sub_answer_index = 6;
                                    subanswer.answer_text = listMeetingPlace[q].InputValue;
                                }
                            }
                        } else {
                            for (int q = 0; q < listMeetingPlace.Count; ++q) {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.sub_answer_index = 6;
                                subanswer.answer_text = listMeetingPlace[q].InputValue;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                        }
                        //set otherchoice
                        listOtherChoice = iSchedule.OtherChoices;
                        subanswersValues = objAnswer.sub_answers.Where(k=>k.sub_answer_index == 7);
                        if (subanswersValues != null && subanswersValues.Count() > 0) {
                            for (int j = 0; j < subanswersValues.Count(); ++j) {
                                subanswer = subanswersValues.ElementAtOrDefault(j);
                                if (subanswer != null) {
                                    subanswer.answer_text = listOtherChoice[j].InputValue;
                                    if (subanswer.answer_text == null)
                                        subanswer.answer_text = string.Empty;
                                    subanswer.sub_answer_index = 7;
                                }
                            }
                        } else {
                            for (int j = 0; j < listOtherChoice.Count; ++j) {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.answer_text = listOtherChoice[j].InputValue;
                                if (subanswer.answer_text == null)
                                    subanswer.answer_text = string.Empty;
                                subanswer.sub_answer_index = 7;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                        }
                        break;
                    #endregion
                    #region Sub Answer for Seminar Component
                    case QuestionTypeConstants.Seminar:
                        iSeminar = answerOptions[x] as ISeminar;
                        /*********************************************************************
                         Note: sub_answer_index = 1 if answer is SelectedValue
                               sub_answer_index = 2 if answer is Attendies
                               sub_answer_index = 3 if answer is OtherChoice
                        *********************************************************************/
                        //set SelectedValue
                        subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 1).FirstOrDefault();
                        if (subanswer == null) {
                            //if not exists create new subanswer
                            subanswer = new sub_answers();
                            subanswer.answer_text = iSeminar.SeminarSchedule.SelectedValue != null ? iSeminar.SeminarSchedule.SelectedValue : string.Empty;
                            subanswer.sub_answer_index = 1;
                            objAnswer.sub_answers.Add(subanswer);
                        } else {
                            subanswer.answer_text = iSeminar.SeminarSchedule.SelectedValue != null ? iSeminar.SeminarSchedule.SelectedValue : string.Empty;
                            subanswer.sub_answer_index = 1;
                        }
                        //set Attendies
                        listAttendie = iSeminar.Attendies;
                        subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 2);
                        if (subanswersValues != null && subanswersValues.Count() > 0) {
                            for (int q = 0; q < subanswersValues.Count(); ++q) {
                                subanswer = subanswersValues.ElementAtOrDefault(q);
                                if (subanswer != null) {
                                    subanswer.sub_answer_index = 2;
                                    subanswer.answer_text = listAttendie[q].ToJSONString();
                                }
                            }
                        } else {
                            for (int q = 0; q < listAttendie.Count; ++q) {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.sub_answer_index = 2;
                                subanswer.answer_text = listAttendie[q].ToJSONString();
                                objAnswer.sub_answers.Add(subanswer);
                            }
                        }
                        //set otherchoice
                        listOtherChoice = iSeminar.OtherChoices;
                        subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 3);
                        if (subanswersValues != null && subanswersValues.Count() > 0) {
                            for (int j = 0; j < subanswersValues.Count(); ++j) {
                                subanswer = subanswersValues.ElementAtOrDefault(j);
                                if (subanswer != null) {
                                    subanswer.answer_text = listOtherChoice[j].InputValue;
                                    if (subanswer.answer_text == null)
                                        subanswer.answer_text = string.Empty;
                                    subanswer.sub_answer_index = 3;
                                }
                            }
                        } else {
                            for (int j = 0; j < listOtherChoice.Count; ++j) {
                                //if not exists create new subanswer
                                subanswer = new sub_answers();
                                subanswer.answer_text = listOtherChoice[j].InputValue;
                                if (subanswer.answer_text == null)
                                    subanswer.answer_text = string.Empty;
                                subanswer.sub_answer_index = 3;
                                objAnswer.sub_answers.Add(subanswer);
                            }
                        }
                        break;
                    #endregion
                }
            }
            try {
                if(IsNew)
                    BPContext.answers.AddObject(objAnswer);
                BPContext.SaveChanges();
            } catch (Exception ex) {
                var x = ex;
            }
        }
Пример #34
0
 private IAnswer convert(answer xmlAnswer) {
     var answer = answerFactory.Create();
     answer.Answer = xmlAnswer.text;
     answer.IsCorrect = xmlAnswer.isCorrect;
     answer.Checked = false;
     return answer;
 }
Пример #35
0
        public static CampaignQuestionnaire SetQuestionnaireData(CampaignQuestionnaire pQuestionnaire, answer pData)
        {
            if (pQuestionnaire == null || pData == null)
                return pQuestionnaire;

            if (string.IsNullOrEmpty(pQuestionnaire.Form.Settings.DataBindings.answer_id))
                return pQuestionnaire;

            int _AnswerId = int.Parse(pQuestionnaire.Form.Settings.DataBindings.answer_id);
            if (pData != null) {

                /**
                 * private vars.
                 */
                #region Contents
                sub_answers                 _SubAnswer;
                IDropbox                    _iDropbox;
                ITextbox                    _iTextbox;
                IMultipleChoice             _iMultiplechoice;
                ISchedule                   _iSchedule = null;
                ISmartText                  _iSmartText = null;
                IEnumerable<sub_answers>    _lstSubAnswers = null;
                List<MultipleChoiceValue>   _lstMultipleChoices = null;
                List<OtherChoice>           _lstOtherChoices = null;
                List<Attendie>              _lstAttendies = null;
                List<SmartTextValue>        _lstSmartTexts = null;
                Settings                    _Settings = pQuestionnaire.Form.Settings;
                IList<AnswerOption>         _lstAnswerOptions = pQuestionnaire.Form.Settings.AnswerOptions;
                DataBindings                _BindingData = _Settings.DataBindings;
                DropboxValue                _DropBoxValue = null;
                #endregion

                /**
                 * set respective dialog answers.
                 */
                #region Contents
                _Settings.BVOwnership = pData.OwnershipBrightvision;
                _Settings.CustomerOwnership = pData.OwnershipAccount;
                for (int x = 0; x < _lstAnswerOptions.Count; ++x) {
                    switch (pQuestionnaire.Type.ToLower()) {
                        #region Text Box
                        case QuestionTypeConstants.Textbox:
                            _SubAnswer = pData.sub_answers.ElementAtOrDefault(x);
                            if (_SubAnswer != null) {
                                _iTextbox = _lstAnswerOptions[x] as ITextbox;
                                _iTextbox.InputValue = _SubAnswer.answer_text != null ? _SubAnswer.answer_text : string.Empty;
                                _iTextbox.DefaultInputValue = _iTextbox.InputValue;
                            }
                            break;
                        #endregion
                        #region Drop Box
                        case QuestionTypeConstants.Dropbox:
                            _SubAnswer = pData.sub_answers.ElementAtOrDefault(x);
                            if (_SubAnswer != null) {
                                _DropBoxValue = DropboxValue.Instanciate(_SubAnswer.answer_text);
                                _iDropbox = _lstAnswerOptions[x] as IDropbox;
                                _iDropbox.SelectionValue = _DropBoxValue == null ? "" : _DropBoxValue.SelectionValue;
                                _iDropbox.DefaultSelectionValue = _iDropbox.SelectionValue;
                                _iDropbox.SelectionValueIfOther = _DropBoxValue == null ? "" : _DropBoxValue.OtherValue;
                                _iDropbox.DefaultSelectionValueIfOther = _iDropbox.SelectionValueIfOther;
                            }
                            break;
                        #endregion
                        #region Multiple Choice
                        case QuestionTypeConstants.MultipleChoice:
                            /**
                             * if sub_answer_index != -1 if answer is in multiple choice values
                             * if sub_answer_index == -1 if answer is in other choice
                             */
                            _iMultiplechoice = _lstAnswerOptions[x] as IMultipleChoice;
                            _lstMultipleChoices = _iMultiplechoice.MultipleChoiceValues;
                            _lstSubAnswers = from _obj in pData.sub_answers
                                             where _obj.sub_answer_index != -1
                                             select _obj;

                            if (_lstSubAnswers != null && _lstSubAnswers.Count() > 0) {
                                for (int q = 0; q < _lstSubAnswers.Count(); ++q) {
                                    _SubAnswer = _lstSubAnswers.ElementAtOrDefault(q);
                                    if (_SubAnswer != null) {
                                        _lstMultipleChoices[q].Checked = Convert.ToBoolean(_SubAnswer.sub_answer_index);
                                        _lstMultipleChoices[q].TextPrefix = _SubAnswer.answer_text;
                                    }
                                }
                            }

                            _lstOtherChoices = _iMultiplechoice.OtherChoices;
                            _lstSubAnswers = from _obj in pData.sub_answers
                                             where _obj.sub_answer_index == -1
                                             select _obj;

                            if (_lstSubAnswers != null && _lstSubAnswers.Count() > 0) {
                                for (int j = 0; j < _lstSubAnswers.Count(); ++j) {
                                    _SubAnswer = _lstSubAnswers.ElementAtOrDefault(j);
                                    if (_SubAnswer != null) {
                                        _lstOtherChoices[j].InputValue = _SubAnswer.answer_text;
                                        _lstOtherChoices[j].DefaultInputValue = _SubAnswer.answer_text;
                                    }
                                }
                            }
                            break;
                        #endregion
                        #region Schedule & Booking
                        case QuestionTypeConstants.Schedule:
                            /*********************************************************************
                                * Change Log:
                                Note: sub_answer_index = 1 if answer is CalendarSelectedValue => Booking Type
                                    sub_answer_index = 2 if answer is Schedule date InputValue => Sales Person / Resource
                                    sub_answer_index = 3 if answer is StartTime InputValue => ScheduleValue
                                    sub_answer_index = 4 if answer is EndTime InputValue => Null
                                    sub_answer_index = 5 if answer is Attendies => ContactAttendies
                                    sub_answer_index = 6 if answer is MeetingPlaceDetails => Null
                                    sub_answer_index = 7 if answer is OtherChoice => OtherChoice
                            *********************************************************************/
                            _iSchedule = _lstAnswerOptions[x] as ISchedule;

                            /**
                             * set calendar selected value.
                             */
                            _SubAnswer = pData.sub_answers.Where(sa => sa.sub_answer_index == 1).FirstOrDefault();
                            if (_SubAnswer != null) {
                                if (_iSchedule.ScheduleType == null)
                                    _iSchedule.ScheduleType = new ScheduleType();

                                _iSchedule.ScheduleType.ScheduleTypeSelectedValue = _SubAnswer.answer_text;
                            }

                            /**
                             * set schedule date input value.
                             */
                            _SubAnswer = pData.sub_answers.Where(sa => sa.sub_answer_index == 2).FirstOrDefault();
                            if (_SubAnswer != null) {
                                SalesPerson _sp = SalesPerson.Instanciate(_SubAnswer.answer_text);
                                //if (_sp != null && _iSchedule.ScheduleSalesPerson == null) { //DAN: Neglect the other as it could not properly set the correct sales person
                                if (_sp != null)
                                {
                                    _iSchedule.ScheduleSalesPerson = new ScheduleSalesPerson();
                                    _iSchedule.ScheduleSalesPerson.SalesPersonSelectedValue = _sp;
                                }
                            }

                            /**
                             * set start time input value.
                             */
                            _SubAnswer = pData.sub_answers.Where(sa => sa.sub_answer_index == 3).FirstOrDefault();
                            if (_SubAnswer != null)
                                _iSchedule.ScheduleValue = ScheduleValue.Instanciate(_SubAnswer.answer_text);

                            /**
                             * set attendies.
                             */
                            _iSchedule.Attendies.Clear();
                            _lstAttendies = _iSchedule.Attendies;
                            _lstSubAnswers = pData.sub_answers.Where(k => k.sub_answer_index == 5);
                            if (_lstSubAnswers != null && _lstSubAnswers.Count() > 0) {
                                for (int q = 0; q < _lstSubAnswers.Count(); ++q) {
                                    _SubAnswer = _lstSubAnswers.ElementAtOrDefault(q);
                                    if (_SubAnswer != null) {
                                        Attendie _Attendie = Attendie.Instanciate(_SubAnswer.answer_text);
                                        if (_Attendie != null)
                                            _lstAttendies.Add(_Attendie);
                                    }
                                }
                            }

                            /**
                             * set other choices.
                             */
                            _lstOtherChoices = _iSchedule.OtherChoices;
                            _lstSubAnswers = pData.sub_answers.Where(k => k.sub_answer_index == 7);
                            if (_lstSubAnswers != null && _lstSubAnswers.Count() > 0) {
                                for (int j = 0; j < _lstSubAnswers.Count(); ++j) {
                                    _SubAnswer = _lstSubAnswers.ElementAtOrDefault(j);
                                    if (_SubAnswer != null) {
                                        _lstOtherChoices[j].InputValue = _SubAnswer.answer_text;
                                        _lstOtherChoices[j].DefaultInputValue = _SubAnswer.answer_text;
                                    }
                                }
                            }
                            break;
                        #endregion
                        #region Smart Text
                        case QuestionTypeConstants.SmartText:
                            _SubAnswer = pData.sub_answers.ElementAtOrDefault(x);
                            if (_SubAnswer != null) {
                                _iSmartText = _lstAnswerOptions[x] as ISmartText;
                                _lstSmartTexts = SmartTextValue.Instanciate(_SubAnswer.answer_text);
                                _iSmartText.SmartTextValues = _lstSmartTexts;
                            }
                            break;
                        #endregion
                    }
                }
                #endregion

                /**
                 * set binding data values.
                 */
                #region Contents
                if (string.IsNullOrEmpty(_BindingData.language_code))
                    _BindingData.language_code = "SE";

                if (!_BindingData.account_level)
                    _BindingData.contact_id = pData.contact_id != null ? pData.contact_id.ToString() : null;
                else {
                    /**
                     * [@jeff 05.25.2012]: https://brightvision.jira.com/browse/PLATFORM-1438
                     * added error validation for null or empty contact ids.
                     */
                    int _AnswerContactId = pData.contact_id == null ? 0 : Convert.ToInt32(pData.contact_id);
                    int _BindingContactId = 0;
                    try {
                        _BindingContactId = int.Parse(_BindingData.contact_id);
                    }
                    catch {
                        _BindingContactId = 0;
                    }

                    if ((_AnswerContactId > 0 && _BindingContactId > 0) && _AnswerContactId == _BindingContactId)
                        if (!_BindingData.account_level)
                            _BindingData.same_contact_binding = true;
                        else
                            _BindingData.same_contact_binding = false;
                }

                _BindingData.answer_id = pData.id.ToString();
                _BindingData.account_id = pData.accounts_id.ToString();
                _BindingData.questionlayout_id = pData.questionlayout_id.ToString();
                _BindingData.campaign_id = pData.campaigns_id.ToString();
                _BindingData.dialog_id = pData.dialog_id.ToString();
                _BindingData.created_by = pData.created_by.ToString();
                #endregion
            }

            return pQuestionnaire;
        }
Пример #36
0
        // old implementation
        public static CampaignQuestionnaire BindAnswer(CampaignQuestionnaire oQuestionnaire, answer objAnswer)
        {
            //BrightPlatformEntities BPContext = new BrightPlatformEntities(UserSession.EntityConnection);
            var oQues = oQuestionnaire;
            if (oQues != null ) {
                string answer_id = oQuestionnaire.Form.Settings.DataBindings.answer_id;
                if (string.IsNullOrEmpty(answer_id)) return oQuestionnaire;
                int int_answer_id = int.Parse(answer_id);

               // var objAnswer = BPContext.answers.Include("sub_answers").FirstOrDefault(p => p.id == int_answer_id);
                if (objAnswer != null) {

                    #region AnswerDetails
                    sub_answers subanswer;
                    IDropbox iDropbox;
                    ITextbox iTextbox;
                    IMultipleChoice iMultiplechoice;
                    ISchedule iSchedule = null;
                    ISmartText iSmartText = null;

                    IEnumerable<sub_answers> subanswersValues = null;
                    List<MultipleChoiceValue> listMCV = null;
                    List<OtherChoice> listOtherChoice = null;

                    List<Attendie> listAttendie = null;
                    List<SmartTextValue> listSmartText = null;
                    var settings = oQues.Form.Settings;
                    var answerOptions = oQues.Form.Settings.AnswerOptions;
                    var binding = settings.DataBindings;

                    //set settings
                    settings.BVOwnership = objAnswer.OwnershipBrightvision;
                    settings.CustomerOwnership = objAnswer.OwnershipAccount;

                    #endregion
                    DropboxValue dropboxVal = null;
                    //set answeroptions
                    for (int x = 0; x < answerOptions.Count; ++x) {

                        switch (oQuestionnaire.Type.ToLower()) {
                            #region SubAnswer for Textbox Component
                            case QuestionTypeConstants.Textbox:
                                subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                                if(subanswer != null) {
                                    iTextbox = answerOptions[x] as ITextbox;
                                    iTextbox.InputValue = subanswer.answer_text != null ? subanswer.answer_text : string.Empty;
                                    iTextbox.DefaultInputValue = iTextbox.InputValue;
                                }
                                break;
                            #endregion
                            #region SubAnswer for Dropbox Component
                            case QuestionTypeConstants.Dropbox:
                                subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                                if (subanswer != null) {
                                    dropboxVal = DropboxValue.Instanciate(subanswer.answer_text);
                                    iDropbox = answerOptions[x] as IDropbox;
                                    iDropbox.SelectionValue = dropboxVal == null? "": dropboxVal.SelectionValue;
                                    iDropbox.DefaultSelectionValue = iDropbox.SelectionValue;
                                    iDropbox.SelectionValueIfOther = dropboxVal == null ? "" : dropboxVal.OtherValue;
                                    iDropbox.DefaultSelectionValueIfOther = iDropbox.SelectionValueIfOther;
                                }
                                break;
                            #endregion
                            #region SubAnswer for MultipleChoice Component
                            case QuestionTypeConstants.MultipleChoice:
                                iMultiplechoice = answerOptions[x] as IMultipleChoice;
                                //Note: sub_answer_index != -1 if answer is in multiple choice values
                                //      sub_answer_index == -1 if answer is in other choice

                                //set multiplechoicevalues
                                listMCV = iMultiplechoice.MultipleChoiceValues;
                                subanswersValues =
                                    from obj in objAnswer.sub_answers
                                    where obj.sub_answer_index != -1
                                    select obj;
                                if (subanswersValues != null && subanswersValues.Count() > 0) {
                                    for (int q = 0; q < subanswersValues.Count(); ++q) {
                                        subanswer = subanswersValues.ElementAtOrDefault(q);
                                        if (subanswer != null) {
                                            listMCV[q].Checked = Convert.ToBoolean(subanswer.sub_answer_index);
                                            listMCV[q].TextPrefix = subanswer.answer_text;
                                        }
                                    }
                                }
                                //set otherchoice
                                listOtherChoice = iMultiplechoice.OtherChoices;
                                subanswersValues =
                                    from obj in objAnswer.sub_answers
                                    where obj.sub_answer_index == -1
                                    select obj;
                                if (subanswersValues != null && subanswersValues.Count() > 0) {
                                    for (int j = 0; j < subanswersValues.Count(); ++j) {
                                        subanswer = subanswersValues.ElementAtOrDefault(j);
                                        if (subanswer != null) {
                                            listOtherChoice[j].InputValue = subanswer.answer_text;
                                            listOtherChoice[j].DefaultInputValue = subanswer.answer_text;
                                        }
                                    }
                                }
                                break;
                            #endregion
                            #region SubAnswer for Schedule Component
                            case QuestionTypeConstants.Schedule:
                                iSchedule = answerOptions[x] as ISchedule;
                                /*********************************************************************
                                 * Change Log:
                                 Note: sub_answer_index = 1 if answer is CalendarSelectedValue => Booking Type
                                       sub_answer_index = 2 if answer is Schedule date InputValue => Sales Person / Resource
                                       sub_answer_index = 3 if answer is StartTime InputValue => ScheduleValue
                                       sub_answer_index = 4 if answer is EndTime InputValue => Null
                                       sub_answer_index = 5 if answer is Attendies => ContactAttendies
                                       sub_answer_index = 6 if answer is MeetingPlaceDetails => Null
                                       sub_answer_index = 7 if answer is OtherChoice => OtherChoice
                                *********************************************************************/
                                //set CalendarSelectedValue
                                subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 1).FirstOrDefault();
                                if (subanswer != null) {
                                    if (iSchedule.ScheduleType == null) iSchedule.ScheduleType = new ScheduleType();
                                    iSchedule.ScheduleType.ScheduleTypeSelectedValue = subanswer.answer_text;
                                }
                                //set Schedule date InputValue
                                subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 2).FirstOrDefault();
                                if (subanswer != null) {
                                    SalesPerson _sp = SalesPerson.Instanciate(subanswer.answer_text);
                                    if (_sp != null && iSchedule.ScheduleSalesPerson == null) {
                                        iSchedule.ScheduleSalesPerson = new ScheduleSalesPerson();
                                        iSchedule.ScheduleSalesPerson.SalesPersonSelectedValue = _sp;
                                        //iSchedule.ScheduleSalesPerson.SalesPersonSelectedValue = SalesPerson.Instanciate(subanswer.answer_text);
                                    }
                                }
                                //set StartTime InputValue
                                subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 3).FirstOrDefault();
                                if (subanswer != null) {
                                    iSchedule.ScheduleValue = ScheduleValue.Instanciate(subanswer.answer_text);
                                }
                                ////set EndTime InputValue
                                //subanswer = objAnswer.sub_answers.Where(sa => sa.sub_answer_index == 4).FirstOrDefault();
                                //if (subanswer != null) {
                                //    //iSchedule.EndTime.InputValue = subanswer.answer_text;
                                //}
                                //set Attendies
                                iSchedule.Attendies.Clear(); //clear dummy values.
                                listAttendie = iSchedule.Attendies;
                                subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 5);
                                if (subanswersValues != null && subanswersValues.Count() > 0) {
                                    for (int q = 0; q < subanswersValues.Count(); ++q) {
                                        subanswer = subanswersValues.ElementAtOrDefault(q);
                                        if (subanswer != null) {
                                            var attendie = Attendie.Instanciate(subanswer.answer_text);
                                            if(attendie != null)
                                                listAttendie.Add(attendie);
                                        }
                                    }
                                }
                                //set otherchoice
                                listOtherChoice = iSchedule.OtherChoices;
                                subanswersValues = objAnswer.sub_answers.Where(k => k.sub_answer_index == 7);
                                if (subanswersValues != null && subanswersValues.Count() > 0) {
                                    for (int j = 0; j < subanswersValues.Count(); ++j) {
                                        subanswer = subanswersValues.ElementAtOrDefault(j);
                                        if (subanswer != null) {
                                            listOtherChoice[j].InputValue = subanswer.answer_text;
                                            listOtherChoice[j].DefaultInputValue = subanswer.answer_text;
                                        }
                                    }
                                }
                                break;
                            #endregion
                            #region SubAnswer for SmartText
                            case QuestionTypeConstants.SmartText:
                                subanswer = objAnswer.sub_answers.ElementAtOrDefault(x);
                                if (subanswer != null){
                                    iSmartText = answerOptions[x] as ISmartText;
                                    listSmartText = SmartTextValue.Instanciate(subanswer.answer_text);
                                    iSmartText.SmartTextValues = listSmartText;
                                }
                                break;
                            #endregion
                        }
                    }
                    //set data bindings

                    if(string.IsNullOrEmpty(binding.language_code))
                        binding.language_code = "SE";

                    if (!binding.account_level) //bypass objanswer contact_id if accountLevel and use currently selected contact
                        binding.contact_id = objAnswer.contact_id != null ? objAnswer.contact_id.ToString() : null;
                    else {
                        /**
                         * [@jeff 05.25.2012]: https://brightvision.jira.com/browse/PLATFORM-1438
                         * added error validation for null or empty contact ids.
                         */
                        int _AnswerContactId = objAnswer.contact_id == null ? 0 : Convert.ToInt32(objAnswer.contact_id);
                        int _BindingContactId = 0;
                        try { _BindingContactId = int.Parse(binding.contact_id); } catch { _BindingContactId = 0; }
                        //if (objAnswer.contact_id != null && Convert.ToInt32(objAnswer.contact_id) == int.Parse(binding.contact_id))
                        if ((_AnswerContactId > 0 && _BindingContactId > 0) && _AnswerContactId == _BindingContactId)
                            if(!binding.account_level)
                                binding.same_contact_binding = true;
                            else
                                binding.same_contact_binding = false;
                    }

                    binding.answer_id = objAnswer.id.ToString();
                    binding.account_id = objAnswer.accounts_id.ToString();
                    binding.questionlayout_id = objAnswer.questionlayout_id.ToString();
                    binding.campaign_id = objAnswer.campaigns_id.ToString();
                    binding.dialog_id = objAnswer.dialog_id.ToString();
                    binding.created_by = objAnswer.created_by.ToString();
                }
            }
            return oQues;
        }
Пример #37
0
 public void AddToanswers(answer answer)
 {
     base.AddObject("answers", answer);
 }
Пример #38
0
 public static answer Createanswer(int ID)
 {
     answer answer = new answer();
     answer.id = ID;
     return answer;
 }