Exemplo n.º 1
0
        internal static ConfirmTemplate MakeNoteConfirmBtn(int QIDnow, int OIDnow)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = "請問你需要寫個備註嗎??";

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "不用哦~", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "填寫備註", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Exemplo n.º 2
0
        internal static ConfirmTemplate MakeDeleteMyOnceOrderConfirmBtn(string message, int QIDnow, int OIDnow, string UserIDorClubIDorOrderID)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = GetConfirmText(QIDnow, OIDnow, UserIDorClubIDorOrderID);

            if (confirmText == "")
            {
                confirmText = message;
            }

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},MyOnceOrder"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Exemplo n.º 3
0
        internal static ConfirmTemplate MakeModifyOrderConfirmBtn(string message, int QIDnow, int OIDnow, string ShopID, string UserID)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();
            string         confirmText          = GetConfirmText(QIDnow, OIDnow, ShopID);

            //OrderTmp orderTmp = new OrderTmp(UserID);
            //orderTmp.SelectByUserID();
            //string confirmText = $@"開始時間:{orderTmp.StartTime.ToString()}\結束時間:{orderTmp.EndTime.ToString()}";
            if (confirmText == "")
            {
                confirmText = message;
            }
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{ShopID}"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Exemplo n.º 4
0
    protected void btnsave_Click(object sender, EventArgs e)
    {
        if (txtAns.Text.Trim() == "") {
            Alert.Show("กรุณากรอกคำตอบด้วย !!!");
           txtAns.Focus();
           return;
        }

        try
        {
            QuestionDetail qds = new QuestionDetail();
            qds.QID = Convert.ToInt32(q.ID);
            qds.AnsQus = txtAns.Text.Trim();

            if (_userlogin == null)
            {
                qds.AnsBy = "ผู้ใช้ทั่วไป";
            }
            else
            {
                qds.AnsBy = _userlogin.UserName;
            }
            MemberService service = new MemberService();
            if (service.CreateQuestionDetail(qds))
            {
                Alert.Show("บันทึกเรียบร้อยแล้ว");
                txtAns.Text = "";
                loadQuestionDetail();
            }

        }
        catch (Exception ex) {
            Alert.Show("ไม่สามารถบันทึกได้เนื่องจาก " + ex.Message);
        }
    }
Exemplo n.º 5
0
        internal static ConfirmTemplate MakeDeletOrderItem(string message, int QIDnow, int OIDnow, string BuyerInfoID, string userId, string channelAccessToken)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            BuyerInfo buyerInfo = new BuyerInfo();

            buyerInfo.ID = int.Parse(BuyerInfoID);
            buyerInfo.SelectAllByBuyerInfoID();

            message = "缺定要刪除?";

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{BuyerInfoID}"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},{buyerInfo.Item},{BuyerInfoID}"
            });
            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = message,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Exemplo n.º 6
0
        public ActionResult Edit(string id)
        {
            using (var ctx = new ApplicationDbContext())
            {
                ViewBag.VersionName = new SelectList(ctx.Versions.ToList(), "Name", "Name");
                var svc    = new GameService();
                var detail = svc.GetGameById(id);

                if (detail.GameVersionId == null)
                {
                    var firstModel =
                        new GameEditModel
                    {
                        GameBaseId = detail.GameBaseId,
                        Answer     = null
                    };
                    return(View(firstModel));
                }
                var            qsvc      = new QuestionService();
                var            questions = qsvc.GetQuestionsByVersionId(detail.GameVersionId);
                QuestionDetail question  = new QuestionDetail();
                while (question.Text == null || _usedQuestions.Contains(question.Id))
                {
                    var index = _random.Next(0, questions.Count());
                    question = questions[index];
                    if (_usedQuestions.Count == questions.Count)
                    {
                        _usedQuestions = new List <int>();
                    }
                }
                detail.QuestionId              = question.Id;
                detail.Question.Text           = question.Text;
                detail.Question.Answers        = question.Answers;
                detail.Question.Category       = new Category();
                detail.Question.Category.Color = question.Category.Color;
                detail.Question.Category.Name  = question.Category.Name;
                var repeatModel =
                    new GameEditModel
                {
                    GameBaseId      = detail.GameBaseId,
                    GameVersionId   = detail.GameVersionId,
                    QuestionId      = detail.QuestionId,
                    Question        = detail.Question,
                    CategoryColor   = detail.Question.Category.Color,
                    Answer          = "",
                    CategoryName    = detail.Question.Category.Name,
                    NumberOfPlayers = detail.NumberOfPlayers,
                    PlayerTurn      = detail.PlayerTurn,
                    PlayerOnePie    = detail.PlayerOnePie,
                    PlayerTwoPie    = detail.PlayerTwoPie,
                    PlayerThreePie  = detail.PlayerThreePie,
                    PlayerFourPie   = detail.PlayerFourPie,
                    DisplayName     = detail.DisplayName
                };
                _usedQuestions.Add(question.Id);
                return(View(repeatModel));
            }
        }
Exemplo n.º 7
0
        internal static ButtonsTemplate Make(int QIDnow, int OIDnow, string data)
        {
            //建立actions,作為ButtonTemplate的用戶回覆行為
            var actions = new List <isRock.LineBot.TemplateActionBase>();

            // 以傳進來的QID找到按鈕選項
            QuestionDetail        questionDetail     = new QuestionDetail(QIDnow);
            List <QuestionDetail> questionDetailList = questionDetail.SelectByQid();

            // 以選項的QID跟OID找到button裡要藏的QID和OID (即按下按鈕後下一個出現的QID和OID)
            for (int i = 0; i < questionDetailList.Count; i++)
            {
                NextHelper     nextHelper         = new NextHelper(questionDetailList[i].QID, questionDetailList[i].OID);
                QuestionDetail questionDetailNext = nextHelper.GetNext();

                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = questionDetailList[i].AnswerOption,
                    data  = DateTime.Now.ToString() + $",{questionDetailNext.QID},{questionDetailNext.OID},{data}"
                });
            }

            // QID 19和29都有四個button了不能加上一步
            if (!(QIDnow == 19 || QIDnow == 29))
            {
                // 製作上一步的button
                PreviousHelper previousHelper         = new PreviousHelper(QIDnow, OIDnow);
                QuestionDetail questionDetailPrevious = previousHelper.GetPrevious();

                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "上一步",
                    data  = DateTime.Now.ToString() + $",{questionDetailPrevious.QID}," + $"{questionDetailPrevious.OID},default"
                });
            }

            //製作模板框架
            Question question = new Question(QIDnow);

            question.SelectByQid();

            var ButtonTemplate = new isRock.LineBot.ButtonsTemplate()
            {
                altText = $"請使用手機查看喔~{question.QuestionTitle}",
                //title = question.QuestionTitle,
                text = question.QuestionText,
                //設定圖片
                thumbnailImageUrl = new Uri(question.ImageUrl),
                actions           = actions //設定回覆動作
            };


            return(ButtonTemplate);
        }
Exemplo n.º 8
0
        public QuestionThread GetQuestionThread(string url)
        {
            var web     = new HtmlWeb();
            var htmlDoc = web.Load(url);
            var nodes   = htmlDoc.DocumentNode.SelectNodes("//div[@class='post-text']");
            var answers = nodes.Skip(1).Select(node => new QuestionAnswer {
                Answer = node.InnerText.Replace("\n", "<br>")
            }).ToList();
            var question = new QuestionDetail {
                Question = nodes.First().InnerText.Replace("\n", "<br>")
            };

            return(new QuestionThread {
                QuestionDetail = question, QuestionAnswers = answers
            });
        }
