public async Task <InitWorkFlowOutput> Create(OATaskCreateInput input) { var ret = new InitWorkFlowOutput(); var oATask = new OATask(); input.MapTo(oATask); oATask.Id = Guid.NewGuid(); if (input.FileList != null) { var fileList = new List <AbpFileListInput>(); foreach (var item in input.FileList) { fileList.Add(new AbpFileListInput() { Id = item.Id, Sort = item.Sort }); } await _abpFileRelationAppService.CreateAsync(new CreateFileRelationsInput() { BusinessId = oATask.Id.ToString(), BusinessType = (int)AbpFileBusinessType.OA任务附件, Files = fileList }); } oATask.NotifyUsers = oATask.ExecutorUser; var manager = Abp.AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <WorkFlowOrganizationUnitsManager>(); var users = manager.GetAllUsers(input.ExecutorUser); foreach (var user in users) { var entity = new OATaskUser(); entity.Id = Guid.NewGuid(); entity.OATaskId = oATask.Id; entity.UserId = user.Id; await _oATaskUserRepository.InsertAsync(entity); } oATask.ValUser1 = "u_" + input.ValUser.ToString(); oATask.NotifyUsers = oATask.ExecutorUser + ",u_" + oATask.ValUser; await _oATaskRepository.InsertAsync(oATask); ret.InStanceId = oATask.Id.ToString(); return(ret); }
public async Task Update(OATaskUpdateInput input) { Debug.Assert(input.Id != null, "input Id should be set."); var oATask = await _oATaskRepository.GetAsync(input.Id); input.MapTo(oATask); var fileList = new List <AbpFileListInput>(); if (input.FileList != null) { foreach (var item in input.FileList) { fileList.Add(new AbpFileListInput() { Id = item.Id, Sort = item.Sort }); } } await _abpFileRelationAppService.UpdateAsync(new CreateFileRelationsInput() { BusinessId = input.Id.ToString(), BusinessType = (int)AbpFileBusinessType.OA任务附件, Files = fileList }); var manager = Abp.AbpBootstrapper.Create <Abp.Modules.AbpModule>().IocManager.IocContainer.Resolve <WorkFlowOrganizationUnitsManager>(); var users = manager.GetAllUsers(input.ExecutorUser); await _oATaskUserRepository.DeleteAsync(r => r.OATaskId == input.Id); foreach (var item in users) { var entity = new OATaskUser(); entity.Id = Guid.NewGuid(); entity.OATaskId = input.Id; entity.UserId = item.Id; await _oATaskUserRepository.InsertAsync(entity); } oATask.ValUser1 = "u_" + oATask.ValUser; oATask.NotifyUsers = oATask.ExecutorUser + ",u_" + oATask.ValUser; await _oATaskRepository.UpdateAsync(oATask); }