public async Task InsertTestData(AppDbContext db) { var userWorkflow = new UserWorkflow( SupportedWorkflows.OnBoarding.ToString(), "*****@*****.**", "test1", 10, new DateTime(2018, 12, 20) ); var personalStep = new UserWorkflowStep(Steps.Personal.ToString()); personalStep.MarkIsStepComplete(true); userWorkflow.AddWorkflowStep(personalStep); var workStep = new UserWorkflowStep(Steps.Work.ToString()); workStep.MarkIsStepComplete(true); userWorkflow.AddWorkflowStep(workStep); var addressStep = new UserWorkflowStep(Steps.Address.ToString()); addressStep.MarkIsStepComplete(true); userWorkflow.AddWorkflowStep(addressStep); var resultStep = new UserWorkflowStep(Steps.Result.ToString()); resultStep.MarkIsStepComplete(true); userWorkflow.AddWorkflowStep(resultStep); userWorkflow.SetPersonal("Jawad", "Hasan", "*****@*****.**"); userWorkflow.SetWork("Code"); userWorkflow.SetAddress("Willy-Brandt-Plataz", "Braunschweig", "38114", "SomeState"); userWorkflow.UpdateStatus(WorkflowStatus.Completed); db.UserWorkflows.Add(userWorkflow); foreach (var step in userWorkflow.Steps) { if (step.TrackingState == TrackingState.Created) { db.Entry(step).State = EntityState.Added; } } await db.SaveChangesAsync(); //_workflowDataService.SaveWorkflowAsync(dbWorkflow); }
//TODO: SRP private async Task SaveNewUserWorkflow(BaseWorkflow workflow) { //Building var dbWorkflow = new UserWorkflow(workflow.Name, workflow.SourceEmailAddress, workflow.RequestId, workflow.ExpiresIn, workflow.CreatedOn); foreach (var step in workflow.Steps) { dbWorkflow.AddWorkflowStep(new UserWorkflowStep(step.Step)); } //Persisting foreach (var step in dbWorkflow.Steps) { if (step.TrackingState == TrackingState.Created) { _db.Entry(step).State = EntityState.Added; } } _db.UserWorkflows.Add(dbWorkflow); await _db.SaveChangesAsync(); }