/// <summary> /// Updates the model empty values. /// </summary> /// <param name="model">The model.</param> void UpdateModelEmptyValues(CustomExecution model) { if (model.DatabaseEnumName == null) { model.DatabaseEnumName = Context.Naming.DatabaseEnumName; } if (model.ProcedureFullName == null) { model.ProcedureFullName = Context.Config.DatabaseTargetSchemaForProcedureNames + "." + model.SqlProcedureName; } if (model.Database == null) { model.Database = new DataAccess(Context.Config.GetDatabase()).Database; } if (model.ProcedureDefinitionScript == null) { model.ProcedureDefinitionScript = GetProcedureDefinitionScript(); } if (model.ProcedureInfo == null) { model.ProcedureInfo = Parser.ParseProcedure(model.ProcedureDefinitionScript); } if (model.Comment == null) { model.Comment = BOAProcedureCommentParser.GetCommentForDotNet(Model.ProcedureInfo.Comment); } }
public void ExecuteReaderTest() { var testData = new CustomExecution { DotNetMethodName = "GetKMHLimitByDebitCard", ReturnValueType = "BOA.Types.Kernel.DebitCard.DebitCardKMHInfoContract".LoadBOAType(), SqlProcedureName = "sel_KMHLimitByDebitCard", ExecutionType = ExecutionType.ExecuteReader, Comment = "Aloha" }; testData.ProcedureDefinitionScript = sel_KMHLimitByDebitCard; testData.DatabaseEnumName = "Boa"; testData.ProcedureFullName = "DBT.sel_KMHLimitByDebitCard"; testData.Database = DbLayerPrep; var instance = new CustomExecutionCs(null, testData); var cs = instance.Generate(); Assert.IsTrue(StringHelper.IsEqualAsData(ExpectedOutputForExecuteReader, cs, GlobalizationUtility.EnglishCulture)); }
/// <summary> /// Initializes a new instance of the <see cref="CustomExecutionCs" /> class. /// </summary> /// <param name="context">The context.</param> /// <param name="model">The model.</param> public CustomExecutionCs(WriterContext context, CustomExecution model) : base(context) { Model = model; BOAProcedureCommentParser = new BOAProcedureCommentParser(); UpdateModelEmptyValues(model); }
public void Configure(TestConfiguration configuration, TestEnvironment environment) { var discovery = new CustomDiscovery(environment); var execution = new CustomExecution(); configuration.Conventions.Add(discovery, execution); }
public override IEnumerator ExecutePlayerC() { var executionExists = DogeBossData.execution_spells.ContainsKey(bossID); if (executionExists) { DogeBoss dogeBoss = this; CustomExecution execution = DogeBossData.execution_spells[beingObj.beingID][UnityEngine.Random.Range(0, DogeBossData.execution_spells[beingObj.beingID].Count())]; yield return((object)new WaitForSeconds(0.2f)); dogeBoss.ResetAnimTriggers(); dogeBoss.transform.right = Vector3.left; yield return((object)new WaitForSeconds(0.4f)); dogeBoss.mov.MoveToTile(dogeBoss.ctrl.currentPlayer.TileLocal(execution.tile), true, false); yield return((object)new WaitWhile(new Func <bool>(() => dogeBoss.mov.state == State.Moving))); yield return((object)new WaitForSeconds(0.2f)); if (execution.preExecutionSpellID != null) { var preExecutionSpell = deCtrl.CreateSpellBase(execution.preExecutionSpellID, this, false); preExecutionSpell.StartCast(false, 0, false); } yield return((object)new WaitForSeconds(0.2f)); yield return((object)dogeBoss.StartCoroutine(dogeBoss._StartDialogue("Execution"))); if ((bool)(UnityEngine.Object)dogeBoss.ctrl.currentPlayer && dogeBoss.ctrl.currentPlayer.downed) { yield return((object)new WaitForSeconds(0.4f)); var executionSpell = deCtrl.CreateSpellBase(execution.spellID, this, false); if (execution.preExecutionSpellID == null) { anim.SetTrigger("spellCast"); } executionSpell.StartCast(false, 0, false); yield return((object)new WaitForSeconds(2f)); if ((bool)(UnityEngine.Object)dogeBoss.ctrl.currentPlayer && dogeBoss.ctrl.currentPlayer.downed) { dogeBoss.mov.MoveToTile(dogeBoss.ctrl.currentPlayer.TileLocal(execution.tile), true, false); yield return((object)new WaitWhile(new Func <bool>(() => dogeBoss.mov.state == State.Moving))); yield return((object)new WaitForSeconds(0.4f)); } } if (dogeBoss.ctrl.PlayersActive()) { dogeBoss.StartCoroutine(dogeBoss.StartLoopC()); } } else { Debug.Log("No execution spell found"); yield return(base.ExecutePlayerC()); } }
public void ExecuteScalarTest() { var testData = new CustomExecution { DotNetMethodName = "SelectTotalUsedAmountOfAccount", ReturnValueType = "decimal?".LoadBOAType(), SqlProcedureName = "sel_DebitTransactionTotalUsedAmountOfAccount", ExecutionType = ExecutionType.ExecuteScalar, Comment = "Aloha" }; testData.ProcedureDefinitionScript = File.ReadAllText("Generators\\DBT.sel_DebitTransactionTotalUsedAmountOfAccount.txt"); testData.DatabaseEnumName = "Boa"; testData.ProcedureFullName = "DBT.sel_DebitTransactionTotalUsedAmountOfAccount"; testData.Database = DbLayerPrep; var instance = new CustomExecutionCs(null, testData); var cs = instance.Generate(); Assert.IsTrue(StringHelper.IsEqualAsData(ExpectedOutputForExecuteScalar, cs, GlobalizationUtility.EnglishCulture)); }
public void Handle() { var procedureName = _input.ProcedureName; if (procedureName.IsNullOrEmpty()) { Result.ErrorMessage = "Herhangi bir procedure ismi seçilmelidir"; return; } var connectionInfo = FindProcedureContainerDatabaseConnectionInfo(); if (connectionInfo == null) { return; } using (var database = new SqlDatabase(connectionInfo.ConnectionStringDev)) { procedureName = ClearProcedure(procedureName); var dotNetMethodName = GetMethodNameFromProcedure(procedureName); var data = new CustomExecution { DotNetMethodName = dotNetMethodName, SqlProcedureName = procedureName.Split('.').Last(), ExecutionType = ExecutionType.ExecuteReader, DatabaseEnumName = connectionInfo.DatabaseName, ProcedureFullName = procedureName, Database = database }; if (dotNetMethodName.StartsWith("Update") || dotNetMethodName.StartsWith("Delete")) { data.ExecutionType = ExecutionType.ExecuteNonQuery; } if (dotNetMethodName.StartsWith("Insert")) { data.ExecutionType = ExecutionType.ExecuteScalar; } var generator = new CustomExecutionCs(null, data); if (dotNetMethodName.StartsWith("Select")) { if (generator.ProcedureInfoReturnColumns.Count == 1) { data.ExecutionType = ExecutionType.ExecuteReaderForOneColumn; } } if (data.ReturnValueType == null) { if (generator.ParameterIsContract || data.ExecutionType == ExecutionType.ExecuteReader) { data.ReturnValueType = FindType(); } } Result.GeneratedCsCode = generator.Generate(); } }
public static void Switch(XmlReader reader, BeingObject beingObj) { switch (reader.Name) { case "Music": if (!DogeBossData.boss_music.ContainsKey(beingObj.beingID)) { DogeBossData.boss_music.Add(beingObj.beingID, new CustomBossMusic(reader)); } else { Debug.LogError("Boss " + beingObj.beingID + " can only have one boss music track"); } break; case "IntroLine": if (!DogeBossData.intro_lines.ContainsKey(beingObj.beingID)) { DogeBossData.intro_lines.Add(beingObj.beingID, new List <string>()); } DogeBossData.intro_lines[beingObj.beingID].Add(reader.ReadElementContentAsString()); break; case "ExecutionLine": if (!DogeBossData.execution_lines.ContainsKey(beingObj.beingID)) { DogeBossData.execution_lines.Add(beingObj.beingID, new List <string>()); } DogeBossData.execution_lines[beingObj.beingID].Add(reader.ReadElementContentAsString()); break; case "SparedLine": if (!DogeBossData.spare_lines.ContainsKey(beingObj.beingID)) { DogeBossData.spare_lines.Add(beingObj.beingID, new List <string>()); } DogeBossData.spare_lines[beingObj.beingID].Add(reader.ReadElementContentAsString()); break; case "DownedLine": if (!DogeBossData.defeated_lines.ContainsKey(beingObj.beingID)) { DogeBossData.defeated_lines.Add(beingObj.beingID, new List <string>()); } DogeBossData.defeated_lines[beingObj.beingID].Add(reader.ReadElementContentAsString()); break; case "FlawlessLine": if (!DogeBossData.perfect_lines.ContainsKey(beingObj.beingID)) { DogeBossData.perfect_lines.Add(beingObj.beingID, new List <string>()); } DogeBossData.perfect_lines[beingObj.beingID].Add(reader.ReadElementContentAsString()); break; case "KilledLine": if (!DogeBossData.killed_lines.ContainsKey(beingObj.beingID)) { DogeBossData.killed_lines.Add(beingObj.beingID, new List <string>()); } DogeBossData.killed_lines[beingObj.beingID].Add(reader.ReadElementContentAsString()); break; case "MercyLine": if (!DogeBossData.mercy_lines.ContainsKey(beingObj.beingID)) { DogeBossData.mercy_lines.Add(beingObj.beingID, new List <string>()); } DogeBossData.mercy_lines[beingObj.beingID].Add(reader.ReadElementContentAsString()); break; case "ExecutionSpell": if (!DogeBossData.execution_spells.ContainsKey(beingObj.beingID)) { DogeBossData.execution_spells.Add(beingObj.beingID, new List <CustomExecution>()); } var newExecution = new CustomExecution(reader); DogeBossData.execution_spells[beingObj.beingID].Add(newExecution); break; //case "Mercy": // if (!CustomBossIndex.mercy.ContainsKey(beingObj.beingID)) CustomBossIndex.mercy.Add(beingObj.beingID, reader.ReadElementContentAsBoolean()); // break; case "DontCountKill": if (reader.ReadElementContentAsBoolean()) { DogeBossData.kill_not_counted.Add(beingObj.beingID); } break; } }