This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

Extension ID

com.castsoftware.dotnet.msappblocksdata

What's new?

See Microsoft ApplicationBlocks Data - 1.0 - Release Notes for more information.

Description

This extension provides support for Microsoft Application Blocks Data Library APIs (see Methods Supported) which are responsible for typical CRUD operations with the database.

In what situation should you install this extension?

If your C# application performs SQL queries with the Microsoft ApplicationBlocks Data Library framework, and you want to modelize the Client/Server links with appropriate objects and links, then you should install this extension.

Technology support

Item

Version

Supported

Supported Technology

Notes

Microsoft Application Blocks Data Library2.0(tick)C#Application Blocks Data Library is a separate download, see https://www.nuget.org/packages/Microsoft.ApplicationBlocks.Data

AIP Core compatibility

AIP Core release

Supported

8.3.x(tick)

Supported DBMS servers

DBMS

Supported

CSS/PostgreSQL(tick)

Download and installation instructions

For C# applications using Microsoft ApplicationBlocks Data, this extension will be automatically installed by CAST Console. This is in place since October 2023.

For upgrade, if the Extension Strategy is not set to Auto update, you can manually upgrade the extension using the Application - Extensions interface.

What results can you expect?

The following objects and  links will be displayed in CAST Enlighten:

Objects

Icon

Type Description

When is this object created ?

DotNet ApplicationBlocks Data SQL Query

an object is created for each SQL query found and resolved in an ApplicationBlocks Data method call 
Link typeCaller typeCallee type

Methods Supported

callLink C# Method

DotNet ApplicationBlocks Data SQL Query

  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQueryTypedParams
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReader
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteReaderTypedParams
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteXmlReader
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteXmlReaderTypedParams
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteScalar
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteScalarTypedParams
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDataset
  • Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteDatasetTypedParams
  • Microsoft.ApplicationBlocks.Data.SqlHelper.UpdateDataset
  • Microsoft.ApplicationBlocks.Data.SqlHelper.FillDataset
useLinkDotNet ApplicationBlocks Data SQL QueryTable / ViewCreated by SQL Analyzer when DDL source files are analyzed
callLinkDotNet ApplicationBlocks Data SQL QueryProcedure
useLinkDotNet ApplicationBlocks Data SQL QueryMissing TableCreated by Missing tables and procedures for .Net extension when the object is not analyzed
callLinkDotNet ApplicationBlocks Data SQL QueryMissing Procedure

Example code scenarios

ExecuteDataset

Click here to expand...
ExecuteDataset
public DataSet fConsultaRecibo(string dta_mov, string cod_sus, string num_rcb, string cod_stm, string strConnection)
        {
            StringBuilder query = new StringBuilder();
            query.Append("");
            query.Append("SELECT * FROM tes_pagamento a, tes_negocio b, tes_ocorrencias_pagamento c,");
            query.Append(" tes_cadastro_retorno_pagamento d");
            query.Append(" WHERE a.cod_idc_pgm = b.cod_idc_pgm");
            query.Append(" and a.cod_stm = b.cod_stm");
            query.Append(" and b.cod_idc_pgm = c.cod_idc_pgm_ori");
            query.Append(" and b.cod_stm = c.cod_stm");
            query.Append(" and a.cod_frm_pgm = d.cod_frm_pgm");
            query.Append(" and a.cod_ocr_pgm = d.cod_ocr_pgm");
            query.Append(" and d.ind_impr_recibo = 'S'");
            query.Append(" and c.dta_mov = '" + dta_mov + "'");
            query.Append(" and b.cod_sus = '" + cod_sus + "'");
            query.Append(" and c.num_rcb = '" + num_rcb + "'");
            query.Append(" and a.cod_stm = '" + cod_stm + "'");

            CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(strConnection);
            Conexao.OpenConnection();

            return ms.SqlHelper.ExecuteDataset(Conexao.DBConnection, CommandType.Text, query.ToString());
        }

ExecuteNonQuery

