public async Task <bool> Create(WorkflowDirection WorkflowDirection) { WorkflowDirectionDAO WorkflowDirectionDAO = new WorkflowDirectionDAO(); WorkflowDirectionDAO.Id = WorkflowDirection.Id; WorkflowDirectionDAO.WorkflowDefinitionId = WorkflowDirection.WorkflowDefinitionId; WorkflowDirectionDAO.FromStepId = WorkflowDirection.FromStepId; WorkflowDirectionDAO.ToStepId = WorkflowDirection.ToStepId; WorkflowDirectionDAO.SubjectMailForCreator = WorkflowDirection.SubjectMailForCreator; WorkflowDirectionDAO.SubjectMailForNextStep = WorkflowDirection.SubjectMailForNextStep; WorkflowDirectionDAO.BodyMailForCreator = WorkflowDirection.BodyMailForCreator; WorkflowDirectionDAO.BodyMailForNextStep = WorkflowDirection.BodyMailForNextStep; WorkflowDirectionDAO.CreatedAt = StaticParams.DateTimeNow; WorkflowDirectionDAO.UpdatedAt = StaticParams.DateTimeNow; DataContext.WorkflowDirection.Add(WorkflowDirectionDAO); await DataContext.SaveChangesAsync(); WorkflowDirection.Id = WorkflowDirectionDAO.Id; await SaveReference(WorkflowDirection); return(true); }
public async Task <bool> BulkMerge(List <WorkflowDirection> WorkflowDirections) { List <WorkflowDirectionDAO> WorkflowDirectionDAOs = new List <WorkflowDirectionDAO>(); foreach (WorkflowDirection WorkflowDirection in WorkflowDirections) { WorkflowDirectionDAO WorkflowDirectionDAO = new WorkflowDirectionDAO(); WorkflowDirectionDAO.Id = WorkflowDirection.Id; WorkflowDirectionDAO.WorkflowDefinitionId = WorkflowDirection.WorkflowDefinitionId; WorkflowDirectionDAO.FromStepId = WorkflowDirection.FromStepId; WorkflowDirectionDAO.ToStepId = WorkflowDirection.ToStepId; WorkflowDirectionDAO.SubjectMailForCreator = WorkflowDirection.SubjectMailForCreator; WorkflowDirectionDAO.SubjectMailForNextStep = WorkflowDirection.SubjectMailForNextStep; WorkflowDirectionDAO.BodyMailForCreator = WorkflowDirection.BodyMailForCreator; WorkflowDirectionDAO.BodyMailForNextStep = WorkflowDirection.BodyMailForNextStep; WorkflowDirectionDAO.CreatedAt = StaticParams.DateTimeNow; WorkflowDirectionDAO.UpdatedAt = StaticParams.DateTimeNow; WorkflowDirectionDAOs.Add(WorkflowDirectionDAO); } await DataContext.BulkMergeAsync(WorkflowDirectionDAOs); return(true); }
public async Task <bool> Update(WorkflowDirection WorkflowDirection) { WorkflowDirectionDAO WorkflowDirectionDAO = DataContext.WorkflowDirection.Where(x => x.Id == WorkflowDirection.Id).FirstOrDefault(); if (WorkflowDirectionDAO == null) { return(false); } WorkflowDirectionDAO.Id = WorkflowDirection.Id; WorkflowDirectionDAO.WorkflowDefinitionId = WorkflowDirection.WorkflowDefinitionId; WorkflowDirectionDAO.FromStepId = WorkflowDirection.FromStepId; WorkflowDirectionDAO.ToStepId = WorkflowDirection.ToStepId; WorkflowDirectionDAO.SubjectMailForCreator = WorkflowDirection.SubjectMailForCreator; WorkflowDirectionDAO.SubjectMailForNextStep = WorkflowDirection.SubjectMailForNextStep; WorkflowDirectionDAO.BodyMailForCreator = WorkflowDirection.BodyMailForCreator; WorkflowDirectionDAO.BodyMailForNextStep = WorkflowDirection.BodyMailForNextStep; WorkflowDirectionDAO.UpdatedAt = StaticParams.DateTimeNow; await DataContext.SaveChangesAsync(); await SaveReference(WorkflowDirection); return(true); }
private async Task SaveReference(WorkflowDefinition WorkflowDefinition) { await DataContext.WorkflowStep.Where(s => s.WorkflowDefinitionId == WorkflowDefinition.Id).DeleteFromQueryAsync(); if (WorkflowDefinition.WorkflowSteps != null) { List <WorkflowStepDAO> WorkflowStepDAOs = new List <WorkflowStepDAO>(); foreach (WorkflowStep WorkflowStep in WorkflowDefinition.WorkflowSteps) { WorkflowStepDAO WorkflowStepDAO = new WorkflowStepDAO(); WorkflowStepDAO.WorkflowDefinitionId = WorkflowDefinition.Id; WorkflowStepDAO.Code = WorkflowStep.Code; WorkflowStepDAO.Name = WorkflowStep.Name; WorkflowStepDAO.RoleId = WorkflowStep.RoleId; WorkflowStepDAOs.Add(WorkflowStepDAO); } await DataContext.WorkflowStep.BulkMergeAsync(WorkflowStepDAOs); await DataContext.WorkflowDirection.Where(d => d.WorkflowDefinitionId == WorkflowDefinition.Id).DeleteFromQueryAsync(); if (WorkflowDefinition.WorkflowDirections != null) { List <WorkflowDirectionDAO> WorkflowDirectionDAOs = new List <WorkflowDirectionDAO>(); foreach (WorkflowDirection WorkflowDirection in WorkflowDefinition.WorkflowDirections) { WorkflowDirectionDAO WorkflowDirectionDAO = new WorkflowDirectionDAO(); WorkflowDirectionDAO.WorkflowDefinitionId = WorkflowDefinition.Id; WorkflowDirectionDAO.FromStepId = WorkflowStepDAOs.Where(s => s.Name == WorkflowDirection.FromStep.Name).Select(s => s.Id).FirstOrDefault(); WorkflowDirectionDAO.ToStepId = WorkflowStepDAOs.Where(s => s.Name == WorkflowDirection.ToStep.Name).Select(s => s.Id).FirstOrDefault(); WorkflowDirectionDAO.CreatedAt = StaticParams.DateTimeNow; WorkflowDirectionDAO.UpdatedAt = StaticParams.DateTimeNow; WorkflowDirectionDAOs.Add(WorkflowDirectionDAO); } await DataContext.WorkflowDirection.BulkMergeAsync(WorkflowDirectionDAOs); } } }