private void RendSurveryView(string Id)
        {
            IList <QuestionItem> qcEnts = QuestionItem.FindAllByProperties(0, QuestionItem.Prop_SortIndex, QuestionItem.Prop_SurveyId, Id);

            if (qcEnts.Count > 0)
            {
                StringBuilder Stb = new StringBuilder();
                for (int i = 0; i < qcEnts.Count; i++)
                {
                    StringBuilder SubStb = new StringBuilder();
                    IList <QuestionAnswerItem> qiEnts = QuestionAnswerItem.FindAllByProperties(0, QuestionAnswerItem.Prop_SortIndex, QuestionAnswerItem.Prop_QuestionItemId, qcEnts[i].SubItemId);
                    for (int k = 0; k < qiEnts.Count; k++)
                    {
                        if (k > 0)
                        {
                            SubStb.Append(",");
                        }
                        SubStb.Append(JsonHelper.GetJsonString(qiEnts[k]));
                    }
                    qcEnts[i].SubItems = "[" + SubStb.ToString() + "]";
                    if (i > 0)
                    {
                        Stb.Append(",");
                    }
                    Stb.Append(JsonHelper.GetJsonString(qcEnts[i]));
                }
                this.PageState.Add("ItemList", "[" + Stb.ToString() + "]");
            }

            string sql = @"select * from FL_Culture..SurveyQuestion where Id='{0}' ";

            this.PageState.Add("Survey", DataHelper.QueryDictList(string.Format(sql, Id)));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 问卷视图呈现
        /// </summary>
        /// <param name="Id"></param>
        private void RendSurveryView(string Id)
        {
            IList <QuestionItem> Ents = QuestionItem.FindAllByProperties(0, QuestionItem.Prop_SortIndex, QuestionItem.Prop_SurveyId, Id);

            if (Ents.Count > 0)
            {
                StringBuilder Stb = new StringBuilder();
                for (int i = 0; i < Ents.Count; i++)
                {
                    StringBuilder SubStb = new StringBuilder();
                    IList <QuestionAnswerItem> qiEnts = QuestionAnswerItem.FindAllByProperties(0, QuestionAnswerItem.Prop_SortIndex, QuestionAnswerItem.Prop_SurveyId, Ents[i].SurveyId, QuestionAnswerItem.Prop_QuestionItemId, Ents[i].SubItemId);    //SubItemId
                    //IList<QuestionAnswerItem> qiEnts = QuestionAnswerItem.FindAllByProperties(0, QuestionAnswerItem.Prop_SortIndex, QuestionAnswerItem.Prop_QuestionItemId, Ents[i].SubItemId);    //SubItemId
                    for (int k = 0; k < qiEnts.Count; k++)
                    {
                        if (k > 0)
                        {
                            SubStb.Append(",");
                        }
                        SubStb.Append(JsonHelper.GetJsonString(qiEnts[k]));
                    }
                    Ents[i].SubItems = "[" + SubStb.ToString() + "]";
                    if (i > 0)
                    {
                        Stb.Append(",");
                    }
                    Stb.Append(JsonHelper.GetJsonString(Ents[i]));
                }
                this.PageState.Add("ItemList", "[" + Stb.ToString() + "]");
            }

            if (SqEnt != null)
            {
                this.PageState.Add("Survey", SqEnt);
            }
        }
 public ResponseMessageWrap <int> Update([FromBody] QuestionAnswerItem questionAnswerItem)
 {
     return(new ResponseMessageWrap <int>
     {
         Body = QuestionAnswerItemService.Update(questionAnswerItem)
     });
 }
Exemplo n.º 4
0
        private void DoSelect()
        {
            if (!string.IsNullOrEmpty(SurveyId))
            {
                var Ent = SurveyQuestion.Find(SurveyId);
                if (string.IsNullOrEmpty(Ent.TemplateId))
                {
                    string sql = @"select * from  FL_Culture..QuestionItem where SurveyId='{0}' order by SortIndex ";
                    sql = string.Format(sql, SurveyId);
                    this.PageState.Add("DataList", DataHelper.QueryDictList(sql));
                }
                else
                {
                    //判断是否合并过
                    string SQL = "select * from FL_Culture..QuestionItem where SurveyId='{0}' ";
                    SQL = string.Format(SQL, SurveyId);
                    var Ents = DataHelper.QueryDictList(SQL);
                    if (Ents.Count > 0)
                    {
                        string sql = @"select * from  FL_Culture..QuestionItem where SurveyId='{0}' order by SortIndex ";
                        sql = string.Format(sql, SurveyId);
                        this.PageState.Add("DataList", DataHelper.QueryDictList(sql));
                        //SearchCriterion.SetOrder("SortIndex");
                        //IList<QuestionItem> Items = QuestionItem.FindAll(SearchCriterion, Expression.Sql(" SurveyId='" + SurveyId + "'"));
                        //this.PageState.Add("DataList", Items);
                        return;
                    }

                    //合并模板
                    var TemplateId  = Ent.TemplateId;
                    var ItemEnts    = QuestionItem.FindAllByProperties(QuestionItem.Prop_SurveyId, TemplateId);
                    var SubItemEnts = QuestionAnswerItem.FindAllByProperties(QuestionAnswerItem.Prop_SurveyId, TemplateId);

                    foreach (var ent in ItemEnts)
                    {
                        QuestionItem Item = new QuestionItem();
                        Item          = ent;
                        Item.SurveyId = SurveyId;
                        Item.DoCreate();
                    }
                    foreach (var subEnt in SubItemEnts)
                    {
                        QuestionAnswerItem subItem = new QuestionAnswerItem();
                        subItem          = subEnt;
                        subItem.SurveyId = SurveyId;
                        subItem.DoCreate();
                    }

                    SearchCriterion.SetOrder("SortIndex");
                    IList <QuestionItem> items = QuestionItem.FindAll(SearchCriterion, Expression.Sql(" SurveyId='" + SurveyId + "'"));
                    this.PageState.Add("DataList", items);
                }
            }
        }
Exemplo n.º 5
0
        //导入模板
        private void ImpTpl()
        {
            if (!string.IsNullOrEmpty(id))
            {
                string         TemplateId  = RequestData.Get("TemplateId") + "";
                SurveyQuestion TemplateEnt = SurveyQuestion.TryFind(TemplateId); //问卷模板
                SurveyQuestion Ent         = SurveyQuestion.Find(id);

                if (string.IsNullOrEmpty(Ent.Description) && TemplateEnt != null) //描述
                {
                    Ent.Description = TemplateEnt.Description;
                }
                Ent.TemplateId = TemplateId;
                Ent.DoUpdate();

                string SurveyId  = id;
                int    SortIndex = 1;

                string sql = "select count(1) T from FL_Culture..QuestionItem  where SurveyId='{0}' ";
                sql = string.Format(sql, SurveyId);
                object obj = DataHelper.QueryValue(sql);
                if (obj != null)
                {
                    SortIndex += int.Parse(obj.ToString());
                }

                //合并模板
                var ItemEnts = QuestionItem.FindAllByProperties(0, QuestionItem.Prop_SortIndex, QuestionItem.Prop_SurveyId, TemplateId);

                var SubItemEnts = QuestionAnswerItem.FindAllByProperties(QuestionAnswerItem.Prop_SurveyId, TemplateId);

                foreach (var ents in ItemEnts)
                {
                    QuestionItem Item = new QuestionItem();
                    Item           = ents;
                    Item.SurveyId  = SurveyId;
                    Item.SortIndex = SortIndex;
                    Item.Ext2      = "imp"; //导入标志 imp
                    Item.DoCreate();
                    SortIndex++;
                }
                foreach (var subEnt in SubItemEnts)
                {
                    QuestionAnswerItem subItem = new QuestionAnswerItem();
                    subItem          = subEnt;
                    subItem.SurveyId = SurveyId;
                    subItem.Ext1     = "imp";
                    subItem.DoCreate();
                }

                IList <QuestionItem> items = QuestionItem.FindAll(Expression.Sql(" SurveyId='" + SurveyId + "' order by SortIndex  "));
                this.PageState.Add("QItem", items);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// 转存为模板
        /// </summary>
        private void TurnTempLate()
        {
            string Id = RequestData.Get <string>("SurveyId");

            if (!string.IsNullOrEmpty(Id))
            {
                //先删除
                var tplEnt = SurveyQuestion.FindFirstByProperties(SurveyQuestion.Prop_TurnSurveyId, Id, SurveyQuestion.Prop_IsFixed, "1");
                if (tplEnt != null)
                {
                    string SQL = "delete from FL_Culture..QuestionItem where SurveyId='{0}' ";
                    SQL += " delete from FL_Culture..QuestionAnswerItem where SurveyId='{0}' ";
                    SQL  = string.Format(SQL, tplEnt.Id);
                    DataHelper.ExecSql(SQL);
                    tplEnt.DoDelete();
                }

                SurveyQuestion Ent = SurveyQuestion.Find(Id);
                if (Ent != null)
                {
                    SurveyQuestion TplEnt = new SurveyQuestion();
                    TplEnt.IsFixed      = "1"; //1 模板标志位
                    TplEnt.State        = "1"; //表示启用
                    TplEnt.SurveyTitile = Ent.SurveyTitile;
                    TplEnt.Description  = Ent.Description;
                    TplEnt.TurnSurveyId = Id;
                    TplEnt.CompanyId    = Ent.CompanyId; //公司ID
                    TplEnt.CompanyName  = Ent.CompanyName;
                    TplEnt.DoCreate();

                    var tplItems    = QuestionItem.FindAllByProperties(QuestionItem.Prop_SurveyId, Id);
                    var tplSubItems = QuestionAnswerItem.FindAllByProperties(QuestionAnswerItem.Prop_SurveyId, Id);
                    foreach (var Item in tplItems)
                    {
                        QuestionItem tmpItem = new QuestionItem();
                        tmpItem          = Item;
                        tmpItem.SurveyId = TplEnt.Id;
                        tmpItem.DoCreate();
                    }
                    foreach (var SubItem in tplSubItems)
                    {
                        QuestionAnswerItem tempSubEnt = new QuestionAnswerItem();
                        tempSubEnt          = SubItem;
                        tempSubEnt.SurveyId = TplEnt.Id;
                        tempSubEnt.DoCreate();
                    }
                }
            }
        }
        private void DoSave()
        {
            if (!string.IsNullOrEmpty(QuestionItemId))
            {
                var QuestionContent = RequestData.Get("QuestionContent") + "";
                var QuestionType    = RequestData.Get("QuestionType") + "";
                var IsMustAnswer    = RequestData.Get("IsMustAnswer") + "";
                var IsShowScore     = RequestData.Get("IsShowScore") + "";
                var IsComment       = RequestData.Get("IsComment") + "";
                var SortIndex       = RequestData.Get("SortIndex") + "";
                if (String.IsNullOrEmpty(SortIndex))
                {
                    SortIndex = "0";
                }

                //更新
                string[]     ImgArr  = (RequestData.Get("imgItems") + "").Split(',');
                QuestionItem Ent     = QuestionItem.FindAllByProperties(QuestionItem.Prop_SurveyId, SurveyId, QuestionItem.Prop_SubItemId, QuestionItemId).FirstOrDefault();
                string[]     tempArr = SetImgItem(ImgArr, QuestionItemId);
                Ent.ImgIds = tempArr[0];
                Ent.Ext1   = tempArr[1];

                //Ent.Content = HttpUtility.UrlDecode(QuestionContent);
                //Ent.QuestionType = HttpUtility.UrlDecode(QuestionType);
                //Ent.IsMustAnswer = HttpUtility.UrlDecode(IsMustAnswer);
                //Ent.IsShowScore = HttpUtility.UrlDecode(IsShowScore);
                //Ent.IsComment = HttpUtility.UrlDecode(IsComment);
                //Ent.SortIndex = int.Parse(SortIndex);

                Ent.SurveyId = SurveyId;
                Ent.DoUpdate();

                IList <QuestionAnswerItem> qiEnts = QuestionAnswerItem.FindAllByProperties(QuestionAnswerItem.Prop_QuestionItemId, QuestionItemId, QuestionAnswerItem.Prop_SurveyId, SurveyId);
                foreach (QuestionAnswerItem items in qiEnts)
                {
                    items.DoDelete();
                }

                IList <string> DataList = RequestData.GetList <string>("data");
                if (DataList.Count > 0)
                {
                    qiEnts = DataList.Select(tent => JsonHelper.GetObject <QuestionAnswerItem>(tent) as QuestionAnswerItem).ToArray();
                    foreach (QuestionAnswerItem itms in qiEnts)
                    {
                        itms.DoCreate();
                    }
                }
            }
        }
        private void DoBatchDelete()
        {
            IList <object> idList = RequestData.GetList <object>("IdList");

            if (idList != null && idList.Count > 0)
            {
                // SurveyQuestion.DoBatchDelete(idList.ToArray());
                for (var v = 0; v < idList.Count; v++)
                {
                    // 人员 问卷
                    QuestionItem[]       Qent = QuestionItem.FindAllByProperties(QuestionItem.Prop_SurveyId, idList[v].ToString());
                    QuestionAnswerItem[] Aent = QuestionAnswerItem.FindAllByProperties(QuestionAnswerItem.Prop_SurveyId, idList[v].ToString());

                    SurveyFinallyUsr[]   FuEnt = SurveyFinallyUsr.FindAllByProperties(SurveyFinallyUsr.Prop_SurveyId, idList[v].ToString());
                    SurveyCanReaderUsr[] Ruent = SurveyCanReaderUsr.FindAllByProperties(SurveyCanReaderUsr.Prop_SurveyId, idList[v].ToString());

                    SurveyedObj[]     SoEnt = SurveyedObj.FindAllByProperties(SurveyedObj.Prop_SurveyId, idList[v].ToString());
                    SurveyReaderObj[] RoEnt = SurveyReaderObj.FindAllByProperties(SurveyReaderObj.Prop_SurveyId, idList[v].ToString());

                    foreach (var ent in Qent)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in Aent)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in FuEnt)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in Ruent)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in SoEnt)
                    {
                        ent.DoDelete();
                    }
                    foreach (var ent in RoEnt)
                    {
                        ent.DoDelete();
                    }
                }
                SurveyQuestion.DoBatchDelete(idList.ToArray());
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// 复制题目选择项
        /// </summary>
        private void CopyItems()
        {
            string LastItem = RequestData.Get("LastItem") + "";

            if (!string.IsNullOrEmpty(LastItem))
            {
                string gid = Guid.NewGuid().ToString();

                var LastEnt = QuestionItem.FindFirstByProperties(QuestionItem.Prop_SubItemId, LastItem);
                var Ents    = QuestionAnswerItem.FindAllByProperty("QuestionItemId", LastItem);
                foreach (var v in Ents)
                {
                    QuestionAnswerItem item = new QuestionAnswerItem();
                    item.Answer         = v.Answer;
                    item.IsExplanation  = v.IsExplanation;
                    item.IsShowScore    = v.IsShowScore;
                    item.QuestionItemId = gid;    //*
                    item.SurveyId       = v.SurveyId;
                    item.SortIndex      = v.SortIndex;
                    item.Score          = v.Score;
                    item.DoCreate();
                }

                QuestionItem QiEnt = new QuestionItem();
                QiEnt           = LastEnt;
                QiEnt.SubItemId = gid;   //*
                QiEnt.Content   = string.Empty;
                QiEnt.SortIndex = LastEnt.SortIndex + 1;

                //QiEnt.IsComment = LastEnt.IsComment;
                //QiEnt.IsMustAnswer = LastEnt.IsMustAnswer;
                //QiEnt.IsShowScore = LastEnt.IsShowScore;
                //QiEnt.QuestionType = LastEnt.QuestionType;
                //QiEnt.SurveyId = LastEnt.SurveyId;
                //QiEnt.SubItems = LastEnt.SubItems;
                //QiEnt.Ext1 = LastEnt.Ext1;
                QiEnt.DoCreate();


                this.PageState.Add("SubItemId", gid + "|" + QiEnt.Id);
            }
            else
            {
                this.PageState.Add("SubItemId", "");
            }
        }
Exemplo n.º 10
0
        private void CommitSurvey()
        /*存储提交的调查问卷数据*/
        {
            string         CommitHistory = this.RequestData.Get <string>("CommitHistory");
            IList <string> list          = this.RequestData.GetList <string>("commitArr");

            if (list.Count > 0 && !string.IsNullOrEmpty(CommitHistory))
            {
                IList <SurveyedResult> ents  = list.Select(ten => JsonHelper.GetObject <SurveyedResult>(ten) as SurveyedResult).ToArray();
                SurveyCommitHistory    shEnt = JsonHelper.GetObject <SurveyCommitHistory>(CommitHistory);

                if (!string.IsNullOrEmpty(shEnt.SurveyedUserId))
                {
                    var UserEnt = SysUser.Find(shEnt.SurveyedUserId);
                    shEnt.WorkNo           = UserEnt.WorkNo;
                    shEnt.SurveyedUserName = UserEnt.Name;
                }

                try
                {
                    foreach (var v in ents)
                    {
                        v.DoCreate();
                    }
                }
                catch (Exception ex)
                {
                    string SQL = "delete from FL_Culture..SurveyedResult where SurveyId='{0}' and UserId='{1}' ";
                    SQL = string.Format(SQL, Id, uid);
                    DataHelper.ExecSql(SQL);
                }

                int    totalScore = -1;           //计算总分  -1 表示无分值项
                string SocreInfo  = string.Empty; // 分值总分

                var Ents = QuestionAnswerItem.FindAllByProperties(QuestionAnswerItem.Prop_SurveyId, shEnt.SurveyId);
                QuestionAnswerItem[] QArr = Ents.Where(ten => ten.Score.HasValue).ToArray();
                if (QArr.Length > 0)
                {
                    string sql = "select FL_Culture.dbo.f_SumSurveyScore('{0}','{1}') As TotalScore";
                    sql = string.Format(sql, shEnt.SurveyId, shEnt.SurveyedUserId);
                    object obj = DataHelper.QueryValue(sql);

                    int tryVal = 0;
                    if (int.TryParse(obj.ToString(), out tryVal))
                    {
                        tryVal = int.Parse(obj.ToString());
                    }
                    totalScore = tryVal;
                    SocreInfo  = GetScoreInfo(shEnt.SurveyId, shEnt.SurveyedUserId);
                }

                //添加积分项
                SurveyQuestion SQ = SurveyQuestion.Find(shEnt.SurveyId);
                if (SQ.Score.HasValue)
                {
                    SurveyScore Score = new SurveyScore();
                    Score.Score    = SQ.Score;
                    Score.Sign     = "s";
                    Score.UserID   = shEnt.SurveyedUserId;
                    Score.UserName = shEnt.SurveyedUserName;
                    Score.Detail   = SQ.SurveyTitile;
                    Score.Ext1     = SQ.Id;//SurveyId
                    Score.DoCreate();
                }

                shEnt.TotalScore = totalScore;
                shEnt.ScoreInfo  = SocreInfo;

                shEnt.DoCreate();
            }
        }
 public int Update(QuestionAnswerItem questionAnswerItem)
 {
     return(QuestionAnswerItemRepository.Update(questionAnswerItem));
 }
 public int Insert(QuestionAnswerItem questionAnswerItem)
 {
     return(QuestionAnswerItemRepository.Insert(questionAnswerItem));
 }