Blog: Posts from April, 2012

Labels
AJAX(112) App Studio(7) 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(177) 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(183) 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(2) 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
Posts from April, 2012
Saturday, April 21, 2012PrintSubscribe
Confirming User Actions

Various user interface actions may lead to a serious impact on application data and require additional visual confirmation. The standard action Delete is a good example. End users are presented with the standard browser window to confirm the action.

Standard simple confirmation is displayed when a user initiates 'Delete' action in a Code On Time web application

Application client library automatically assigns the standard “Delete?” confirmation message to a Delete action if the explicit confirmation is not defined in the data controller.

You can set a confirmation message for any action in Project Designer.

Create the Northwind sample, activate the project design mode and select Suppliers / Actions / ag1 (Grid) /a3 node on the Controllers tab in the Project Explorer.

Actions  'ag1/a3', 'ag2/a2', and 'ag4/a2' have their 'Command Name' property set to 'Delete'

Change the properties of the action as follows and click OK button.

Property New Value
Confirmation Delete “{CompanyName}” supplier?

Notice that there are several other ways to delete a record. If you want to displays the exact same confirmation message, then make sure to change the Confirmation property of actions Suppliers / Actions / ag2 (Form) / a3 and Suppliers / Actions / ag4 (ActionBar) – Edit/Delete / a2.

If an action with confirmation is activated, then the client library will parse the content of the confirmation message and replace any matching field names enclosed in curly brackets with the values from the  current data row.

The new confirmation message is displayed if you generated the application and try deleting a supplier.

A customized simple confirmation message in a Code On Time web application

A developer can assign a consistent message to all actions with the command name Delete by implementing a data controller virtualization.

Saturday, April 21, 2012PrintSubscribe
Activating Project Designer

You can customize a Code On Time web application in the built-in Project Designer or by changing the application baseline in a text editor.

Start the application generator and click on the project name.

Selecting a project on the start page of Code On Time application generator

In the list of project actions select Design.

Project actions available in a Web Site Factory project created with Code On Time web application generator

This action will open application in the Project Designer.

A project opened in Code On Time Designer

Friday, April 20, 2012PrintSubscribe
Implementing Business Logic with SQL Action

Complex business logic can be implemented either with custom business rules or with the help of SQL action.

Consider the following example.

End user selects an order in a sample Northwind web application.
Multiple line items (order details) must be discounted with a single
user interface command.

Master-detail page in a web app created with Code On Time web application generator

Let’s add the user interface command.

Select the project on the start page of application generator and click Design.

Right-click Orders / Actions / ag1 (Grid) action group node on the Controllers tab in the Project Explorer and select New Action.

Creating a new action in 'Grid' scope in a Code On Time web application

Enter the following values in the action properties and click OK button.

Property Value
Command Name SQL
Header Text Standard Discount
Data
update "Order Details"
set Discount = 0
where 
    OrderID = @OrderID and Discount = 0.1
    
update "Order Details"
set Discount = cast(Discount as decimal(3,2)) + 0.01
where 
    OrderID = @OrderID and Discount < 0.1
Confirmation The discount will be increased by 1%.

Click Browse on the Project Designer toolbar, navigate to the Orders page, select an existing order and choose Standard Discount option in the context menu of the order data row.

Discounting order line items with 'SQL' action

Confirm the action and the standard discount of 1% will be added to each line item that have a discount less than 10%. If you keep discounting the order details, then the discount will revert to 1% after reaching 10%.

Data view Order Details is shown after execution of SQL action Standard Discount four times.  The standard discount of 4% has been assigned to all line items that have the discount less than 10%.

Data view 'Order Details' after execution of SQL action 'Standard Discount' defined in 'Orders' data controller.  The standard discount of 4% has been assigned to all line items that have the discount less than 10% by selecting 'Standard Discount' option four times.

You can affect multiple rows with the same definition of SQL action if you enable multiple selection in the Orders data view.

First, add a new action to the action group Orders / Actions / ag4 (ActionBar) – Edit/Delete.

Adding a new action to a 'flat' action group in a Code On Time web application

Set its properties as follows and click OK button.

Property Value
Command Name SQL
Header Text Discount
Data
update "Order Details"
set Discount = 0
where 
    OrderID = @OrderID and Discount = 0.1
    
update "Order Details"
set Discount = cast(Discount as decimal(3,2)) + 0.01
where 
    OrderID = @OrderID and Discount < 0.1
Confirmation The discount will be increased by 1% in all selected orders.
When Client Script
this.get_selectedValues().length > 0

The JavaScript expression in the When Client Script property is evaluated at runtime in the web browser to enable the Discount option on the action bar. The Discount option becomes visible when at least one item is selected.

Note that the SQL script is identical to the script of action placed in the group with Grid scope. You may want to consider creating a stored procedure and specifying an expression in the Data property of both actions similar to the the one shown below:

execute sp_IncreaseOrderDiscount @OrderID

Next, enable multiple data row selection mode for Customers / Orders / container1 / view1 (Orders, grid1) data view node in Project Designer.

A master data view selected in Project Explorer

Property New Value
Selection Mode Multiple

Browse to the order page of the Northwind sample application and select multiple orders.

Click Discount option on the action bar to apply a discount to the details of selected orders.

A custom 'SQL' action on the action bar of an app created with Code On Time web application generator

The application framework is aware of multiple selection and will perform one SQL action for each selected primary key value. 

Remember that application end users always have an option to go over each line item to rapidly change the Discount in the Data Sheet view by hand.

Data Sheet view in a Code On Time web application