Click here to expand...
ExecuteNonQuery
public void sAtualizaStatus(string FLG_PGM_CMS_RPS, CLS_Lancamentos lanc)
        {
            try
            {
                StringBuilder query = new StringBuilder();
                query.Append("");

                query.Append(" Update CMS_LANCAMENTO_COMISSAO ");
                query.Append(" SET  FLG_PGM_CMS_RPS = '" + FLG_PGM_CMS_RPS + "'");
                query.Append(" WHERE COD_CRT = '" + lanc.COD_CRT + "' ");
                query.Append(" AND MES_RFR_EXT = '" + lanc.MES_RFR_EXT + "' ");
                query.Append(" AND COD_CIA_SGD ='" +lanc.COD_CIA_SGD + "' ");
                query.Append(" AND COD_EXT_CRT ='" + lanc.COD_EXT_CRT + "' ");
                query.Append(" AND COD_LNC_CMS ='" + lanc.COD_LNC_CMS+ "'");
                query.Append(" AND TIP_LNC_CMS ='" + lanc.TIP_LNC_CMS + "'");

                CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(_mainConnection.ConnectionString);
                Conexao.OpenConnection();

                ms.SqlHelper.ExecuteNonQuery(Conexao.DBConnection, CommandType.Text, query.ToString());
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }

ExecuteXmlReader

Click here to expand...
ExecuteXmlReader
public DataSet fConsultaReciboExecuteXmlReader(string strConnection)
        {
            string strSql = " Select * from tmpTabPagTitSort ";

            CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(strConnection);
            Conexao.OpenConnection();

            return ms.SqlHelper.ExecuteXmlReader(Conexao.DBConnection, CommandType.Text, strSql);
        }

ExecuteReader

Click here to expand...
ExecuteReader
public string fConsultaProd(string codProd, string strConnection)
        {
            string query = " Select * from prd_produto_capitalizacao PC "
                         + " Inner join prd_produto_geral PG "
                         + " On PC.cod_prd = PG.cod_prd "
                         + " Where PC.cod_prd = '" + codProd + "' ";

            query += " order by PC.cod_prd";

            CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(strConnection);
            Conexao.OpenConnection();

            return selectToXml(ms.SqlHelper.ExecuteReader(Conexao.DBConnection, CommandType.Text, query));
        }

ExecuteDataset

Click here to expand...
ExecuteDataset
public DataSet fConsultaRecibo(string dta_mov, string cod_sus, string num_rcb, string cod_stm, string strConnection)
        {
            StringBuilder query = new StringBuilder();
            query.Append("");
            query.Append("SELECT * FROM tes_pagamento a, tes_negocio b, tes_ocorrencias_pagamento c,");
            query.Append(" tes_cadastro_retorno_pagamento d");
            query.Append(" WHERE a.cod_idc_pgm = b.cod_idc_pgm");
            query.Append(" and a.cod_stm = b.cod_stm");
            query.Append(" and b.cod_idc_pgm = c.cod_idc_pgm_ori");
            query.Append(" and b.cod_stm = c.cod_stm");
            query.Append(" and a.cod_frm_pgm = d.cod_frm_pgm");
            query.Append(" and a.cod_ocr_pgm = d.cod_ocr_pgm");
            query.Append(" and d.ind_impr_recibo = 'S'");
            query.Append(" and c.dta_mov = '" + dta_mov + "'");
            query.Append(" and b.cod_sus = '" + cod_sus + "'");
            query.Append(" and c.num_rcb = '" + num_rcb + "'");
            query.Append(" and a.cod_stm = '" + cod_stm + "'");

            CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(strConnection);
            Conexao.OpenConnection();

            return ms.SqlHelper.ExecuteDataset(Conexao.DBConnection, CommandType.Text, query.ToString());
        }

FillDataset

Click here to expand...
FillDataset
public DataSet fillDataSetMethod(string strConnection)
{

       string strSql = "DELETE FROM [tkgs_cap].[dbo].[CAP_PROPOSTAS_titulares] WHERE [COD_CTR] = 'BOB'";

       CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(strConnection);
       Conexao.OpenConnection();

       return ms.SqlHelper.FillDataset( Conexao.DBConnection,CommandType.Text, strSql);
}

UpdateDataset

Click here to expand...
UpdateDataset
public DataSet updateDataSetMethod(string dta_mov, string cod_sus, string num_rcb, string cod_stm, string strConnection)
        {
            string insert_strSql = "Insert into dbo.ife_ctl_datas_sistema (Cod_Ctr,cod_sts_tit ,tip_slt_res,Dta_Solicitado) values ('COB','RS', 'RES' ,Getdate() )";
            string delete_strSql = " delete from ife_ctl_datas_sistema where cod_ocr = 'CLO'";
            string update_strSql = " update ife_ctl_datas_sistema set dat_corrente = @data where cod_stm = 'COB' ";

            CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(strConnection);
            Conexao.OpenConnection();

            return ms.SqlHelper.UpdateDataset(insert_strSql, delete_strSql, update_strSql, CommandType.Text, "ife_ctl_datas_sistema");
        }

ExecuteScalar

Click here to expand...
ExecuteScalar
public DataSet fConsultaReciboExecuteScalar(string strConnection)
        {
            string strSql = " Select * from CAP_PROPOSTAS_titulares WHERE COD_CTR = 'BOB' ";

            CLS_ConnectionProvider Conexao = new CLS_ConnectionProvider(strConnection);
            Conexao.OpenConnection();

            return ms.SqlHelper.ExecuteScalar(Conexao.DBConnection, CommandType.Text, strSql);
        }

Limitations

  • Objects will not be created if evaluation fails to resolve the necessary parameter.
  • The set of supported methods is limited to what is documented.
  • The support works when the Microsoft Application Blocks Data Library is used directly, that is, not through a custom wrapper delivered as an assembly.