private string GetRelatedNameUpdateQueries(Type entityType, ProcedureGenerationModel model)
        {
            var sb           = new StringBuilder();
            var relatedTypes = _entityUtils.GetRelatedEntityTypes(entityType);
            var tableName    = _entityUtils.GetTableName(entityType);

            for (var i = 0; i < relatedTypes.Count; i++)
            {
                var relatedType   = relatedTypes[i];
                var schemaName    = _entityUtils.GetSchemaName(relatedType);
                var delimitedName = relatedType.Name.GetDelimitedName();

                sb.Append($"    {SQLConstants.UPDATE} {schemaName}.{delimitedName}{Environment.NewLine}");
                sb.Append($"    {SQLConstants.SET} {tableName}_name = {SQLConstants.NAME_PARAMETER_NAME}{Environment.NewLine}");
                sb.Append($"    {SQLConstants.WHERE} {model.IdFieldName} = {model.IdParameterName};{Environment.NewLine}{Environment.NewLine}");
            }

            return(sb.ToString());
        }
Example #2
0
        private string GetRelatedNameUpdateQueriesForRestore(Type entityType, ProcedureGenerationModel model)
        {
            var sb = new StringBuilder();
            var baseTableSchema = _entityUtils.GetSchemaName(entityType);
            var baseTableName   = _entityUtils.GetTableName(entityType);

            var setPart = $"    {SQLConstants.SET} {baseTableName}_name = (SELECT bt.{baseTableName}_name FROM {baseTableSchema}.{baseTableName} bt WHERE bt.{baseTableName}_id = {SQLConstants.PARAMETER_PREFIX}{baseTableName}_id){Environment.NewLine}" +
                          $"    {SQLConstants.WHERE} {model.IdFieldName} = {model.IdParameterName};{Environment.NewLine}{Environment.NewLine}";

            var relatedTypes = _entityUtils.GetRelatedEntityTypes(entityType);

            for (var i = 0; i < relatedTypes.Count; i++)
            {
                var relatedType   = relatedTypes[i];
                var schemaName    = _entityUtils.GetSchemaName(relatedType);
                var delimitedName = relatedType.Name.GetDelimitedName();

                sb.Append($"    {SQLConstants.UPDATE} {schemaName}.{delimitedName}{Environment.NewLine}");
                sb.Append(setPart);
            }

            return(sb.ToString());
        }
        private ProcedureGenerationModel GetProcedureGenerationModel(Type entityType)
        {
            var model = new ProcedureGenerationModel(entityType, _entityUtils.GetSchemaName, NamingUtils.GetFieldNameFromPropertyName);

            return(model);
        }