Exemplo n.º 9
0
        internal static ConfirmTemplate MakeCreateClubConfirmBtn(string message, int QIDnow, int OIDnow, string clubID, string clubName)
        {
            var actions = new List <isRock.LineBot.TemplateActionBase>();

            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = GetConfirmText(QIDnow, OIDnow, clubID);

            if (confirmText == "")
            {
                confirmText = message;
            }

            //參加社團(91)和退出社團(102)需要放clubID
            if (questionDetailNext.QID == 91 || questionDetailNext.QID == 102)
            {
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{clubID}"
                });
            }
            else
            {
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "確定", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},{clubName}"
                });
            }
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
            });


            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Exemplo n.º 10
0
        public async Task AddQuestionAsync(QuestionDetail question)
        {
            using (IUnitOfWork unitOfWork = unitOfWorkFactory.Create())
            {
                await unitOfWork.QuestionRepository.AddQuestionAsync(question.DeepCopyTo <Database.Models.QuestionDefinition>());

                unitOfWork.OptionRepository.AddOptionsAsync(question.Options.Select(o => new Database.Models.OptionDefinition
                {
                    Answer          = o.Answer,
                    ID              = o.ID,
                    IsCorrectAnswer = o.IsCorrectAnswer,
                    Order           = o.Order,
                    QuestionID      = o.QuestionID
                }).ToArray());
                await unitOfWork.SaveAsync();
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="idQuestion"></param>
        /// <param name="idQuestionDetail"></param>
        /// <param name="actionAnswer"></param>
        /// <returns></returns>
        public QuestionDetail InsertQuestionDetail(Guid idQuestion, Guid idQuestionDetail, string actionAnswer)
        {
            var itemReturn = new QuestionDetail();

            using (var transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    var questionDetailCurrent = _questionDetailDao.GetOne(idQuestionDetail);
                    var position    = -1;
                    var itemsUpdate = new List <QuestionDetail>();

                    switch (actionAnswer)
                    {
                    case CService.LastAnswer:
                        position = -1;
                        break;

                    case CService.AfterAnswer:
                        position    = questionDetailCurrent.Order + 1;
                        itemsUpdate = _questionDetailDao.GetQuestionDetailAfterOrder(idQuestion,
                                                                                     questionDetailCurrent.Order);
                        break;
                    }

                    foreach (var itemTemp in itemsUpdate)
                    {
                        itemTemp.Order = itemTemp.Order + 1;
                    }

                    itemReturn = AddAnswer(idQuestion, position);

                    Context.QuestionDetails.Add(itemReturn);
                    Context.SaveChanges();

                    transaction.Commit();
                }
                catch
                {
                    transaction.Rollback();
                }
            }

            return(itemReturn);
        }
Exemplo n.º 12
0
        public QuestionDetail BuildQuestionDetailViewModel(string username, string[] userRoles, string title, QuestionFields questionFields, List <AnswerFields> answerFieldsList, string poster)
        {
            var viewModel = new QuestionDetail
            {
                Title          = title,
                SubTitle       = GeneralConstants.PortalTitle,
                PortalTitle    = GeneralConstants.PortalTitle,
                Icon           = "Icon",
                Breadcrumb     = _breadcrumbFactory.BuildBreadcrumb(),
                LeftNav        = _leftNavFactory.BuildLeftNav(LeftNavigationItems.Questions, userRoles),
                TopNav         = _topNavFactory.BuildTopNav(GeneralConstants.PortalTitle, username),
                QuestionFields = questionFields,
                Answers        = answerFieldsList,
                Poster         = poster
            };

            return(viewModel);
        }
Exemplo n.º 13
0
        public static Page ItemTapped(object sender, ItemTappedEventArgs e)
        {
            FeedItem feedItem = (FeedItem)((ListView)sender).SelectedItem;

            if (feedItem.GetType() == typeof(Notification))
            {
                Notification tappedNotification = (Notification)feedItem;
                var          newPage            = new NotificationDetail(tappedNotification);
                return(newPage);
            }
            else if (feedItem.GetType() == typeof(Question))
            {
                Question tappedQuestion = (Question)feedItem;
                var      newPage        = new QuestionDetail(tappedQuestion);
                return(newPage);
            }
            return(new Page());
        }
Exemplo n.º 14
0
        public ActionResult Details(int id)
        {
            var svc             = new QuestionService();
            var question        = svc.GetQuestionById(id);
            var questionDetails = svc.GetQuestionChoicesByQuestionId(id).Select(x => new QuestionChoiceDetails()
            {
                QuestionChoiceText  = x.QuestionChoiceText,
                QuestionChoiceValue = x.QuestionChoiceValue
            }).ToList();
            var model = new QuestionDetail
            {
                QuestionId         = question.QuestionId,
                QuestionText       = question.QuestionText,
                QuestionType       = Enum.GetName(typeof(QuestionType), question.QuestionType),
                QuestionChoiceText = questionDetails
            };

            return(View(model));
        }
Exemplo n.º 15
0
        internal static ButtonsTemplate MakeDeleteMyPeriodOrderConfirmBtn(int QIDnow, int OIDnow, OrderInfo orderInfo)
        {
            //建立actions,作為ButtonTemplate的用戶回覆行為
            var actions = new List <isRock.LineBot.TemplateActionBase>();

            // 製作Button
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "刪除單一週期性訂單",
                data  = DateTime.Now.ToString() + $",{questionDetailNext.QID},{questionDetailNext.OID},MyOrderPartition"
            });
            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "刪除完整週期性訂單",
                data  = DateTime.Now.ToString() + $",{questionDetailNext.QID},{questionDetailNext.OID},MyOrder"
            });

            // 製作取消的button
            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "取消",
                data  = DateTime.Now.ToString() + $",{questionDetailCancel.QID}," + $"{questionDetailCancel.OID},default"
            });

            //製作模板框架
            var ButtonTemplate = new isRock.LineBot.ButtonsTemplate()
            {
                altText = $"請使用手機查看喔~",
                title   = "請選擇週期性訂單的刪除範圍",
                text    = $"單一:僅刪除{orderInfo.OrderName}裡{orderInfo.StartTime.ToString("yyyyMMdd")}的訂單,完整:刪除{orderInfo.OrderName}的所有訂單",
                ////設定圖片
                //thumbnailImageUrl = new Uri("https://i220.photobucket.com/albums/dd130/jung_04/p117516087231.jpg"),
                actions = actions //設定回覆動作
            };

            return(ButtonTemplate);
        }
Exemplo n.º 16
0
        public async Task <QuestionDetail> GetQuestionByID(Guid id)
        {
            using (IUnitOfWork unitOfWork = unitOfWorkFactory.Create())
            {
                //List<Database.Models.QuestionDefinition> list = new List<Database.Models.QuestionDefinition>();
                QuestionDetail question = (await unitOfWork.QuestionRepository.GetQuestionByIDAsync(id)).DeepCopyTo <QuestionDetail>();
                IEnumerable <Database.Models.OptionDefinition> options = await unitOfWork.OptionRepository.GetOptionsByQuestionIDAsync(id);

                question.Options = options.Select(o => new OptionDefinition
                {
                    Answer          = o.Answer,
                    ID              = o.ID,
                    IsCorrectAnswer = o.IsCorrectAnswer,
                    Order           = o.Order,
                    QuestionID      = o.QuestionID
                }).ToArray();
                return(question);
            }
        }
