Exemplo n.º 1
0
        //public async Task<List<WorkFlowLineDto>> GetAllLinesAsync()
        //{
        //    var dbLines = await databaseFixture.Db.WorkflowLine.FindAllAsync(m => m.IsDel == 0);
        //    return dbLines.Select(m => new WorkFlowLineDto
        //    {
        //        LineId = m.Id,
        //        Name = m.Name
        //    }).ToList();
        //}

        //public async Task<WorkFlowLineDto> GetLineAsync(Guid lineid)
        //{
        //    var line = await databaseFixture.Db.WorkflowLine.FindByIdAsync(lineid);
        //    return new WorkFlowLineDto
        //    {
        //        LineId = line.Id,
        //        Name = line.Name
        //    };
        //}

        /// <summary>
        /// new workflow version
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <bool> NewVersionAsync(WorkFlowDetailDto dto)
        {
            using (var tran = databaseFixture.Db.BeginTransaction())
            {
                try
                {
                    //取出Enable==1 and FlowId=dto.FlowId 肯定存在,并且只能为一条,如果没有情况可能是新的版本正在修改中
                    WfWorkflow dbworkflow = await databaseFixture.Db.Workflow.FindAsync(m => m.Enable == 1 && m.FlowId == dto.FlowId);

                    WfWorkflow newworkflow = dbworkflow;

                    dbworkflow.Enable = 0;
                    dbworkflow.IsOld  = 1;
                    await databaseFixture.Db.Workflow.UpdateAsync(dbworkflow);

                    //new workflow
                    newworkflow.FlowName     = newworkflow.FlowName + "-NEW";
                    newworkflow.Enable       = 0;
                    newworkflow.CreateTime   = DateTime.Now.ToTimeStamp();
                    newworkflow.CreateUserId = dto.CreateUserId;
                    newworkflow.FlowVersion++;
                    newworkflow.FlowId = Guid.NewGuid();//重新创建FlowId 使用FlowCode判断流程几个版本
                    newworkflow.IsOld  = 0;
                    await databaseFixture.Db.Workflow.InsertAsync(newworkflow);

                    tran.Commit();
                    return(true);
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    return(false);
                }
            }
        }
Exemplo n.º 2
0
        public async Task <bool> UpdateAsync(WorkFlowDetailDto workflow)
        {
            var uri      = API.WorkFlow.UpdateAsync(_baseUrl);
            var content  = new StringContent(JsonConvert.SerializeObject(workflow), System.Text.Encoding.UTF8, "application/json");
            var response = await _apiClient.PostAsync(uri, content);

            response.EnsureSuccessStatusCode();
            string res = await response.Content.ReadAsStringAsync();

            return(res.ToLower() == bool.TrueString.ToLower());
        }
        public async Task <bool> InsertAsync(WorkFlowDetailDto workflow)
        {
            workflow.FlowId   = Guid.NewGuid();
            workflow.FlowCode = DateTime.Now.ToTimeStamp() + string.Empty.CreateNumberNonce();

            //判断表单是否已被关联
            var res = await databaseFixture.Db.Workflow.IsExistFormAsync(workflow.FormId);

            if (res)
            {
                return(false);
            }
            var model = mapper.Map <WorkFlowDetailDto, WfWorkflow>(workflow);

            return(await databaseFixture.Db.Workflow.InsertAsync(model));
        }
        public async Task <bool> UpdateAsync(WorkFlowDetailDto workflow)
        {
            var dbflow = await databaseFixture.Db.Workflow.FindByIdAsync(workflow.FlowId);

            //判断表单是否已被关联
            var res = await databaseFixture.Db.Workflow.IsExistFormAsync(workflow.FormId, dbflow.FlowId);

            if (res)
            {
                return(false);
            }

            dbflow.FormId      = workflow.FormId;
            dbflow.CategoryId  = workflow.CategoryId;
            dbflow.FlowName    = workflow.FlowName;
            dbflow.Enable      = workflow.Enable;
            dbflow.FlowContent = workflow.FlowContent;
            return(await databaseFixture.Db.Workflow.UpdateAsync(dbflow));
        }
 public async Task <bool> UpdateAsync([FromBody] WorkFlowDetailDto workflow)
 {
     return(await workFlowService.UpdateAsync(workflow));
 }
Exemplo n.º 6
0
 public async Task <bool> UpdateAsync(WorkFlowDetailDto workflow)
 {
     workflow.CreateUserId = UserIdentity.UserId.ToString();
     return(await workFlowService.UpdateAsync(workflow));
 }
Exemplo n.º 7
0
        public async Task <IActionResult> Show(Guid?id)
        {
            WorkFlowDetailDto workflow = id != null ? await workFlowService.GetByIdAsync(id.Value) : new WorkFlowDetailDto();

            return(View(workflow));
        }
Exemplo n.º 8
0
        public async Task <bool> NewVersionAsync(WorkFlowDetailDto dto)
        {
            var uri = API.WorkFlow.NewVersionAsync(_baseUrl);

            return(await _apiClient.PostBooleanAsync(uri, dto));
        }
Exemplo n.º 9
0
 public async Task <bool> NewVersionAsync([FromBody] WorkFlowDetailDto dto)
 {
     return(await workFlowService.NewVersionAsync(dto));
 }
Exemplo n.º 10
0
 public async Task <bool> NewVersionAsync([FromBody] WorkFlowDetailDto dto)
 {
     dto.CreateUserId = UserIdentity.UserId.ToString();
     return(await workFlowService.NewVersionAsync(dto));
 }