Ejemplo n.º 1
0
        public void UpdateStatus(QuestionManageView obj)
        {
            var objModal = obj as QuestionManageView;

            if (objModal == null)
            {
                return;
            }
            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
            {
                var lst = new List <string>()
                {
                    "Status"
                };
                base.UpdateView(objModal, lst);
            }
        }
        public void AddOrUpdateTestMethod()
        {
            ShimQuestionManageService.Constructor = d =>
            {
                d.Repository = new Repository <QuestionManage, int>(new MockContent());
            };

            ShimQuestionImagesService.Constructor = d =>
            {
                d.Repository = new Repository <QuestionImages, int>(new MockContent());
            };

            ShimQuestionImagesService.Constructor = d =>
            {
                d.Repository = new Repository <QuestionImages, int>(new MockContent());
            };

            var questionManageService = new ShimQuestionManageService(new QuestionManageService());

            QuestionManageView questionManage = new QuestionManageView();

            questionManage.Id          = 2;
            questionManage.AppId       = 16;
            questionManage.Question    = "来盘昆特牌吧";
            questionManage.Answer      = "村里还没有人能胜得了我";
            questionManage.Status      = "已回答";
            questionManage.ReadCount   = 120;
            questionManage.IsDeleted   = false;
            questionManage.ImageIdList = "24,25,26";

            int actual   = questionManageService.Instance.InsertView <QuestionManageView>(null);
            int expected = -1;

            Assert.AreEqual(expected, actual);

            actual   = questionManageService.Instance.UpdateView <QuestionManageView>(null);
            expected = -1;
            Assert.AreEqual(expected, actual);

            Mapper.CreateMap <QuestionManageView, QuestionManage>();

            // 目标方法由于有其他service进行Insert操作,测试中断
            //actual = questionManageService.Instance.InsertView<QuestionManageView>(questionManage);
            //expected = 1;

            //Assert.AreEqual(expected, actual);
        }
        private int AddOrUpdate <T>(T objModalSrc, bool bolAdd)
        {
            QuestionManageView objView = objModalSrc as QuestionManageView;

            if (objView == null)
            {
                return(-1);
            }
            int iRet;

            var Question = objView.MapTo <QuestionManage>();

            if (bolAdd)
            {
                Question.ReadCount = 0;
                iRet       = Repository.Insert(Question);
                objView.Id = Question.Id;
            }
            else
            {
                iRet = Repository.Update(Question);
            }
            BaseService <QuestionImages> ser = new BaseService <QuestionImages>("CAAdmin");

            if (!string.IsNullOrEmpty(objView.ImageIdList))
            {
                foreach (var imageid in objView.ImageIdList.Split(','))
                {
                    if (!string.IsNullOrEmpty(imageid))
                    {
                        QuestionImages qt = new QuestionImages();
                        qt.Id         = int.Parse(imageid);
                        qt.QuestionID = objView.Id;
                        ser.Repository.Update(qt, new List <string>()
                        {
                            "QuestionID"
                        });
                    }
                }
            }
            return(iRet);
        }