public List <DC_NursingPlanEval> GetHisNursingPlanByDate(long feeNo, string starDate, string endDate)
        {
            List <DC_NursingPlanEval> result = new List <DC_NursingPlanEval>();
            var PlanList = unitOfWork.GetRepository <DC_NURSEINGPLANEVAL>().dbSet.Where(x => x.FEENO == feeNo);

            if (!string.IsNullOrEmpty(starDate))
            {
                DateTime beginDate = DateTime.Parse(starDate);
                PlanList = PlanList.Where(x => x.EVALDATE >= beginDate);
            }
            if (!string.IsNullOrEmpty(endDate))
            {
                DateTime finishDate = DateTime.Parse(starDate);
                PlanList = PlanList.Where(x => x.EVALDATE <= finishDate);
            }

            List <DC_NURSEINGPLANEVAL> list = PlanList.ToList();

            foreach (DC_NURSEINGPLANEVAL plan in list)
            {
                DC_NursingPlanEval nursingPlan = new DC_NursingPlanEval();
                Mapper.CreateMap <DC_NURSEINGPLANEVAL, DC_NursingPlanEval>();
                Mapper.Map(plan, nursingPlan);

                List <DC_EvalQuetionModel> questionModel = new List <DC_EvalQuetionModel>();
                List <DC_EVALQUESTION>     question      = new List <DC_EVALQUESTION>();
                question.AddRange(plan.DC_EVALQUESTION);
                Mapper.CreateMap <DC_EVALQUESTION, DC_EvalQuetionModel>();
                Mapper.Map(question, questionModel);

                List <DC_RegCplModel> regCplModel = new List <DC_RegCplModel>();
                List <DC_REGCPL>      regCpl      = new List <DC_REGCPL>();
                regCpl.AddRange(plan.DC_REGCPL);

                regCpl.ForEach(x =>
                {
                    DC_RegCplModel cpl = new DC_RegCplModel();
                    List <KMHC.SLTC.Business.Entity.DC.Model.NSCPLACTIVITY> activityModel = new List <Entity.DC.Model.NSCPLACTIVITY>();
                    List <DC_NSCPLACTIVITY> activity = new List <DC_NSCPLACTIVITY>();
                    activity.AddRange(x.DC_NSCPLACTIVITY);
                    Mapper.CreateMap <DC_REGCPL, DC_RegCplModel>();
                    Mapper.Map(x, cpl);
                    Mapper.CreateMap <DC_NSCPLACTIVITY, NSCPLACTIVITY>();
                    Mapper.Map(activity, activityModel);
                    cpl.NsCplActivity = activityModel;
                    regCplModel.Add(cpl);
                });
                nursingPlan.evalQuetion = questionModel;
                nursingPlan.regCpl      = regCplModel;

                result.Add(nursingPlan);
            }
            return(result);
        }
        public DC_NursingPlanEval GetNursingPlan(long feeNo)
        {
            DC_NursingPlanEval nursingPlan = new DC_NursingPlanEval();
            var maxEvalPlan = unitOfWork.GetRepository <DC_NURSEINGPLANEVAL>().dbSet.Where(x => x.FEENO == feeNo).OrderByDescending(x => x.EVALNUMBER).FirstOrDefault();

            if (maxEvalPlan != null)
            {
                Mapper.CreateMap <DC_NURSEINGPLANEVAL, DC_NursingPlanEval>();
                Mapper.Map(maxEvalPlan, nursingPlan);

                List <DC_EvalQuetionModel> questionModel = new List <DC_EvalQuetionModel>();
                List <DC_EVALQUESTION>     question      = new List <DC_EVALQUESTION>();
                question.AddRange(maxEvalPlan.DC_EVALQUESTION);
                Mapper.CreateMap <DC_EVALQUESTION, DC_EvalQuetionModel>();
                Mapper.Map(question, questionModel);

                List <DC_RegCplModel> regCplModel = new List <DC_RegCplModel>();
                List <DC_REGCPL>      regCpl      = new List <DC_REGCPL>();
                regCpl.AddRange(maxEvalPlan.DC_REGCPL);

                regCpl.ForEach(x =>
                {
                    DC_RegCplModel cpl = new DC_RegCplModel();
                    List <KMHC.SLTC.Business.Entity.DC.Model.NSCPLACTIVITY> activityModel = new List <Entity.DC.Model.NSCPLACTIVITY>();
                    List <DC_NSCPLACTIVITY> activity = new List <DC_NSCPLACTIVITY>();
                    activity.AddRange(x.DC_NSCPLACTIVITY);
                    Mapper.CreateMap <DC_REGCPL, DC_RegCplModel>();
                    Mapper.Map(x, cpl);
                    Mapper.CreateMap <DC_NSCPLACTIVITY, NSCPLACTIVITY>();
                    Mapper.Map(activity, activityModel);
                    cpl.NsCplActivity = activityModel;
                    regCplModel.Add(cpl);
                });

                nursingPlan.evalQuetion = questionModel;
                nursingPlan.regCpl      = regCplModel;
            }
            return(nursingPlan);
        }