Application Builder

Labels
AJAX(112) App Studio(9) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(12) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(178) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(184) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(3) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Application Builder
Thursday, February 21, 2013PrintSubscribe
Action “When View” Property

The “When View” property allows controlling the visibility of an action based on the current view.

For example, let’s create a custom action that will display the extended price of an order detail. This action will be available on editForm1 and grid1 by default. Let’s prevent the action from being displayed on grid1 by using When View property.

Creating the Action and Business Rule

Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Right-click on OrderDetails / Actions / ag3 (ActionBar) – New node, and press New Action.

Creating a new action in action group 'ag3'.

Assign the following values.

Property Value
Command Name Custom
Command Argument ShowExtendedPrice
Header Text Extended Price

Press OK to save. Right-click on OrderDetails / Business Rules node, and press New Business Rule.

Creating a new business rule in OrderDetails controller.

Use the following configuration:

Property Value
Type JavaScript
Command Name Custom
Command Argument ShowExtendedPrice
Phase Execute
Script
var extendedPrice = [UnitPrice] * (1 - [Discount]) * [Quantity];
alert(String.localeFormat('{0:c}', extendedPrice));

Press OK to save.

On the toolbar, press Browse. Navigate to the Order Details page. The Extended Price button will be present on the action bar. When you select a row and activate the button, the extended price will be displayed in an alert.

Extended Price action available on view 'grid1'.

Select a record – the action will also be available on editForm1.

Extended Price action available on view 'editForm1'.

Note that the action is not available on createForm1. This is because the When Last Command Name property of the action is blank (which is equivalent to “Select”). View createForm1 is activated by triggering the “New” action, resulting in the Extended Price action being hidden.

Specifying “When View”

Let’s restrict display of the Extended Price action to editForm1 using the When View property.

In the Project Explorer, double-click on OrderDetails / Actions / ag3 (ActionBar) – New / a100 – Custom, ShowExtendedPrice | Extended Price action node.

Extended Price action in the Project Explorer.

Change the When View property:

Property New Value
When View editForm1

Press OK to save.

Viewing the Results

On the toolbar, press Browse. Navigate to the Order Details page. Note that the action is no longer displayed in grid1.

Extended Price action not displayed in view 'grid1'.

Select a record. The action will be available in editForm1.

Extended Price action displayed in view 'editForm1'.

Tuesday, February 19, 2013PrintSubscribe
Calling a Stored Procedure

SQL business rules allow server-side code to be executed in response to certain conditions. In addition to executing anonymous SQL code blocks, business rules can also be used in order to trigger a stored procedure.

Let’s create a stored procedure in the Northwind database that will calculate the average value of Freight for a specified customer. Then, a business rule will be added that will be triggered before every Update and Insert command in the Orders controller, and will use the stored procedure to verify that the Freight does not exceed the average freight. If it does, a message will be displayed and the command will be canceled.

Creating a Stored Procedure

Start SQL Server Management Studio. In the Object Explorer, right-click on Databases / Northwind node, and press New Query.

Creating a new query for Northwind database.

Insert the following query:

create procedure sp_ValidateFreight
    -- inputted customer
    @CustomerID nvarchar(5),
    -- returned average freight
    @AverageFreight money output
as
begin
   select @AverageFreight = AVG(Freight) 
   from Orders
   where CustomerID = @CustomerID
end
go

On the toolbar, press Execute to create the stored procedure.

Adding the Business Rule

Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Right-click on Orders / Business Rules node, and press New Business Rule.

Creating a new business rule for Orders controller.

Assign the following values:

Property Value
Type SQL
Command Name Update|Insert
Phase Before
Script
declare @AvgFreightOfOrders money
-- execute stored procedure
exec sp_ValidateFreight @CustomerID,
    @AverageFreight = @AvgFreightOfOrders output
-- check the freight
if @AvgFreightOfOrders is not null 
    and @AvgFreightOfOrders < @Freight 
begin
    -- prevent actual Update or Insert from happening
    set @BusinessRules_PreventDefault = 1 
    -- show an alert next to the Freight field
    set @Result_Focus = 'Freight,The freight exceeds the average' 
    + ' of $' + CONVERT(varchar(12), @AvgFreightOfOrders, 1) 
    + ' of previous orders.'