Exemplo n.º 17
0
        internal static ButtonsTemplate DateTimeBtnMake(int QIDnow, int OIDnow, string data)
        {
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            PreviousHelper previousHelper         = new PreviousHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailPrevious = previousHelper.GetPrevious();

            var ButtonTemplate = new isRock.LineBot.ButtonsTemplate();
            var actions        = new List <isRock.LineBot.TemplateActionBase>();

            actions.Add(new isRock.LineBot.DateTimePickerAction()
            {
                label = "選擇開始日期和時間",
                mode  = "datetime",
                data  = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},start"
            });
            actions.Add(new isRock.LineBot.DateTimePickerAction()
            {
                label = "選擇結束日期和時間",
                mode  = "datetime",
                data  = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},end"
            });

            actions.Add(new isRock.LineBot.PostbackAction()
            {
                label = "上一步",
                data  = DateTime.Now.ToString() + $",{questionDetailPrevious.QID}," + $"{questionDetailPrevious.OID},default"
            });
            ButtonTemplate = new isRock.LineBot.ButtonsTemplate()
            {
                text = "訂單",
                // title = "選擇日期",
                //設定圖片
                thumbnailImageUrl = new Uri("https://i220.photobucket.com/albums/dd130/jung_04/DateTime.png"),
                actions           = actions
            };


            return(ButtonTemplate);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="idQuestion"></param>
        /// <param name="position"></param>
        /// <returns></returns>
        public QuestionDetail AddAnswer(Guid idQuestion, int position = -1)
        {
            var oneQuestionDetail = new QuestionDetail
            {
                IdQuestion = idQuestion,
                IsNext     = CQuestionDetail.Yes
            };


            if (-1 == position)
            {
                oneQuestionDetail.Order = GetMax(idQuestion) + 1;
            }
            else
            {
                oneQuestionDetail.Order = position;
            }

            oneQuestionDetail.Answer         = string.Empty;
            oneQuestionDetail.StatusRegister = CStatusRegister.Active;

            return(oneQuestionDetail);
        }
Exemplo n.º 19
0
    public List<QuestionDetail> loadQuestionDetail(int _qid)
    {
        List<QuestionDetail> qds = new List<QuestionDetail>();
        QuestionDetail qd;
        try
        {
            Conn = db.openConn();
            sb = new StringBuilder();

            sb.Remove(0, sb.Length);
            sb.Append(" SELECT ID,QID,AnsQus,AnsDate,AnsBy FROM tbQuestionDetail ");
            sb.Append(" WHERE (1=1) ");
            sb.Append(" AND QID='" + _qid + "' ");

            string sql;
            sql = sb.ToString();

            com = new OleDbCommand();
            com.CommandText = sql;
            com.CommandType = CommandType.Text;
            com.Connection = Conn;
            dr = com.ExecuteReader();
            if (dr.HasRows)
            {

                DataTable dt = new DataTable();
                dt.Load(dr);
                foreach (DataRow drw in dt.Rows)
                {
                    qd = new QuestionDetail();
                    qd.ID = Convert.ToInt32(drw["ID"].ToString());
                    qd.QID = Convert.ToInt32(drw["QID"].ToString());
                    qd.AnsQus = Convert.ToString(drw["AnsQus"].ToString());
                    qd.AnsDate  = Convert.ToDateTime(drw["AnsDate"].ToString());
                    qd.AnsBy = Convert.ToString(drw["AnsBy"].ToString());
                    qds.Add(qd);
                }
            }

            dr.Close();

        }
        catch (Exception ex)
        {
            tr.Rollback();
            Conn.Close();
            return null;
            throw ex;
        }
        finally
        {
            Conn.Close();
        }

        return qds;
    }
Exemplo n.º 20
0
    public bool CreateQuestionDetail(QuestionDetail _questionDetail)
    {
        bool result = false;
        try
        {
            Conn = db.openConn();
            tr = Conn.BeginTransaction();

            sb = new StringBuilder();

            sb.Remove(0, sb.Length);
            sb.Append("INSERT INTO tbQuestionDetail(QID,AnsQus,AnsDate,AnsBy)");
            sb.Append(" VALUES (");
            sb.Append(" '" + _questionDetail.QID  + "',");
            sb.Append(" '" + _questionDetail.AnsQus   + "',");
            sb.Append(" now(),");
            sb.Append(" '" + _questionDetail.AnsBy   + "')");

            string sqlSave;
            sqlSave = sb.ToString();

            com = new OleDbCommand();
            com.Connection = Conn;
            com.CommandText = sqlSave;
            com.Transaction = tr;
            com.Parameters.Clear();

            com.ExecuteNonQuery();
            tr.Commit();

            result = true;

        }
        catch (Exception ex)
        {
            tr.Rollback();
            Conn.Close();
            return result;
            throw ex;
        }
        finally
        {
            Conn.Close();
        }

        return result;
    }
