Example #1
0
        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);
        }
Example #2
0
        //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();
        }