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); }