Exemplo n.º 21
0
        internal QuestionDetail GetPrevious()
        {
            QuestionDetail questionDetail;

            switch (QID)
            {
            case 2:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(1, 0));

                default:
                    break;
                }
                break;

            case 3:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(2, 0));

                default:
                    break;
                }
                break;

            case 4:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(3, 0));

                default:
                    break;
                }
                break;

            case 5:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(32, 1));

                default:
                    break;
                }
                break;

            case 6:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(5, 0));

                default:
                    break;
                }
                break;

            case 7:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(1, 0));

                default:
                    break;
                }
                break;

            case 8:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(72, 2));

                default:
                    break;
                }
                break;

            case 9:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(1, 0));

                //case 1:
                //    return questionDetail = new QuestionDetail(1, 0);
                //case 2:
                //    return questionDetail = new QuestionDetail(1, 0);
                case 3:
                    return(questionDetail = new QuestionDetail(9, 0));

                default:
                    break;
                }
                break;

            case 10:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(93, 1));

                //case 1:
                //    return questionDetail = new QuestionDetail(93, 1);
                //case 2:
                //    return questionDetail = new QuestionDetail(93, 1);
                default:
                    break;
                }
                break;

            case 11:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(1, 0));

                default:
                    break;
                }
                break;

            case 12:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(81, 1));

                default:
                    break;
                }
                break;

            case 13:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(22, 1));

                default:
                    break;
                }
                break;

            case 14:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(13, 0));

                default:
                    break;
                }
                break;

            case 15:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(132, 1));

                default:
                    break;
                }
                break;

            case 16:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(15, 0));

                default:
                    break;
                }
                break;

            case 17:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(11, 0));

                default:
                    break;
                }
                break;

            case 18:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(172, 1));

                default:
                    break;
                }
                break;

            case 19:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(18, 0));

                default:
                    break;
                }
                break;

            case 20:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(41, 1));

                default:
                    break;
                }
                break;

            case 21:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(42, 3));

                default:
                    break;
                }
                break;

            case 23:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(6, 0));

                default:
                    break;
                }
                break;

            case 24:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(141, 1));

                default:
                    break;
                }
                break;

            case 25:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(142, 3));

                default:
                    break;
                }
                break;

            case 26:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(16, 0));

                default:
                    break;
                }
                break;

            case 27:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(112, 1));

                default:
                    break;
                }
                break;

            case 28:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(272, 1));

                default:
                    break;
                }
                break;

            case 29:
                switch (OID)
                {
                case 0:
                    return(questionDetail = new QuestionDetail(28, 1));

                default:
                    break;
                }
                break;

            case 32:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(3, 0));

                default:
                    break;
                }
                break;

            case 41:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(4, 0));

                default:
                    break;
                }
                break;

            case 42:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(4, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(42, 2));

                default:
                    break;
                }
                break;

            case 51:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(5, 0));

                default:
                    break;
                }
                break;

            case 61:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(6, 0));

                default:
                    break;
                }
                break;

            case 72:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(7, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(72, 1));

                default:
                    break;
                }
                break;

            case 73:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(7, 0));

                default:
                    break;
                }
                break;

            case 81:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(8, 0));

                default:
                    break;
                }
                break;

            case 93:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(9, 0));

                default:
                    break;
                }
                break;

            case 112:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(11, 0));

                default:
                    break;
                }
                break;

            case 121:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(12, 0));

                default:
                    break;
                }
                break;

            case 141:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(14, 0));

                default:
                    break;
                }
                break;

            case 142:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(14, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(142, 2));

                default:
                    break;
                }
                break;

            case 151:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(15, 0));

                default:
                    break;
                }
                break;

            case 161:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(16, 0));

                default:
                    break;
                }
                break;

            case 172:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(17, 0));

                default:
                    break;
                }
                break;

            case 182:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(18, 0));

                default:
                    break;
                }
                break;

            case 194:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(19, 0));

                default:
                    break;
                }
                break;

            case 201:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(20, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(201, 1));

                default:
                    break;
                }
                break;

            case 202:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(20, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(202, 1));

                default:
                    break;
                }
                break;

            case 211:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(21, 0));

                default:
                    break;
                }
                break;

            case 231:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(23, 0));

                default:
                    break;
                }
                break;

            case 241:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(24, 0));

                default:
                    break;
                }
                break;

            case 251:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(25, 0));

                default:
                    break;
                }
                break;

            case 261:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(26, 0));

                default:
                    break;
                }
                break;

            case 272:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(27, 0));

                default:
                    break;
                }
                break;

            case 282:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(28, 0));

                default:
                    break;
                }
                break;

            case 294:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(29, 0));

                default:
                    break;
                }
                break;

            default:
                break;
            }
            return(questionDetail = new QuestionDetail(0, 0));
        }
Exemplo n.º 22
0
        public IHttpActionResult PostQuestionnaireQuestions([FromBody] QuestionnaireQuestionsRequest request)
        {
            QuestionaireQuestionResponse response = new QuestionaireQuestionResponse();

            try
            {
                if (CommonHelpers.ValidateRequest(request.UserToken))
                {
                    List <QuestionDetail> QuestionAnswerList = new List <QuestionDetail>();
                    DBAgent = new DataAccessProvider(DataAccessProvider.ParamType.ServerCredentials, ConfigurationManager.AppSettings["DBServerName"], ConfigurationManager.AppSettings["DBUserName"], ConfigurationManager.AppSettings["DBPassword"]);
                    DBAgent.ClearParams();
                    DBAgent.AddParameter("@ParamQuestionnaireID", request.QuestionnaireID);
                    DBAgent.AddParameter("@ParamPQID", request.PQID);
                    string data = DBAgent.ExecuteStoredProcedure("dbo.spGetAllQuestionAnswersForQuestionnaire");
                    if (data.Length > 0)
                    {
                        DataSet ds = CommonHelpers.GetDataSetFromXml(data);
                        if (ds.Tables.Count > 0)
                        {
                            int            CurrentQuestionID = 0;
                            QuestionDetail qd = null;

                            foreach (DataRow dr in ds.Tables[0].Rows)
                            {
                                if (CurrentQuestionID != int.Parse(dr["QuestionID"].ToString()))
                                {
                                    if (qd != null)
                                    {
                                        //Save Previous Question
                                        QuestionAnswerList.Add(qd);
                                    }

                                    //New Question
                                    qd = new QuestionDetail();
                                    qd.QuestionText   = dr["QuestionText"].ToString();
                                    qd.QuestionID     = dr["QuestionID"].ToString();
                                    CurrentQuestionID = int.Parse(dr["QuestionID"].ToString());
                                }

                                AnswerDetail ans = new AnswerDetail();
                                ans.AnswerID       = dr["AnswerID"].ToString();
                                ans.AnswerText     = dr["AnswerText"].ToString();
                                ans.SelectedAnswer = bool.Parse(dr["SelectedAnswer"].ToString());
                                ans.AnswerPoints   = int.Parse(dr["AnswerPoints"].ToString());
                                qd.QuestionAnswers.Add(ans);
                            }

                            QuestionAnswerList.Add(qd); //Adding last Question

                            response.QuestionAnswerList = QuestionAnswerList;
                        }
                    }
                    else
                    {
                        response.ErrorMessage = "No Data";
                    }
                }
                else
                {
                    response.ErrorMessage = "Invalid Request";

                    DBAgent = new DataAccessProvider(DataAccessProvider.ParamType.ServerCredentials, ConfigurationManager.AppSettings["DBServerName"], ConfigurationManager.AppSettings["DBUserName"], ConfigurationManager.AppSettings["DBPassword"]);
                    DBAgent.ClearParams();
                    DBAgent.AddParameter("@ParamRefID", request.PQID);
                    DBAgent.AddParameter("@ParamRefType", "PQID");
                    DBAgent.AddParameter("@ParamAction", "IR");
                    DBAgent.AddParameter("@ParamComment", "Invalid Request from Mobile App - QuestionnaireQuestionsController - " + request.UserToken);
                    DBAgent.ExecuteNonQuery("dbo.spAddUserAction");
                }
            }
            catch (Exception ex)
            {
                response.ErrorMessage = ex.Message;
                CommonHelpers.writeLogToFile("API: PostQuestionnaireQuestions - QuestionnaireQuestionsController.cs", ex.Message + Environment.NewLine + ex.StackTrace);
            }


            return(Ok(response));
        }
