Esempio n. 1
0
        /// <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));
        }
Esempio n. 3
0
 /// <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);
        }
Esempio n. 5
0
    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));
        }
Esempio n. 7
0
        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();
            }
        }
Esempio n. 8
0
            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;
                }
            }