public async Task <ApiResult> Update([FromBody] APIProjectNodeViewModel p)
        {
            // 以接口的形式返回数据
            var res = new ApiResult();

            if (string.IsNullOrWhiteSpace(p.Title))
            {
                res.msg = "标题不能为空";
            }
            else
            {
                try
                {
                    ProjectNodeInfo m = PNdb.GetId(p.ID);
                    m.Title        = p.Title;
                    m.StartDate    = C.DateTimes(p.StartDate);
                    m.EndDate      = C.DateTimes(p.EndDate);
                    m.CompleteDate = C.DateTimes(p.CompleteDate);
                    m.Content      = p.Content;
                    m.State        = p.State;
                    m.IsEnable     = p.IsEnable;
                    res.success    = PNdb.Update(m) > 0;
                }
                catch (Exception ex)
                {
                    res.statusCode = (int)ApiEnum.Error;
                    res.msg        = ApiEnum.Error.GetEnumText() + ex.Message;
                }
            }
            // {"success":true,"message":null,"statusCode":200,"data":null}
            return(await Task.Run(() => res));
        }
        public async Task <ApiResult> AddMaintain([FromBody] APIProjectNodeViewModel p)
        {
            // 以接口的形式返回数据
            var res = new ApiResult();

            if (string.IsNullOrWhiteSpace(p.Title))
            {
                res.msg = "标题不能为空";
            }
            else
            {
                try
                {
                    ProjectNodeInfo m = new ProjectNodeInfo()
                    {
                        Title        = p.Title,
                        ProjectID    = p.ProjectID,
                        StartDate    = C.DateTimes(p.StartDate),
                        EndDate      = C.DateTimes(p.EndDate),
                        CompleteDate = C.DateTimes(p.CompleteDate),
                        Content      = p.Content,
                        State        = p.State,
                        AddDate      = DateTime.Now,
                        TypeID       = 2,
                        IsEnable     = p.IsEnable
                    };
                    res.success = PNdb.Add(m) > 0;
                }
                catch (Exception ex)
                {
                    res.statusCode = (int)ApiEnum.Error;
                    res.msg        = ApiEnum.Error.GetEnumText() + ex.Message;
                }
            }
            // {"success":true,"message":null,"statusCode":200,"data":null}
            return(await Task.Run(() => res));
        }