Beispiel #1
0
        protected void InsertOrUpdate(QuestionManageView objModal, string id)
        {
            if (string.IsNullOrEmpty(id) || id == "0")
            {
                _objService.InsertView(objModal);
            }
            else
            {
                int Id       = int.Parse(id);
                var question = _objService.Repository.Entities.Where(x => x.Id == Id).AsNoTracking().FirstOrDefault();
                //能进来就代表是追加提问
                objModal.Status = question != null && question.Status.Equals("未回答") ? "未回答" : "追加提问";
                //更新主表问题状态
                var lst = new List <string>()
                {
                    "Status"
                };
                _BaseService.UpdateView(objModal, lst);

                //往子表插入数据
                var questionSubView = new QuestionSubView()
                {
                    Type        = "Q",
                    QuestionId  = Id,
                    Content     = objModal.Question,
                    UserName    = objModal.QUserName,
                    ImageIdList = objModal.ImageIdList
                };
                _objQuetisonSubService.InsertView(questionSubView);
            }
        }
        public override int InsertView <T>(T objModalSrc)
        {
            int iRet;
            var objView  = objModalSrc as QuestionManageView;
            var question = objView.MapTo <QuestionManage>();

            if (objView == null)
            {
                return(-1);
            }
            question.ReadCount = 0;
            iRet       = Repository.Insert(question);
            objView.Id = question.Id;

            //冗余主表记录到子表里
            var questionSubView = new QuestionSubView()
            {
                Type        = "Q",
                QuestionId  = objView.Id,
                Content     = objView.Question,
                UserName    = objView.QUserName,
                ImageIdList = objView.ImageIdList
            };

            _objQuetisonSubService.InsertView(questionSubView);
            return(iRet);
        }
        public override int UpdateView <T>(T objModalSrc)
        {
            int iRet;
            var objModal = objModalSrc as QuestionManageView;

            if (objModal == null)
            {
                return(-1);
            }
            int Id       = objModal.Id;
            var question = Repository.Entities.Where(x => x.Id == Id).AsNoTracking().FirstOrDefault();

            //是否更新主表(只有未回答或者未开单的时候才更新回答者和回答日期,否则只更新状态)
            if (question != null && question.Status.IndexOf("未") > -1)
            {
                objModal.AnswerDate = DateTime.Now;

                var lst = new List <string>()
                {
                    "Status", "AnswerDate", "AUsername", "Answer"
                };
                base.UpdateView(objModal, lst);
            }
            else
            {
                if (question.Status.IndexOf("已开单") > -1)
                {
                    var lst = new List <string>()
                    {
                        "Status", "Answer"
                    };
                    base.UpdateView(objModal, lst);
                }
                else
                {
                    var lst = new List <string>()
                    {
                        "Status"
                    };
                    base.UpdateView(objModal, lst);
                }
            }

            //冗余主表记录到子表里
            var questionSubView = new QuestionSubView()
            {
                Type       = "A",
                QuestionId = objModal.Id,
                Content    = objModal.Answer,
                UserName   = objModal.AUsername
            };

            if (questionSubView == null)
            {
                return(-1);
            }
            iRet = _objQuetisonSubService.InsertView(questionSubView);
            return(iRet);
        }