Exemplo n.º 23
0
        internal QuestionDetail GetCancel()
        {
            QuestionDetail questionDetail;

            switch (QID)
            {
            case 9:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(1, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(1, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(1, 0));

                default:
                    break;
                }
                break;

            case 10:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(9, 99999));

                default:
                    break;
                }
                break;

            case 32:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(2, 0));

                default:
                    break;
                }
                break;

            case 51:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(3, 0));

                default:
                    break;
                }
                break;

            case 52:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(5, 0));

                default:
                    break;
                }
                break;

            case 61:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(5, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(5, 0));

                default:
                    break;
                }
                break;

            case 71:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(7, 0));

                default:
                    break;
                }
                break;

            case 72:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(1, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(1, 0));

                default:
                    break;
                }
                break;

            case 73:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(1, 0));

                default:
                    break;
                }
                break;

            case 81:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(7, 0));

                default:
                    break;
                }
                break;

            case 82:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(7, 0));

                default:
                    break;
                }
                break;

            case 91:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(9, 0));

                default:
                    break;
                }
                break;

            case 92:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(9, 0));

                default:
                    break;
                }
                break;

            case 93:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(9, 0));

                default:
                    break;
                }
                break;

            case 102:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(10, 0));

                default:
                    break;
                }
                break;

            case 112:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(1, 0));

                default:
                    break;
                }
                break;

            case 121:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(12, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(121, 21));

                case 3:
                    return(questionDetail = new QuestionDetail(121, 31));

                case 4:
                    return(questionDetail = new QuestionDetail(12, 0));

                case 5:
                    return(questionDetail = new QuestionDetail(121, 6));

                default:
                    break;
                }
                break;

            case 122:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(12, 0));

                default:
                    break;
                }
                break;

            case 151:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(13, 0));

                default:
                    break;
                }
                break;

            case 152:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(15, 0));

                default:
                    break;
                }
                break;

            case 161:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(15, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(15, 0));

                default:
                    break;
                }
                break;

            case 171:
                switch (OID)
                {
                case 6:
                    return(questionDetail = new QuestionDetail(171, 7));

                case 7:
                    return(questionDetail = new QuestionDetail(17, 0));

                default:
                    break;
                }
                break;

            case 172:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(17, 0));

                default:
                    break;
                }
                break;

            case 182:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(17, 0));

                default:
                    break;
                }
                break;

            case 191:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(19, 0));

                default:
                    break;
                }
                break;

            case 192:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(19, 0));

                default:
                    break;
                }
                break;

            case 193:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(19, 0));

                default:
                    break;
                }
                break;

            case 194:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(19, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(19, 0));

                case 5:
                    return(questionDetail = new QuestionDetail(194, 6));

                default:
                    break;
                }
                break;

            case 201:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(4, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(20, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(4, 0));

                case 4:
                    return(questionDetail = new QuestionDetail(4, 0));

                default:
                    break;
                }
                break;

            case 211:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(4, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(21, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(211, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(4, 0));

                default:
                    break;
                }
                break;

            case 231:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(6, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(23, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(6, 0));

                default:
                    break;
                }
                break;

            case 241:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(14, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(24, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(14, 0));

                default:
                    break;
                }
                break;

            case 251:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(14, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(25, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(251, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(14, 0));

                default:
                    break;
                }
                break;

            case 261:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(16, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(26, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(16, 0));

                default:
                    break;
                }
                break;

            case 271:
                switch (OID)
                {
                case 6:
                    return(questionDetail = new QuestionDetail(271, 7));

                case 7:
                    return(questionDetail = new QuestionDetail(27, 0));

                default:
                    break;
                }
                break;

            case 272:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(27, 0));

                default:
                    break;
                }
                break;

            case 282:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(27, 0));

                default:
                    break;
                }
                break;

            case 291:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(29, 0));

                default:
                    break;
                }
                break;

            case 292:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(29, 0));

                default:
                    break;
                }
                break;

            case 293:
                switch (OID)
                {
                case 2:
                    return(questionDetail = new QuestionDetail(29, 0));

                default:
                    break;
                }
                break;

            case 294:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(29, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(29, 0));

                case 5:
                    return(questionDetail = new QuestionDetail(294, 6));

                default:
                    break;
                }
                break;

            case 9999:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(9999, 6));

                case 2:
                    return(questionDetail = new QuestionDetail(9999, 21));

                case 3:
                    return(questionDetail = new QuestionDetail(9999, 31));

                case 4:
                    return(questionDetail = new QuestionDetail(9999, 1));

                case 5:
                    return(questionDetail = new QuestionDetail(9999, 6));

                default:
                    break;
                }
                break;

            default:
                break;
            }
            return(questionDetail = new QuestionDetail(0, 0));
        }
Exemplo n.º 24
0
        public int SaveFormAggregate(IList <StructXmlModel> Aggregate, Guid Idaccount, String Name)
        {
            DateTime localDate   = DateTime.Now;
            string   LogFile     = localDate.ToString("MMyy");
            var      servicedata = Context.Accounts.Where(x => x.Id == Idaccount);
            var      serv        = Context.Services.Where(z => z.IdAccount == Idaccount);
            string   name        = "Formulario_" + serv.Count() + " " + servicedata.First().Name + "_" + LogFile;

            Name = name;

            using (var transaction = Context.Database.BeginTransaction())
            {
                try
                {
                    Service        service        = null;
                    ServiceDetail  serviceDetail  = null;
                    Question       question       = null;
                    QuestionDetail questionDetail = null;
                    int            orderService   = 0;

                    var typeService   = Context.TypeServices.Where(x => x.StatusRegister == "A");
                    var custumer      = Context.Customers.Where(x => x.IdAccount == Idaccount);
                    var channel       = Context.Channels.Where(x => x.IdAccount == Idaccount);
                    var stateRegister = EntityState.Added;
                    service                = new Service();
                    service.Code           = custumer.First().Abbreviation;
                    service.Name           = Name;
                    service.IdTypeService  = typeService.First().Id;
                    service.PollTitle      = Name;
                    service.IdAccount      = Idaccount;
                    service.IdCustomer     = custumer.First().Id;
                    service.CreationDate   = DateTime.Now;
                    service.StatusRegister = "A";
                    service.IdChannel      = channel.First().Id;
                    service.Icon           = "glyphicon glyphicon-king";
                    service.IconColor      = "bg-red";
                    service.Template       = "Matrix";
                    Context.Services.Add(service);
                    Context.Entry(service).State = stateRegister;
                    Context.SaveChanges();
                    foreach (var ServiceAggregate in Aggregate)
                    {
                        serviceDetail = new ServiceDetail();
                        Guid idService = service.Id;
                        serviceDetail.IdService      = idService;
                        serviceDetail.Order          = orderService;
                        serviceDetail.StatusRegister = "A";
                        serviceDetail.SectionTitle   = ServiceAggregate.QuestionText;
                        serviceDetail.Weight         = 0;
                        serviceDetail.HasPhoto       = false;
                        serviceDetail.GroupName      = null;
                        serviceDetail.IdSection      = null;
                        serviceDetail.NumberOfCopies = 1;
                        if (ServiceAggregate.IsDynamic)
                        {
                            serviceDetail.IsDynamic = ServiceAggregate.IsDynamic;
                        }

                        Context.ServiceDetails.Add(serviceDetail);
                        Context.Entry(serviceDetail).State = stateRegister;
                        Context.SaveChanges();
                        orderService++;
                        int orderQuestion = 0;
                        foreach (var QuestionAggregate in ServiceAggregate.Question)
                        {
                            if (QuestionAggregate.id != null)
                            {
                                question = new Question();
                                question.IdServiceDetail   = serviceDetail.Id;
                                question.Title             = QuestionAggregate.QuestionText;
                                question.StatusRegister    = "A";
                                question.Order             = orderQuestion;
                                question.Weight            = 0;
                                question.IdTypePoll        = typePollAuto(QuestionAggregate.QuestionTipo);
                                question.HasPhoto          = "N";
                                question.CountPhoto        = 0;
                                question.IdProduct         = null;
                                question.IdProductCategory = null;
                                question.AnswerRequired    = false;
                                question.sequence          = 1;
                                question.Aggregatefield    = QuestionAggregate.id + "_" + QuestionAggregate.valueText;
                                Context.Questions.Add(question);
                                Context.Entry(question).State = stateRegister;
                                Context.SaveChanges();
                                orderQuestion++;
                                int orderQuestionDetail = 0;

                                if (QuestionAggregate.Detail != null)
                                {
                                    foreach (var QuestionDetailAggregate in QuestionAggregate.Detail)
                                    {
                                        questionDetail                    = new QuestionDetail();
                                        questionDetail.IdQuestion         = question.Id;
                                        questionDetail.Answer             = QuestionDetailAggregate.QuestionText;
                                        questionDetail.StatusRegister     = "A";
                                        questionDetail.Order              = orderQuestionDetail;
                                        questionDetail.Weight             = 0;
                                        questionDetail.IsNext             = "N";
                                        questionDetail.QuestionLink       = null;
                                        questionDetail.IdQuestionRequired = null;
                                        questionDetail.Aggregatefield     = QuestionDetailAggregate.valueText;
                                        Context.QuestionDetails.Add(questionDetail);
                                        Context.Entry(questionDetail).State = stateRegister;
                                        Context.SaveChanges();

                                        orderQuestionDetail++;
                                    }
                                }
                            }
                        }
                    }
                    transaction.Commit();
                    return(1);
                }
                catch (Exception)
                {
                    transaction.Rollback();
                    return(0);
                }
            }
        }
