public RunCommand(DTE2 app, AddIn addin, RunAction runAction) { Name = "SSMScripterRun"; _app = app; _addin = addin; _runAction = runAction; }
private RunNode ParseRunNode(RunCommandType cmdType, RunAction runAction) { StyleToken runCommandToken = tokenStream.Current; CommandNode command; if (AdvanceIfTokenType(StyleTokenType.Animation)) { command = StyleASTNodeFactory.AnimationCommandNode(ParseIdentifierInParentheses(), cmdType, runAction); } else if (AdvanceIfTokenType(StyleTokenType.Sound)) { command = StyleASTNodeFactory.SoundCommandNode(ParseIdentifierInParentheses(), cmdType, runAction); } else { throw new ParseException(runCommandToken, $"Only animation and sound run commands are supported. Found {runCommandToken}"); } command.WithLocation(tokenStream.Current); AssertTokenTypeAndAdvance(StyleTokenType.EndStatement); RunNode runNode = StyleASTNodeFactory.RunNode(command); runNode.WithLocation(runCommandToken); return(runNode); }
private TimeSpan addLinePrAction(RunAction action, TimeSpan total, StringBuilder builder) { var state = action.Succeeded ? "succeeded" : "failed"; var project = Path.GetFileName(action.Project); var timeSpent = action.TimeSpent; return addLineByType(action, total, timeSpent, builder, state, project); }
protected void Generate(RunAction op) { this.AddRun(new ActionMigrationRun { Action = op.Action }); }
public static RunAction generateAction(DateTime NasdaqDate, DateTime RecordDate) { RunAction action = RunAction.Unchange; if (NasdaqDate < DateTime.Today) { if (Math.Abs((RecordDate - NasdaqDate).Days) < NControl.separateDay || RecordDate < NasdaqDate) { action = RunAction.ReRun; } } else { if ((NasdaqDate - RecordDate).Days > NControl.separateDay) { action = RunAction.ReRun; } else { if (NasdaqDate != RecordDate) { action = RunAction.Move; } } } return(action); }
public void getGoal(GameObject gameobject) { currentAction.destory = true; currentAction = RunAction.GetRunAction(gameobject.transform, runSpeed, ani); this.runAction(this.gameObject, currentAction, this); }
private TimeSpan addLinePrAction(RunAction action, TimeSpan total, StringBuilder builder) { var state = action.Succeeded ? "succeeded" : "failed"; var project = Path.GetFileName(action.Project); var timeSpent = action.TimeSpent; return(addLineByType(action, total, timeSpent, builder, state, project)); }
public void FollowAction(GameObject gameobject) { currentAction.destroy = true; // 销毁当前动作 currentAction = RunAction.GetRunAction(gameobject.transform, runSpeed, ani); this.runAction(this.gameObject, currentAction, this); // 跑向目标方向 }
public static RunAction GetRunAction(Transform target, float speed, Animator ani) { RunAction currentAction = ScriptableObject.CreateInstance <RunAction>(); currentAction.speed = speed; currentAction.target = target; currentAction.ani = ani; return(currentAction); }
private static void ReloadInvoiceNumbersFrom(int fromNo, RunAction callbackProgress) { var progress = new RunActionProgress() { Cursor = 0, NbData = 5, Message = "Reset invoice numbering" }; callbackProgress?.Invoke(progress); DBManager.ExecuteQuery("TRUNCATE TABLE artrantmp"); DBManager.ExecuteQuery(string.Format("DBCC CHECKIDENT (artrantmp, RESEED, {0})", (fromNo))); DBManager.ExecuteQuery(string.Format("INSERT INTO artrantmp(invno) SELECT -invno from arcash WHERE invno >={0} GROUP BY -invno order by MAX(invdate)", fromNo)); progress.Cursor = 1; callbackProgress?.Invoke(progress); DBManager.ExecuteQuery("update ar SET ar.invno=(-ar.invno) FROM artran ar where invno in (select (invno * -1) FROM artrantmp)"); DBManager.ExecuteQuery("update ar SET ar.invno=artrantmp.id from artran ar inner join artrantmp on ar.invno=artrantmp.invno"); progress.Cursor = 2; callbackProgress?.Invoke(progress); DBManager.ExecuteQuery("update ar SET ar.invno=-ar.invno FROM arcash ar where invno in (select (invno * - 1) FROM artrantmp)"); DBManager.ExecuteQuery("update ar SET ar.invno=artrantmp.id, ponum='Payment on invoice ' + CAST(artrantmp.id AS VARCHAR), octn='R' + CAST(artrantmp.id AS VARCHAR), applyto='l' + CAST(artrantmp.id AS VARCHAR), ar.receiptno=(artrantmp.id + 1) from arcash ar inner join artrantmp on ar.invno=artrantmp.invno"); progress.Cursor = 3; callbackProgress?.Invoke(progress); DBManager.ExecuteQuery("update ic SET ic.docno=-ic.docno FROM ictran ic WHERE docno IN (SELECT (artrantmp.invno * -1) FROM artrantmp)"); DBManager.ExecuteQuery("update ic SET ic.docno=artrantmp.id, reference='Invoice ' + CAST(artrantmp.id AS VARCHAR) from ictran ic inner join artrantmp on ic.docno=artrantmp.invno WHERE ic.trantype='l'"); progress.Cursor = 4; callbackProgress?.Invoke(progress); DBManager.ExecuteQuery("update ar SET ar.invno=-ar.invno from armaster ar WHERE ar.invno IN(SELECT (artrantmp.invno * -1) FROM artrantmp)"); DBManager.ExecuteQuery("update ar SET ar.invno=artrantmp.id, octn='l' + CAST(artrantmp.id AS VARCHAR) from armaster ar inner join artrantmp on ar.invno=artrantmp.invno"); int total = 0; double ca = 0; DBManager.RunQueryResults("SELECT MAX(invno) total FROM artran", (SqlDataReader reader) => { int.TryParse(reader["total"].ToString(), out total); }); DBManager.RunQueryResults("SELECT (CASE WHEN SUM(paidamt) IS NOT NULL THEN SUM(paidamt) ELSE 0 END) + (select MAX(startamt) from arshiftclose) ca FROM arcash;", (SqlDataReader r) => { double.TryParse(r["ca"].ToString(), out ca); }); //DBManager.ExecuteQuery(string.Format("update arshiftclose SET invcount={0}, totalvoucher={0}, totalamt={1};", total, ca)); DBManager.ExecuteQuery(string.Format("update sysdata SET int1={0}, int2={1}, int3={1} WHERE sysid='AR';", total, total + 1)); DBManager.ExecuteQuery(string.Format("update sysdata SET int1={0} WHERE sysid='GL';", total + 1)); progress.Cursor = 5; callbackProgress?.Invoke(progress); }
/// <summary> /// 获得一个动作 /// </summary> /// <param name="gameStatus"></param> /// <returns></returns> public static void GetAction(ActionStatus gameStatus) { String Action = String.Empty; PublicInfo PlayInfo = gameStatus.AllRole.MyPublicInfo; PrivateInfo PlaySelfInfo = gameStatus.AllRole.MyPrivateInfo; List <String> Result = new List <string>(); //优先使用技能 if (PlayInfo.IsHeroSkillEnable(true)) { //召唤 if (PlayInfo.Hero.HeroSkill.FirstAbilityDefine.MainAbilityDefine.TrueAtomicEffect.AtomicEffectType == Effect.AtomicEffectDefine.AtomicEffectEnum.召唤 && PlayInfo.BattleField.MinionCount != SystemManager.MaxMinionCount) { gameStatus.Interrupt.ActionCard = new MinimizeBattleInfo.HandCardInfo(); gameStatus.Interrupt.ActionCard.Init(PlayInfo.Hero.HeroSkill); gameStatus.ActionName = "USEHEROSKILL"; gameStatus.Interrupt.Step = 1; gameStatus.Interrupt.ActionName = "SPELL"; PlayInfo.crystal.CurrentRemainPoint -= PlayInfo.Hero.HeroSkill.使用成本; PlayInfo.Hero.IsUsedHeroAbility = true; RunAction.StartActionCS(gameStatus, PlayInfo.Hero.HeroSkill.序列号, new string[] { }); gameStatus.Interrupt.ActionName = "SPELL"; return; } } //能上场的随从都上场 int HandCardIndex = HasBattleMinion(gameStatus); if (HandCardIndex != -1) { int newPos = PlayInfo.BattleField.MinionCount + 1; var card = PlaySelfInfo.handCards[HandCardIndex]; RunAction.StartActionCS(gameStatus, card.序列号, new string[] { newPos.ToString() }); PlayInfo.crystal.CurrentRemainPoint -= card.使用成本; PlaySelfInfo.RemoveUsedCard(card.序列号); PlayInfo.HandCardCount = PlaySelfInfo.handCards.Count; gameStatus.Interrupt.ActionCard = new MinimizeBattleInfo.HandCardInfo(); gameStatus.Interrupt.ActionCard.Init(card); gameStatus.Interrupt.ActionName = "MINION"; return; } //能攻击的随从都攻击,优先攻击英雄 int AttackPos = HasAttackMinion(gameStatus); if (AttackPos != -1) { int BeAttackedPos = GetAttackTarget(gameStatus); RunAction.Fight(gameStatus, AttackPos, BeAttackedPos, true); gameStatus.Interrupt.ActionName = "FIGHT"; gameStatus.Interrupt.ExternalInfo = AttackPos.ToString() + BeAttackedPos.ToString(); return; } gameStatus.Interrupt.ActionName = ActionCode.strEndTurn; }
/// <summary> /// 攻击 /// </summary> /// <param name="MyPos"></param> private void Fight(int MyPos) { var YourPos = SelectPanel(CardUtility.TargetSelectDirectEnum.对方, CardUtility.TargetSelectRoleEnum.所有角色, true); List <String> actionlst = RunAction.Fight(game, MyPos, YourPos.Postion); actionlst.AddRange(game.奥秘计算(actionlst)); game.MySelf.ResetHandCardCost(); Card.Client.ClientRequest.WriteAction(game.GameId.ToString(GameServer.GameIdFormat), actionlst); DisplayMyInfo(); }
public static void Display() { RunAction run = new RunAction(); run.Move(); run.Run(); SwimAction swim = new SwimAction(); swim.Move(); }
IEnumerator InitActions() { yield return(new WaitForSeconds(0.01f)); IdleInitAction = new IdleAction(this, "Idle", NV, mr, colliders, Ani); AttackAction = new NormalAttack(this, new string[] { "劈砍1", "劈砍3" }, 0.44f, NV, Ani); BackAction = new TakeBack(this, "", NV, transform); InjuredAction = new InjuredAction(this, "GetHit", 1, NV, Ani); RunAction = new RunAction(this, "Run", NV, Ani); DieAction = new DieAction(this, "Die", mr, NV, transform, colliders, Ani, 0.2f); }
private void addTestLine(RunAction action, TimeSpan timeSpent, StringBuilder builder, string state, string project) { var assembly = Path.GetFileName(action.Assembly); builder.AppendLine(string.Format("Test run for assembly {1} ({2}) {0} ({3},{4} sec)", state, assembly, project, timeSpent.Seconds.ToString(), timeSpent.Milliseconds.ToString())); }
private TimeSpan addTestLine(RunAction action, TimeSpan total, TimeSpan timeSpent, StringBuilder builder, string state, string project) { total = total.Add(timeSpent); var assembly = Path.GetFileName(action.Assembly); builder.AppendLine(string.Format("Test run for assembly {1} ({2}) {0} ({3},{4} sec)", state, assembly, project, timeSpent.Seconds.ToString(), timeSpent.Milliseconds.ToString())); return total; }
public static void doDone(RunAction actionObject) { var actor = SceneViews.instance.getCurFBScene().getActor(actionObject.objectID); if (actor.animator != null) { //Debuger.LogError(actionObject.physicalFrameNumber + " ActorAnimatorState.Run " + processor.cache.ToString()); actor.animator.SetInteger("state", (int)ActorAnimatorState.Run); actor.resetAnimtorSpeed(); actor.hideRunEffect(); } }
private void addLineByType(RunAction action, TimeSpan timeSpent, StringBuilder builder, string state, string project) { switch (action.Type) { case InformationType.Build: addBuildLine(timeSpent, builder, state, project); break; case InformationType.TestRun: addTestLine(action, timeSpent, builder, state, project); break; } }
private TimeSpan addLineByType(RunAction action, TimeSpan total, TimeSpan timeSpent, StringBuilder builder, string state, string project) { switch (action.Type) { case InformationType.Build: total = addBuildLine(total, timeSpent, builder, state, project); break; case InformationType.TestRun: total = addTestLine(action, total, timeSpent, builder, state, project); break; } return total; }
/// <summary> /// 攻击 /// </summary> /// <param name="MyPos"></param> private void Fight(int MyPos) { GameManager.MyClientManager.CurrentActiveCard = GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.BattleField.BattleMinions[MyPos - 1]; var YourPos = SelectPanel(SelectUtility.GetFightSelectOpt()); List <string> actionlst = RunAction.Fight(GameManager.MyClientManager.actionStatus, MyPos, YourPos.位置, true); actionlst.AddRange(SecretCard.奥秘计算(actionlst, GameManager.MyClientManager.actionStatus, GameManager.MyClientManager.GameId)); GameManager.MyClientManager.actionStatus.AllRole.MyPrivateInfo.ResetHandCardCost(GameManager.MyClientManager.actionStatus); if (SystemManager.游戏类型 != SystemManager.GameType.单机版) { ClientRequest.WriteAction(GameManager.MyClientManager.GameId.ToString(GameServer.GameIdFormat), actionlst); } DisplayMyInfo(); }
/// <summary> /// 回合结束效果 /// </summary> /// <param name="game"></param> /// <returns></returns> public List <String> 回合结束(GameManager game) { List <String> ActionCodeLst = new List <string>(); //回合结束效果 if (回合结束效果 != String.Empty && !Is沉默Status) { var 战吼Result = RunAction.StartAction(game, 回合结束效果); //第一条是使用了亡语卡牌的消息,如果不除去,对方客户端会认为使用了一张卡牌 战吼Result.RemoveAt(0); ActionCodeLst.AddRange(战吼Result); } return(ActionCodeLst); }
/// <summary> /// 发动亡语 /// </summary> /// <param name="game"></param> /// <returns></returns> public List <String> 发动亡语(GameManager game, Boolean IsNeedConvertPosDirect) { List <String> ActionCodeLst = new List <string>(); //亡语效果 if (亡语效果 != String.Empty && !Is沉默Status) { var 战吼Result = RunAction.StartAction(game, 亡语效果, IsNeedConvertPosDirect); //第一条是使用了亡语卡牌的消息,如果不除去,对方客户端会认为使用了一张卡牌 战吼Result.RemoveAt(0); ActionCodeLst.AddRange(战吼Result); } return(ActionCodeLst); }
private TimeSpan addLineByType(RunAction action, TimeSpan total, TimeSpan timeSpent, StringBuilder builder, string state, string project) { switch (action.Type) { case InformationType.Build: total = addBuildLine(total, timeSpent, builder, state, project); break; case InformationType.TestRun: total = addTestLine(action, total, timeSpent, builder, state, project); break; } return(total); }
private static List <Artran> PrepareInvoiceNumbers(List <Artran> invoices, RunAction callbackProgress, bool rollback = true) { callbackProgress?.Invoke(new RunActionProgress() { Cursor = 0, NbData = invoices.Count, Message = "Prepare invoices" }); Dictionary <string, string> numbers = new Dictionary <string, string>(); int i = 0, maxArtrand = GetMaxInvno("artrand"), maxArtran = GetMaxInvno(); int max = maxArtran > maxArtrand ? maxArtran : maxArtrand; Dictionary <int, int> idSwitch = new Dictionary <int, int>(); foreach (var invoice in invoices) { int no = 0; if (int.TryParse(invoice.invno, out no)) { int newNo = 0; if (idSwitch.ContainsKey(no)) { newNo = idSwitch[no]; } else { i++; newNo = max + i; idSwitch.Add(no, newNo); } invoice.invno = newNo.ToString(); } } SetRemovedInvoiceNumber(idSwitch, rollback); callbackProgress?.Invoke(new RunActionProgress() { Cursor = i, NbData = invoices.Count, Message = "Prepare invoices" }); return(invoices); }
public override void Awake() { base.Awake(); IdleInitAction = new IdleAction(this, "Idle", NV, mr, colliders, Ani); AttackAction = new NormalAttack(this, new string[] { "attack1", "attack2" }, 0.44f, NV, Ani); BackAction = new TakeBack(this, "", NV, transform); InjuredAction = new InjuredAction(this, "GetHit", 1, NV, Ani); RunAction = new RunAction(this, "Run", NV, Ani); DieAction = new DieAction(this, "Die", mr, NV, transform, colliders, Ani, 0.2f); //技能节点初始化(skill1Action是AI中需要cd和weight控制的技能,而skill1Action是根据相应的触发条件触发的) skill1Action = new SYSkillAction(this, "skill1", 0.7f, 0.7f, NV, 10, Ani); skill2Action = new JumpAction(this, "skill2", 1.4f, 3f, NV, 3, Ani, 1.65f); //将通过冷却和权值的技能添加到总技能列表中(所以仅将skill1Action进行CD和Weight的封装并添加,而skill2Action在update中根据条件来单独控制技能的触发) SkillList.Add(new SkillCDAndWeight_New(skill1Action, 10, 20)); }
/// <summary> /// 使用手牌 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnUseHandCard_Click(object sender, EventArgs e) { CardBasicInfo UseHandCard; if ((sender.GetType()) == typeof(Button)) { UseHandCard = (CardBasicInfo)((ctlHandCard)(((Button)sender).Parent)).Tag; } else { UseHandCard = (CardBasicInfo)(((ctlHeroAbility)sender).Tag); } GameManager.MyClientManager.CurrentActiveCard = UseHandCard; var msg = CardBasicInfo.CheckCondition(UseHandCard, GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo); if (!string.IsNullOrEmpty(msg)) { MessageBox.Show(msg); return; } var actionlst = RunAction.StartAction(GameManager.MyClientManager.actionStatus, UseHandCard.序列号); if (actionlst.Count != 0) { if ((sender.GetType()) == typeof(Button)) { actionlst.Insert(0, ActionCode.strCard + CardUtility.strSplitMark + CardUtility.strMe); GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentRemainPoint -= UseHandCard.使用成本; GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.HandCardCount--; GameManager.MyClientManager.actionStatus.AllRole.MyPrivateInfo.RemoveUsedCard(UseHandCard.序列号); } else { GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentRemainPoint -= UseHandCard.使用成本; GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.Hero.IsUsedHeroAbility = true; } actionlst.Add(ActionCode.strCrystal + CardUtility.strSplitMark + CardUtility.strMe + CardUtility.strSplitMark + GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentRemainPoint + CardUtility.strSplitMark + GameManager.MyClientManager.actionStatus.AllRole.MyPublicInfo.crystal.CurrentFullPoint); //奥秘计算 actionlst.AddRange(SecretCard.奥秘计算(actionlst, GameManager.MyClientManager.actionStatus, GameManager.MyClientManager.GameId)); GameManager.MyClientManager.actionStatus.AllRole.MyPrivateInfo.ResetHandCardCost(GameManager.MyClientManager.actionStatus); if (SystemManager.游戏类型 != SystemManager.GameType.单机版) { ClientRequest.WriteAction(GameManager.MyClientManager.GameId.ToString(GameServer.GameIdFormat), actionlst); } DisplayMyInfo(); } }
public void Update() { if (m_IsPause) return; //计算delay 时间 if (UnityEngine.Time.realtimeSinceStartup >=m_CurRunTime + m_DelayTime+m_LastPauseTime) { if (!IsRunning) { m_CurRunTime = UnityEngine.Time.realtimeSinceStartup; m_DelayTime = 0; StartAction?.Invoke(); } IsRunning = true; } if (!IsRunning) return; //计算interval if (UnityEngine.Time.realtimeSinceStartup >= m_CurRunTime + m_Pausetime) { m_CurRunTime = UnityEngine.Time.realtimeSinceStartup + m_Interval; m_Pausetime = 0; RunAction?.Invoke(m_Loop - m_CurLoop); //Loop即使为0也执行一次 if (m_Loop != -1) { if (m_CurLoop >= m_Loop) { CompleteAction?.Invoke(); Stop(); } m_CurLoop++; } } }
public static void Run(string file, RunAction runAction) { string filePath = AppDomain.CurrentDomain.BaseDirectory + file; if (runAction == RunAction.RunProject) { RunProject(file, filePath); } else if (runAction == RunAction.RunFile) { RunFile(file, filePath); } else if (runAction == RunAction.ConvertProjectToFile) { ProjectToFile(file, filePath); } }
/// <summary> /// 使用手牌 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnUseHandCard_Click(object sender, EventArgs e) { if (((Button)sender).Tag == null) { return; } CardBasicInfo card; if (((Button)sender).Name == "btnMyHeroAblity") { card = CardUtility.GetCardInfoBySN(((Button)sender).Tag.ToString()); } else { card = (CardBasicInfo)((Button)sender).Tag; } var msg = game.CheckCondition(card); if (!String.IsNullOrEmpty(msg)) { MessageBox.Show(msg); return; } var actionlst = RunAction.StartAction(game, card.SN); if (actionlst.Count != 0) { game.MySelf.RoleInfo.crystal.CurrentRemainPoint -= card.ActualCostPoint; if (((Button)sender).Name != "btnMyHeroAblity") { game.RemoveUsedCard(card.SN); } else { game.MySelf.RoleInfo.IsUsedHeroAbility = true; } actionlst.Add(ActionCode.strCrystal + CardUtility.strSplitMark + CardUtility.strMe + CardUtility.strSplitMark + game.MySelf.RoleInfo.crystal.CurrentRemainPoint + CardUtility.strSplitMark + game.MySelf.RoleInfo.crystal.CurrentFullPoint); //奥秘计算 actionlst.AddRange(game.奥秘计算(actionlst)); game.MySelf.ResetHandCardCost(); Card.Client.ClientRequest.WriteAction(game.GameId.ToString(GameServer.GameIdFormat), actionlst); DisplayMyInfo(); } }
/// <summary> /// 回合开始效果 /// </summary> /// <param name="game"></param> /// <returns></returns> public List <string> 回合开始(ActionStatus game) { List <string> ActionCodeLst = new List <string>(); //回合开始效果 if (回合开始效果 != string.Empty && !沉默状态) { var 回合开始Result = RunAction.StartAction(game, 回合开始效果); //第一条是使用了亡语卡牌的消息,如果不除去,对方客户端会认为使用了一张卡牌 if (回合开始Result.Count > 0) { 回合开始Result.RemoveAt(0); } ActionCodeLst.AddRange(回合开始Result); 潜行特性 = false; } return(ActionCodeLst); }
/// <summary> /// 发动战吼(默认) /// </summary> /// <param name="game"></param> /// <param name="SelfPosition"></param> /// <returns></returns> public List <String> 发动战吼(GameManager game) { List <String> ActionCodeLst = new List <string>(); //战吼效果 if (战吼效果 != String.Empty && !Is沉默Status) { var 战吼Result = RunAction.StartAction(game, 战吼效果); //第一条是使用了战吼卡牌的消息,如果不除去,对方客户端会认为使用了一张卡牌 //如果战吼在召唤的时候无法成功,法术机能会误认为是取消 if (战吼Result.Count > 0) { 战吼Result.RemoveAt(0); } ActionCodeLst.AddRange(战吼Result); } return(ActionCodeLst); }
public void Run(DateTime now) { if (IsStillRunning) { return; } LastRunTime = now; Task.Run(() => { IsStillRunning = true; try { RunAction?.Invoke(); } catch { } IsStillRunning = false; }); }
private static int RemoveData(List <Artran> invoices, RunAction callbackProgress = null) { if (invoices.Count == 0) { return(0); } int fstNo = invoices.Min(i => i.GetInvnoToInt()); foreach (var inv in invoices) { Console.WriteLine(inv.invno); } invoices = PrepareInvoiceNumbers(invoices, callbackProgress, false); var keys = string.Join(",", invoices.Select(invoice => invoice.invno)); callbackProgress?.Invoke(new RunActionProgress() { Cursor = 0, NbData = keys.Length, Message = "Delete invoices" }); if (SwitchDataFromTableToTable("artran", "artrand", keys)) { SwitchDataFromTableToTable("arcash", "arcashd", keys); SwitchDataFromTableToTable("ictran", "ictrand", keys, "docno", new List <string>() { "trantype='I'" }); SwitchDataFromTableToTable("armaster", "armasterd", keys); } callbackProgress?.Invoke(new RunActionProgress() { Cursor = keys.Length, NbData = keys.Length, Message = "Delete invoices" }); ReloadStockFromInvoices(invoices, false, callbackProgress); ReloadInvoiceNumbersFrom(fstNo, callbackProgress); return(invoices.Count); }