/// <summary>
        /// 递归查找子任务
        /// </summary>
        /// <param name="plan"></param>
        public void SetSubWork(PlanView plan)
        {
            var query = unitOfWork.DPlan.Get(p => p.ParentID == plan.uid && p.isdel == 0);

            if (query != null && query.Any())
            {
                foreach (var item in query)
                {
                    var planview = Plan2PlanView(item);
                    SetSubWork(planview);
                    plan.subworks.Add(planview);
                }
            }
        }
        public PlanView Plan2PlanView(Plan plan)
        {
            var truename1 = "";
            var ssoUser   = ssoUserOfWork.GetUserByID(plan.ExecutivesPerson);

            if (ssoUser != null)
            {
                truename1 = ssoUser.RealName;
            }
            var planview = new PlanView();

            planview.id       = plan.ID;
            planview.uid      = plan.Guid;
            planview.title    = plan.Title;
            planview.timespan = plan.StartDate.Value.ToString("MM/dd") + "-" +
                                plan.EndDate.Value.ToString("MM/dd");
            planview.completing = plan.Completing + "%";
            planview.priority   = plan.Priority.Value.ToString();
            planview.truename0  = plan.CreatorTrueName;
            planview.truename1  = truename1;
            return(planview);
        }
        public async Task <ActionResult> Edit(PlanView planView)
        {
            if (ModelState.IsValid)
            {
                var pic    = string.Empty;
                var folder = "~/Content/Plans";

                if (planView.ImageFile != null)
                {
                    pic = FilesHelper.UploadPhoto(planView.ImageFile, folder);
                    pic = $"{folder}/{pic}";
                }

                var plan = planView.ToPlan(pic);

                db.Entry(plan).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(planView));
        }