diff --git a/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BloggingContextFactory.cs b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BloggingContextFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..70f248969427cb7b1aa0df3c38ccd565ea50bfb0 --- /dev/null +++ b/WorkFlowCore/WorkFlowCore.Framework/Repositories4EF/BloggingContextFactory.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Design; +using System; +using System.Collections.Generic; +using System.Text; + +namespace WorkFlowCore.Framework.Repositories4EF +{ + /// + /// 用于给到 nuget包控制台命令使用 + /// + public class BloggingContextFactory : IDesignTimeDbContextFactory + { + public WorkflowDbContext CreateDbContext(string[] args) + { + var optionsBuilder = new DbContextOptionsBuilder(); + //此处需要配置 SqlServer 的链接 + optionsBuilder.UseSqlServer("Data Source=HY-PTJD-XR002;Initial Catalog=WorkFlowCore1;User Id=sa;Password=12345678;connect Timeout=30;"); + return new WorkflowDbContext(optionsBuilder.Options); + } + } +} diff --git a/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj index aae58818df1f0ac7915446147b6c3ca90d6b158e..01121501a5f46dd17d8306588543963d0ad967bc 100644 --- a/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj +++ b/WorkFlowCore/WorkFlowCore.Framework/WorkFlowCore.Framework.csproj @@ -11,6 +11,7 @@ + diff --git a/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs b/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs index 3c96111f68bbc56dcb1bad9a1eefa0ac8420dedf..6ce4b85c69d14d7a11188c882bf8ac7c3b6248ff 100644 --- a/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs +++ b/WorkFlowCore/WorkFlowCore.Host/Controllers/WorkFlowController.cs @@ -282,12 +282,9 @@ namespace WorkFlowCore.Host.Controllers /// [HttpPost("ClearSimulationRecord")] public async Task> ClearSimulationRecord() - { - var worktasks = await worktaskRepository.GetListAsync(wt => wt.Name == "模拟流程"); - var worktaskIds = worktasks.Select(wt => wt.Id); + { + await workflowManager.ClearSimulationRecord(); - await workStepRepository.DeleteManyAsync(ws => worktaskIds.Contains(ws.WorkTaskId)); - await worktaskRepository.DeleteManyAsync(wt => worktaskIds.Contains(wt.Id)); return OutputDto.Succeed(null); } diff --git a/WorkFlowCore/WorkFlowCore.Host/Startup.cs b/WorkFlowCore/WorkFlowCore.Host/Startup.cs index d0330845c00f497ebdb80d9a6ca9a2a5b3294f1d..f61930b589b7ca92d9a9585a3246e90eefa1c4bc 100644 --- a/WorkFlowCore/WorkFlowCore.Host/Startup.cs +++ b/WorkFlowCore/WorkFlowCore.Host/Startup.cs @@ -29,9 +29,7 @@ namespace WorkFlowCore.Host // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) - { - - + { services.AddControllersWithViews(); //ע services.AddWorkFlowCore(); @@ -40,6 +38,8 @@ namespace WorkFlowCore.Host }); services.AddDbContext(op => { + ////ﰴлݿʹá + //op.UseSqlServer(Configuration.GetConnectionString("Default")); //˴SqlServerַ 磺 "Data Source=HY-PTJD-XR002;Initial Catalog=WorkFlowCore1;User Id=sa;Password=12345678;connect Timeout=30;" op.UseMySql(Configuration.GetConnectionString("Default"), new MySqlServerVersion(Configuration.GetConnectionString("DefaultVersion"))); }); @@ -109,7 +109,8 @@ namespace WorkFlowCore.Host app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1.0/swagger.json", "̷(V 1.0)"); - c.RoutePrefix = string.Empty; + //c.RoutePrefix = string.Empty; + //c.DocExpansion(Swashbuckle.AspNetCore.SwaggerUI.DocExpansion.None);// Ĭ۵ }); } diff --git a/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj b/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj index 721d5762a3011d5a604aef3484c706c68d3aecdb..9099d5cdd5127d45359b51c40a0e99077237ebd9 100644 --- a/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj +++ b/WorkFlowCore/WorkFlowCore.Host/WorkFlowCore.Host.csproj @@ -17,6 +17,7 @@ + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/WorkFlowCore/WorkFlowCore/WorkflowManager.cs b/WorkFlowCore/WorkFlowCore/WorkflowManager.cs index 6d074c9401085b1a80c88c19745d822d0174106f..5b3980b87e1a17f986091edde36f07b3656ca722 100644 --- a/WorkFlowCore/WorkFlowCore/WorkflowManager.cs +++ b/WorkFlowCore/WorkFlowCore/WorkflowManager.cs @@ -1009,6 +1009,25 @@ namespace WorkFlowCore }); } + + /// + /// 清除模拟 记录 + /// + /// + public async Task ClearSimulationRecord() + { + var worktasks = await workTaskRepository.GetListAsync(wt => wt.Name == "模拟流程"); + var worktaskIds = worktasks.ToList().Select(wt => wt.Id); + using (var unitOfWork = unitOfWorkManager.Begin()) + { + await workStepRepository.DeleteManyAsync(ws => worktaskIds.Contains(ws.WorkTaskId)); + await workTaskRepository.DeleteManyAsync(wt => worktaskIds.Contains(wt.Id)); + unitOfWork.Commit(); + } + } + + + /// /// 获取流程所有过程 /// @@ -1132,6 +1151,7 @@ namespace WorkFlowCore { await workStepRepository.DeleteManyAsync(ws => ws.WorkTaskId == worktaskId); await workTaskRepository.DeleteAsync(worktaskId); + unitOfWork.Commit(); } }