private IEnumerator loadScene() { yield return(SceneManager.LoadSceneAsync(SceneNames[(int)NextFlow])); _OnChangeFlowEvent?.Invoke(true); switch (_State) { case FlowState.NextAsyncLoading: { FlowHistory.Add(NextFlow); if (FlowHistory.Count >= _FLOW_HISTORY_NUM) { FlowHistory.RemoveAt(0); } } break; case FlowState.BackAsyncLoading: { FlowHistory.RemoveAt(FlowHistory.Count - 1); } break; } _State = FlowState.Idle; CurrentFlow = NextFlow; NextFlow = Flow.None; }
public async Task <VerifyRecordResult> DeleteAsync(int id) { try { CleanTrackingHelper.Clean <FlowHistory>(context); FlowHistory item = await context.FlowHistory .AsNoTracking() .FirstOrDefaultAsync(x => x.Id == id); if (item == null) { return(VerifyRecordResultFactory.Build(false, ErrorMessageEnum.無法刪除紀錄)); } else { CleanTrackingHelper.Clean <FlowHistory>(context); context.Entry(item).State = EntityState.Deleted; await context.SaveChangesAsync(); CleanTrackingHelper.Clean <FlowHistory>(context); return(VerifyRecordResultFactory.Build(true)); } } catch (Exception ex) { Logger.LogError(ex, "刪除記錄發生例外異常"); return(VerifyRecordResultFactory.Build(false, "刪除記錄發生例外異常", ex)); } }
public async Task <VerifyRecordResult> UpdateAsync(FlowHistoryAdapterModel paraObject) { try { FlowHistory itemData = Mapper.Map <FlowHistory>(paraObject); CleanTrackingHelper.Clean <FlowHistory>(context); FlowHistory item = await context.FlowHistory .AsNoTracking() .FirstOrDefaultAsync(x => x.Id == paraObject.Id); if (item == null) { return(VerifyRecordResultFactory.Build(false, ErrorMessageEnum.無法修改紀錄)); } else { CleanTrackingHelper.Clean <FlowHistory>(context); context.Entry(itemData).State = EntityState.Modified; await context.SaveChangesAsync(); CleanTrackingHelper.Clean <FlowHistory>(context); return(VerifyRecordResultFactory.Build(true)); } } catch (Exception ex) { Logger.LogError(ex, "修改記錄發生例外異常"); return(VerifyRecordResultFactory.Build(false, "修改記錄發生例外異常", ex)); } }
public async Task <FlowHistoryAdapterModel> GetAsync(int id) { FlowHistory item = await context.FlowHistory .AsNoTracking() .Include(x => x.MyUser) .FirstOrDefaultAsync(x => x.Id == id); FlowHistoryAdapterModel result = Mapper.Map <FlowHistoryAdapterModel>(item); await OhterDependencyData(result); return(result); }
public void Next(Flow nextFlow) { if (_State != FlowState.Idle) { return; } if (((int)nextFlow < 0) || ((int)nextFlow >= SceneNames.Length)) { return; } SceneManager.LoadScene(SceneNames[(int)nextFlow], LoadSceneMode.Single); FlowHistory.Add(nextFlow); if (FlowHistory.Count >= _FLOW_HISTORY_NUM) { FlowHistory.RemoveAt(0); } }
public async Task AddHistoryRecord(MyUserAdapterModel myUserAdapterModel, FlowMasterAdapterModel flowMasterAdapterModel, string Summary, string Comment, bool approve) { FlowHistory history = new FlowHistory() { Comment = Comment, Summary = Summary, Updatetime = DateTime.Now, FlowMasterId = flowMasterAdapterModel.Id, MyUserId = myUserAdapterModel.Id, Approve = approve, }; await context.FlowHistory.AddAsync(history); await context.SaveChangesAsync(); }
public void Back() { if (_State != FlowState.Idle) { return; } if (FlowHistory.Count < 1) { return; } int index = FlowHistory.Count - 1; var next = FlowHistory[index]; if (((int)next < 0) || ((int)next >= SceneNames.Length)) { return; } SceneManager.LoadScene(SceneNames[(int)next]); FlowHistory.RemoveAt(index); }
public async Task <VerifyRecordResult> AddAsync(FlowHistoryAdapterModel paraObject) { try { FlowHistory itemParameter = Mapper.Map <FlowHistory>(paraObject); CleanTrackingHelper.Clean <FlowHistory>(context); await context.FlowHistory .AddAsync(itemParameter); await context.SaveChangesAsync(); CleanTrackingHelper.Clean <FlowHistory>(context); return(VerifyRecordResultFactory.Build(true)); } catch (Exception ex) { Logger.LogError(ex, "新增記錄發生例外異常"); return(VerifyRecordResultFactory.Build(false, "新增記錄發生例外異常", ex)); } }
public async Task <VerifyRecordResult> AddAsync(FlowMasterAdapterModel paraObject) { try { CleanTrackingHelper.Clean <FlowMaster>(context); CleanTrackingHelper.Clean <FlowUser>(context); CleanTrackingHelper.Clean <FlowHistory>(context); CleanTrackingHelper.Clean <MyUser>(context); FlowMaster itemParameter = Mapper.Map <FlowMaster>(paraObject); CleanTrackingHelper.Clean <FlowMaster>(context); await context.FlowMaster .AddAsync(itemParameter); await context.SaveChangesAsync(); #region 產生要審核的使用者清單 var user = await context.MyUser .FirstOrDefaultAsync(x => x.Id == itemParameter.MyUserId); FlowUser auditUser = new FlowUser() { MyUserId = itemParameter.MyUserId, FlowMasterId = itemParameter.Id, Enable = true, Level = 0, OnlyCC = false, Name = "發文者", }; await context.FlowUser.AddAsync(auditUser); var policyDetails = await context.PolicyDetail .Where(x => x.PolicyHeaderId == paraObject.PolicyHeaderId) .OrderBy(x => x.Level) .ToListAsync(); foreach (var item in policyDetails) { if (item.Enable == false) { continue; } auditUser = new FlowUser() { MyUserId = item.MyUserId, FlowMasterId = itemParameter.Id, Enable = true, Level = item.Level, OnlyCC = item.OnlyCC, Name = item.Name, }; await context.FlowUser.AddAsync(auditUser); } itemParameter.NextMyUserName = user.Name; context.FlowMaster.Update(itemParameter); await context.SaveChangesAsync(); #endregion #region 增加簽核流程歷史紀錄 - 建立簽核表單 FlowHistory history = new FlowHistory() { FlowMasterId = itemParameter.Id, MyUserId = itemParameter.MyUserId, Approve = true, Summary = $"{user.Account} / {user.Name} 建立簽核表單", Comment = $"簽核單草稿", Updatetime = DateTime.Now, }; await context.FlowHistory.AddAsync(history); await context.SaveChangesAsync(); #endregion CleanTrackingHelper.Clean <FlowMaster>(context); CleanTrackingHelper.Clean <FlowUser>(context); CleanTrackingHelper.Clean <FlowHistory>(context); CleanTrackingHelper.Clean <MyUser>(context); return(VerifyRecordResultFactory.Build(true)); } catch (Exception ex) { Logger.LogError(ex, "新增記錄發生例外異常"); return(VerifyRecordResultFactory.Build(false, "新增記錄發生例外異常", ex)); } }