Exemplo n.º 25
0
        public QuestionDetail GetQuestionDetail(int questionId)
        {
            List <QuestionComment>    questionComments     = new List <QuestionComment>();
            List <AnswerForAQuestion> answersForAQuestions = new List <AnswerForAQuestion>();
            QuestionDetail            tempQuestionDetails  = new QuestionDetail();
            QuestionDetail            questionDetails      = new QuestionDetail();

            answersForAQuestions = _dbConnection.Query <AnswerForAQuestion>(@"select a.AnswerId,
                                                                                    a.AnswerContent,
                                                                                    (select count(1) from Vote as v1 where v1.AnswerId=a.AnswerId and v1.UserId=1) as IsVotedForAnswer,
	                                                                                (select count(v.VoteId) from Vote as v where v.AnswerId = a.AnswerId) as TotalVote,
	                                                                                a.CreatedDate,
	                                                                                u.FirstName + ' ' + u.LastName as UserFullName,
                                                                                    u.Avatar
                                                                             from   Answer as a
                                                                             inner join [User] as u on u.UserId = a.UserId
                                                                             where a.QuestionId = @questionId
                                                                            order by a.CreatedDate", new { questionId = questionId }).ToList();

            var answerComments = _dbConnection.Query <AnswerComment>(@"select ac.AnswerCommentId,
	                                                                       ac.AnswerId,
	                                                                       ac.CommentContent,
	                                                                       ac.UserId,
	                                                                       ac.CreatedDate,
                                                                            u.Avatar
                                                                      from   AnswerComment as ac
                                                                      inner  join Answer as a on ac.AnswerId = a.AnswerId
                                                                      inner  join [User] as u on ac.UserId = u.userId
                                                                      where a.QuestionId = @questionId", new { questionId = questionId });

            foreach (var answer in answersForAQuestions)
            {
                answer.AnswerComments = answerComments.Where(x => x.AnswerId == answer.AnswerId).ToList();
            }

            questionComments = _dbConnection.Query <QuestionComment>(@"select  qc.QuestionCommentId,
		                                                                      qc.CommentContent,
		                                                                      qc.QuestionId,
		                                                                      qc.CreatedDate,
		                                                                      u.FirstName + ' ' + u.LastName as Commenter,
                                                                              u.Avatar
                                                                        from QuestionComment as qc
                                                                        inner join [User] as u on u.UserId = qc.UserId
                                                                        where qc.QuestionId = @questionId", new { questionId = questionId }).ToList();

            tempQuestionDetails = _dbConnection.QueryFirstOrDefault <QuestionDetail>(@"select q.QuestionId,
	                                                                                     q.QuestionTitle,
	                                                                                     q.QuestionContent,
	                                                                                     u.FirstName + ' ' + u.LastName as QuestionPotster
                                                                                  from Question as q
                                                                                  inner join [User] as u on u.UserId = q.UserId
                                                                                  where q.QuestionId = @questionId", new { questionId = questionId });
            if (tempQuestionDetails != null)
            {
                questionDetails.QuestionId      = tempQuestionDetails.QuestionId;
                questionDetails.QuestionContent = tempQuestionDetails.QuestionContent;
                questionDetails.QuestionPotster = tempQuestionDetails.QuestionPotster;
                questionDetails.QuestionTitle   = tempQuestionDetails.QuestionTitle;
            }

            questionDetails.Answers  = answersForAQuestions;
            questionDetails.Comments = questionComments;
            return(questionDetails);
        }
Exemplo n.º 26
0
        internal static string make(string UserID, int QIDnow, int OIDnow, string data)
        {
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            //如果是取得參加碼,直接回傳藏在postback裡的data
            if (QIDnow == 101 && OIDnow == 1)
            {
                return(data);
            }
            else if (QIDnow == 73 && OIDnow == 2)
            {
                return(data);
            }
            else if (QIDnow == 53 && OIDnow == 1)
            {
                return(data);
            }
            else if (QIDnow == 153 && OIDnow == 1)
            {
                return(data);
            }
            else if (QIDnow == 9998)
            {
                switch (data)
                {
                case "accept":
                    return("已向訂購者傳送確認訊息!");

                case "refuse":
                    return("已向訂購者傳送婉拒訊息!");

                default:
                    break;
                }
            }
            QuestionDetail        questionDetail     = new QuestionDetail(QIDnow, OIDnow);
            List <QuestionDetail> questionDetailList = questionDetail.SelectByQidAndOid();

            switch (QIDnow)
            {
            case 121:
                UserStatus userStatustemp = new UserStatus(UserID);
                userStatustemp.SelectByUserID();
                data = userStatustemp.TempData;
                break;

            default:
                break;
            }
            UserStatus userStatus = new UserStatus(UserID, questionDetailNext.QID, questionDetailNext.OID, data);

            userStatus.UpdateByUserID();

            // 先偷做一些事情
            switch (QIDnow)
            {
            case 71:
                switch (OIDnow)
                {
                case 3:
                    // 把UserID加入訂單

                    break;

                default:
                    break;
                }
                break;

            case 194:
                switch (OIDnow)
                {
                case 2:
                    // 改品項的時候要先記錄改之前的品項到ShopTemp,之後才知道要改哪一筆
                    ShopTemp shopTemp = new ShopTemp(UserID);
                    shopTemp.ShopItem = data;
                    shopTemp.UpdateItemToShopTemp();
                    break;

                case 6:
                    // 清空
                    shopTemp = new ShopTemp(UserID);
                    shopTemp.InitializeShopTempByUserID();
                    shopTemp.DeleteShopItemTempByUserID();
                    userStatus.InitializeUserStatusByUserID();
                    break;

                default:
                    break;
                }
                break;

            case 294:
                switch (OIDnow)
                {
                case 2:
                    // 改品項的時候要先記錄改之前的品項到ShopTemp,之後才知道要改哪一筆
                    ShopTemp shopTemp = new ShopTemp(UserID);
                    shopTemp.ShopItem = data;
                    shopTemp.UpdateItemToShopTemp();
                    break;

                case 6:
                    // 清空
                    shopTemp = new ShopTemp(UserID);
                    shopTemp.InitializeShopTempByUserID();
                    shopTemp.DeleteShopItemTempByUserID();
                    userStatus.InitializeUserStatusByUserID();
                    break;

                default:
                    break;
                }
                break;

            default:
                break;
            }

            return(questionDetailList[0].AnswerOption);
        }
Exemplo n.º 27
0
        internal static ConfirmTemplate MakeContinueConfirmBtn(string message, int QIDnow, int OIDnow)
        {
            var            actions            = new List <isRock.LineBot.TemplateActionBase>();
            NextHelper     nextHelper         = new NextHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailNext = nextHelper.GetNext();

            CancelHelper   cancelHelper         = new CancelHelper(QIDnow, OIDnow);
            QuestionDetail questionDetailCancel = cancelHelper.GetCancel();

            string confirmText = "";

            confirmText = GetConfirmText(QIDnow, OIDnow, "");

            if (confirmText == "")
            {
                confirmText = message;
            }
            switch (QIDnow)
            {
            case 121:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續修改", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束修改", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 194:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續修改", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束修改", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 211:
                switch (OIDnow)
                {
                case 3:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續選擇", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束選擇", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 251:
                switch (OIDnow)
                {
                case 3:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續選擇", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束選擇", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 294:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續修改", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束修改", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            case 9999:
                switch (OIDnow)
                {
                case 5:
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "繼續訂購", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                    });
                    actions.Add(new isRock.LineBot.PostbackAction()
                    {
                        label = "結束訂購", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                    });
                    break;

                default:
                    break;
                }
                break;

            default:
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "繼續輸入", data = $"{DateTime.Now},{questionDetailNext.QID},{questionDetailNext.OID},"
                });
                actions.Add(new isRock.LineBot.PostbackAction()
                {
                    label = "結束輸入", data = $"{DateTime.Now},{questionDetailCancel.QID},{questionDetailCancel.OID},"
                });
                break;
            }


            var ConfirmTemplateMsg = new isRock.LineBot.ConfirmTemplate()
            {
                altText = "替代文字(在無法顯示Confirm Template的時候顯示)",
                text    = confirmText,
                actions = actions //設定回覆動作
            };

            return(ConfirmTemplateMsg);
        }
Exemplo n.º 28
0
        internal static string MakeShopItem(string UserID, int QID, int OID, string shopID)
        {
            List <ShopInfo> shopInfos = new List <ShopInfo>();
            List <ShopItem> shopItems = new List <ShopItem>();;
            ShopInfo        shopInfo  = new ShopInfo();
            ShopItem        shopItem;

            shopInfo.ShopID = shopID;
            switch (QID)
            {
            case 201:
                shopInfos = shopInfo.MyShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByMyShopID();
                break;

            case 202:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 211:
                shopInfos = shopInfo.MyShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByMyShopID();
                break;

            case 212:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 231:
                shopInfos = shopInfo.MyShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByMyShopID();
                break;

            case 232:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 241:
                shopInfos = shopInfo.ClubShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByClubShopID();
                break;

            case 242:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 251:
                shopInfos = shopInfo.ClubShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByClubShopID();
                break;

            case 252:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            case 261:
                shopInfos = shopInfo.ClubShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByClubShopID();
                break;

            case 262:
                shopInfos = shopInfo.BossShopSelectShopNameByShopid();
                shopItem  = new ShopItem(shopID);
                shopItems = shopItem.SelectByBossShopID();
                break;

            default:
                break;
            }



            FlexBublbe flexBublbe = new FlexBublbe();

            flexBublbe.contents.contents[0].body.contents[1].text = shopInfos[0].ShopName;


            flexBublbe.contents.contents[0].body.contents[3].contents = new List <FlexBublbe.Content>();
            FlexBublbe.Content content = new FlexBublbe.Content();



            foreach (ShopItem shopItemm in shopItems)
            {
                content        = new FlexBublbe.Content();
                content.type   = "box";
                content.layout = "horizontal";
                //flexBublbe.contents.contents[0].body.contents[3].contents.Add(content);
                ShopItemText shopItemText = new ShopItemText();
                shopItemText.type  = "text";
                shopItemText.text  = shopItemm.shopItem;
                shopItemText.size  = "md";
                shopItemText.color = "#111111";
                content.contents.Add(shopItemText);
                shopItemText       = new ShopItemText();
                shopItemText.type  = "text";
                shopItemText.text  = shopItemm.ShopItemPrice.ToString("0.##") + "  TWD";
                shopItemText.size  = "md";
                shopItemText.color = "#111111";
                shopItemText.align = "end";
                content.contents.Add(shopItemText);
                flexBublbe.contents.contents[0].body.contents[3].contents.Add(content);
            }

            flexBublbe.contents.contents[0].body.contents.Add(new PartitionLine());

            //底下Btn
            FooterBtn      footerBtn      = new FooterBtn();
            NextHelper     nextHelper     = new NextHelper(QID, OID);
            QuestionDetail questionDetail = nextHelper.GetNext();

            footerBtn.contents[0].action.data = $"{DateTime.Now},{questionDetail.QID},{questionDetail.OID},{shopID}";
            PreviousHelper previousHelper = new PreviousHelper(QID, OID);

            questionDetail = previousHelper.GetPrevious();
            footerBtn.contents[1].action.data = $"{DateTime.Now},{questionDetail.QID},{questionDetail.OID},{shopID}";
            flexBublbe.contents.contents[0].body.contents.Add(footerBtn);



            JsonSerializerSettings settings = new JsonSerializerSettings();

            settings.NullValueHandling = NullValueHandling.Ignore;
            var json = JsonConvert.SerializeObject(flexBublbe, settings);

            //  string json = JsonConvert.SerializeObject(flexBublbe);

            return("[" + json + "]");
        }
Exemplo n.º 29
0
        internal QuestionDetail GetNext()
        {
            QuestionDetail questionDetail;

            switch (QID)
            {
            case 1:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(2, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(7, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(9, 0));

                case 4:
                    return(questionDetail = new QuestionDetail(11, 0));

                default:
                    break;
                }
                break;

            case 2:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(3, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(22, 1));

                default:
                    break;
                }
                break;

            case 3:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(4, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(32, 1));

                case 3:
                    break;

                default:
                    break;
                }
                break;

            case 4:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(41, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(42, 1));

                default:
                    break;
                }
                break;

            case 5:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(51, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(52, 1));

                case 3:
                    return(questionDetail = new QuestionDetail(53, 1));

                default:
                    break;
                }
                break;

            case 6:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(61, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(23, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(63, 1));

                default:
                    break;
                }
                break;

            case 7:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(71, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(72, 1));

                case 3:
                    return(questionDetail = new QuestionDetail(73, 1));

                default:
                    break;
                }
                break;

            case 8:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(81, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(82, 1));

                default:
                    break;
                }
                break;

            case 9:     // 社團模式>選擇社團動作
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(91, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(92, 1));

                case 3:
                    return(questionDetail = new QuestionDetail(93, 1));

                default:
                    break;
                }
                break;

            case 10:     // 社團模式>查詢社團>查詢社團動作
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(101, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(102, 1));

                default:
                    break;
                }
                break;

            case 11:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(17, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(112, 1));

                default:
                    break;
                }
                break;

            case 12:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(121, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(122, 1));

                default:
                    break;
                }
                break;

            case 13:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(14, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(132, 1));

                default:
                    break;
                }
                break;

            case 14:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(141, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(142, 1));

                default:
                    break;
                }
                break;

            case 15:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(151, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(152, 1));

                case 3:
                    return(questionDetail = new QuestionDetail(153, 1));

                default:
                    break;
                }
                break;

            case 16:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(161, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(26, 0));

                case 3:
                    return(questionDetail = new QuestionDetail(163, 1));

                default:
                    break;
                }
                break;

            case 17:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(171, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(172, 1));

                default:
                    break;
                }
                break;

            case 18:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(19, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(182, 1));

                default:
                    break;
                }
                break;

            case 19:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(191, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(192, 1));

                case 3:
                    return(questionDetail = new QuestionDetail(193, 1));

                case 4:
                    return(questionDetail = new QuestionDetail(194, 1));

                default:
                    break;
                }
                break;

            case 20:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(201, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(202, 1));

                default:
                    break;
                }
                break;

            case 21:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(211, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(212, 1));

                default:
                    break;
                }
                break;

            case 22:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(13, 0));

                default:
                    break;
                }
                break;

            case 23:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(231, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(232, 1));

                default:
                    break;
                }
                break;

            case 24:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(241, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(242, 1));

                default:
                    break;
                }
                break;

            case 25:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(251, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(252, 1));

                default:
                    break;
                }
                break;

            case 26:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(261, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(262, 1));

                default:
                    break;
                }
                break;

            case 27:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(271, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(272, 1));

                default:
                    break;
                }
                break;

            case 28:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(29, 0));

                case 2:
                    return(questionDetail = new QuestionDetail(282, 1));

                default:
                    break;
                }
                break;

            case 29:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(291, 1));

                case 2:
                    return(questionDetail = new QuestionDetail(292, 1));

                case 3:
                    return(questionDetail = new QuestionDetail(293, 1));

                case 4:
                    return(questionDetail = new QuestionDetail(294, 1));

                default:
                    break;
                }
                break;

            case 32:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(5, 0));

                default:
                    break;
                }
                break;

            case 41:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(20, 0));

                default:
                    break;
                }
                break;

            case 42:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(42, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(42, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(21, 0));

                default:
                    break;
                }
                break;

            case 51:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(6, 0));

                default:
                    break;
                }
                break;

            case 52:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(52, 2));

                default:
                    break;
                }
                break;

            case 61:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(61, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(61, 3));

                default:
                    break;
                }
                break;

            case 71:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(71, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(71, 3));

                default:
                    break;
                }
                break;

            case 72:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(72, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(8, 0));

                default:
                    break;
                }
                break;

            case 81:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(12, 0));

                default:
                    break;
                }
                break;

            case 82:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(82, 2));

                default:
                    break;
                }
                break;

            case 91:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(91, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(91, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(0, 0));

                default:
                    break;
                }
                break;

            case 92:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(92, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(92, 3));

                default:
                    break;
                }
                break;

            case 93:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(10, 0));

                default:
                    break;
                }
                break;

            case 102:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(102, 2));

                default:
                    break;
                }
                break;

            case 112:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(27, 0));

                default:
                    break;
                }
                break;

            case 121:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(121, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(121, 3));

                case 21:
                    return(questionDetail = new QuestionDetail(121, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(121, 4));

                case 31:
                    return(questionDetail = new QuestionDetail(121, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(121, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(81, 1));

                default:
                    break;
                }
                break;

            case 122:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(122, 2));

                default:
                    break;
                }
                break;

            case 132:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(15, 0));

                default:
                    break;
                }
                break;

            case 141:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(24, 0));

                default:
                    break;
                }
                break;

            case 142:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(142, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(142, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(25, 0));

                default:
                    break;
                }
                break;

            case 151:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(16, 0));

                default:
                    break;
                }
                break;

            case 152:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(152, 2));

                default:
                    break;
                }
                break;

            case 153:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(153, 2));

                default:
                    break;
                }
                break;

            case 161:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(161, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(161, 3));

                default:
                    break;
                }
                break;

            case 171:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(171, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(171, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(171, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(171, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(171, 6));

                case 6:
                    return(questionDetail = new QuestionDetail(171, 4));

                case 7:
                    return(questionDetail = new QuestionDetail(171, 8));

                default:
                    break;
                }
                break;

            case 172:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(18, 0));

                default:
                    break;
                }
                break;

            case 182:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(182, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(182, 3));

                default:
                    break;
                }
                break;

            case 191:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(191, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(191, 3));

                default:
                    break;
                }
                break;

            case 192:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(192, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(192, 3));

                default:
                    break;
                }
                break;

            case 193:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(193, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(193, 3));

                default:
                    break;
                }
                break;

            case 194:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(194, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(194, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(194, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(194, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(194, 1));

                default:
                    break;
                }
                break;

            case 201:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(201, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(201, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(201, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(201, 5));

                default:
                    break;
                }
                break;

            case 202:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(202, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(201, 3));

                default:
                    break;
                }
                break;

            case 211:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(211, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(211, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(21, 99));

                case 4:
                    return(questionDetail = new QuestionDetail(211, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(211, 6));

                default:
                    break;
                }
                break;

            case 212:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(212, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(211, 3));

                default:
                    break;
                }
                break;

            case 231:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(231, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(231, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(231, 4));

                default:
                    break;
                }
                break;

            case 232:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(232, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(231, 3));

                default:
                    break;
                }
                break;

            case 241:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(241, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(241, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(241, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(241, 5));

                default:
                    break;
                }
                break;

            case 242:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(242, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(241, 3));

                default:
                    break;
                }
                break;

            case 251:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(251, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(251, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(25, 99));

                case 4:
                    return(questionDetail = new QuestionDetail(251, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(251, 6));

                default:
                    break;
                }
                break;

            case 252:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(252, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(251, 3));

                default:
                    break;
                }
                break;

            case 261:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(261, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(261, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(261, 4));

                default:
                    break;
                }
                break;

            case 262:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(262, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(261, 3));

                default:
                    break;
                }
                break;

            case 271:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(271, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(271, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(271, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(271, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(271, 6));

                case 6:
                    return(questionDetail = new QuestionDetail(271, 4));

                case 7:
                    return(questionDetail = new QuestionDetail(271, 8));

                default:
                    break;
                }
                break;

            case 272:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(28, 0));

                default:
                    break;
                }
                break;

            case 282:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(282, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(282, 3));

                default:
                    break;
                }
                break;

            case 291:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(291, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(291, 3));

                default:
                    break;
                }
                break;

            case 292:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(292, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(292, 3));

                default:
                    break;
                }
                break;

            case 293:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(293, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(293, 3));

                default:
                    break;
                }
                break;

            case 294:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(294, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(294, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(294, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(294, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(294, 1));

                default:
                    break;
                }
                break;

            case 9999:
                switch (OID)
                {
                case 1:
                    return(questionDetail = new QuestionDetail(9999, 2));

                case 2:
                    return(questionDetail = new QuestionDetail(9999, 3));

                case 21:
                    return(questionDetail = new QuestionDetail(9999, 3));

                case 3:
                    return(questionDetail = new QuestionDetail(9999, 4));

                case 31:
                    return(questionDetail = new QuestionDetail(9999, 4));

                case 4:
                    return(questionDetail = new QuestionDetail(9999, 5));

                case 5:
                    return(questionDetail = new QuestionDetail(9999, 1));

                default:
                    break;
                }
                break;

            default:
                break;
            }
            return(questionDetail = new QuestionDetail(0, 0));
        }