end

Press OK to save the business rule.

Viewing the Results

On the toolbar, press Browse. When generation is complete, navigate to the Customers page, select a customer, and create a new order. Enter a very high value for Freight, and save the record. The save will be canceled and a message will be displayed next to Freight.

The business rule returned the average value from the stored procedure and displayed a message next to the Freight field.

Enter a value below the displayed average and press OK. The order will be saved.

Tuesday, February 19, 2013PrintSubscribe
PostgreSQL Sample Web Application

The PosgreSQL open-source database management system offers several sample databases. One of these samples is Pagila, a conversion of the sakila sample database from MySQL. Let’s use Code On Time generator to create a web app straight from this database.

Installing PostgreSQL and Pagila

First, download the correct version of PostgreSQL for your computer. Run the installer and follow the instructions to complete the installation.

Next, download the Pagila sample database. Follow the README file instructions to install the database.

Registering NpgSQL .NET Data Provider in GAC

We will be using NpgSQL .NET Data Provider to connect to the PostgreSQL database engine. This data provider is designed by the vender to be deployed alongside the binary files of a .NET web application to eliminate any need to install client software. Code On Time generator and produced web apps use a provider-independent model when interacting with the application database. This model of database access requires registration of native data providers in the Global Assembly Cache (GAC). Follow the instructions below to register the Npgsql data provider in GAC.

Download the NpgSQL .NET 4.0 Provider for PostgreSQL. Extract the contents of the zip file.

Run cmd.exe as administrator.

Running the command prompt as administrator.

Use the following command to navigate to the location of “gacutil.exe” tool. The tool will be present if Visual Studio is installed. Otherwise, install the Microsoft SDK for .NET Framework 4.0. The location and version of the SDK may be different on your computer.

cd C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools

Next, run the following line to register the data provider in the Global Assembly Cache. Make sure to use the correct path to the extracted “Npgsql.dll” file.

gacutil.exe /i "[Path]\Npgsql.dll"

If the installation was successful, you will see the text “Assembly successfully added to the cache”.

Installation of Npqsql to the global assembly cache was successful.

Repeat the process to install the second required DLL using the following line.

gacutil.exe /i "[Path]\Mono.Security.dll"

The next step will be to add a reference in the machine.config file for both 32-bit and 64-bit versions of Microsoft.NET.

You must update both configuration files on 64-bit machines.

Run Visual Studio as an administrator.

Running Visual Studio as administrator.

On the toolbar, press File | Open | File.

Opening a file in Visual Studio 2012.

Open the 32-bit machine.config file, located at C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config.

Within the XML file, locate the configuration/system.data/DbProviderFactories section. Add the following line inside the section. Note that your data provider version may be different.

<add name="Npgsql Data Provider" invariant="Npgsql"  support="FF" description=".Net Framework Data Provider for Postgresql Server" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
Save the file. 

Open the 64-bit machine.config file, located at C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config. Add the same configuration element inside configuration/system.data/DbProviderFactories.

Save the file. The provider is now configured.

Creating a Web Application

Start Code On Time web application generator. Click on Create new web application. Select Web Site Factory from the list.

Creating a Web Site Factory project.

Assign a name of “PagilaDemo”, select the programming language of your choice, and press Create.

Assigning a name to the project.

Preserve the default Namespace and Framework, and press Next.

On the Database Connection page, select “.Net Framework Data Provider for Posgresql Server” for Data Provider. Then, click on the “…” button next to Connection String field.

Specifying Npgsql Provider as the data provider and activating the connection string configuration screen.

Enter the connection string properties and press Test to confirm.

Successful test of PostgreSQL connection string.

Press OK to use the configured connection string. Press Next until you reach the Reports screen. Check the box to enable reporting.

Enabling reports in the web application.

Press Next until you reach the Theme page. Select “Yoshi” from the list.

Selecting 'Yoshi' theme on the Theme page of the Project Wizard.

Hold down Shift key and press Next to skip to the Summary page. Press Generate and wait for the web app to load in the default browser.

Pagila web app running in Internet Explorer 9.

Continue to Roadmap 2013