public async Task <int> SyncProjects(string userid, string token)
        {
            // 先到clockify获取数据
            var ls = await _clockifyService.GetProjects(userid, token);

            var projects     = new List <Project>();
            var projectTasks = new List <ProjectTask>();

            foreach (var l in ls)
            {
                projects.Add(new Project()
                {
                    Gid             = l.id,
                    Name            = l.name,
                    Archived        = l.archived,
                    Billable        = l.billable,
                    ClientId        = l.clientId,
                    Color           = l.color,
                    Duration        = l.duration,
                    IsPublic        = l.Public,
                    Note            = l.note,
                    WorkspaceId     = l.workspaceId,
                    CreatedDate     = DateTime.Now,
                    CreatedUserID   = userid,
                    CreatedUserName = userid,
                    IsDeleted       = false,
                    UpdatedDate     = DateTime.Now,
                    UpdatedUserID   = userid,
                    UpdatedUserName = userid
                });

                projectTasks.Add(new ProjectTask()
                {
                    Gid        = null,
                    ProjectGid = l.id
                });
            }

            // 然后在本地插入或者同步数据
            await _projectService.Clear();

            await _projectTaskService.SqlExecuteNonQuery("delete from [PROJECTTASK] where Gid is null");

            var affectedRecordCount = await _projectService.AddManyAsync(projects);

            // TODO: 同时在Task表里增加对应的空task的项目记录。
            var n = await _projectTaskService.AddManyAsync(projectTasks);

            return(affectedRecordCount);
        }