Business Rules/Logic

Labels
AJAX(112) App Studio(8) 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(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(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
Business Rules/Logic
Saturday, November 13, 2010PrintSubscribe
Order Form Sample

In this tutorial we will detail the process of creating a custom Order Form with Code On Time generator and Web Site Factory project. We will customize the sample application generated straight from the Northwind database.

Customization includes creating a new page, adding data views to the page, configuring data controllers to calculate the extended priced of order detail records, the subtotal and total amounts of the order, and freight charges. We will also apply a custom template to alter the presentation of the form.

The screen shot below represents the final product of project customization.

image

Here is the same form rendered in “read-only” mode.

image

 Download this tutorial now! (6172K)

Watch the tutorial on our YouTube channel:

Part 1: http://www.youtube.com/watch?v=ekb8_S7YaRM

Part 2: http://www.youtube.com/watch?v=syGsUTuK2ZE

Part 3: http://www.youtube.com/watch?v=zImXeWos1U0

Monday, October 18, 2010PrintSubscribe
Bulk Import CSV, XLS, and XLSX

Code On Time applications now support bulk import of data files in CSV, XLS (Microsoft Excel prior to Office 2007) and XLSX (Microsoft Office 2007, 2010). The feature is easily activated from Actions menu in grid view.

Menu Actions with selected option Import From File is presented in the screenshot.

image

The next screen shot shows the initial state of the import dialog.

image

If you select the link “Download import file template” then a CSV template file download prompt will show up. Here is the sample import template opened in Microsoft Excel 2010.

image

Save the template to your hard drive and enter several sample values. The following screenshot shows five sample products. Notice that lookup values Supplier Company Name and Category Name are entered as text.

image

Click Browse to selected and upload the data file.

The Import dialog will present the field map that allows mapping fields from the spreadsheet to the fields in the data controller. Data file fields are displayed as static labels. Data controller fields are rendered as selectors. The import processor will try to automatically match the data file and data controller fields and have the data controller field names pre-selected. The dialog will indicate the number of records detected in the import file.

image

Click import to start the process. The file will be processed asynchronously. The prompt is displayed if the import process has started successfully. If the number of records is relatively small then chances are that the new records will show up in the grid view immediately after you dismiss the alert. If the number of records is large then the new records will start showing up if you refresh the grid view or the page.

image

Here is the list of imported records that were shown in the example. The import processor automatically matches foreign key field values to the corresponding text samples in the uploaded files.

image

Import feature  uses components from  System.Data.OleDb namespace to interact with the uploaded data files.

Download and install Microsoft Data Access Database Engine 2010 Redistributable components on your development machine and your server to allow OleDb components to read the contents of the uploaded import files. Notice that if you are using a 64-bit operating system then the corresponding database engine must be installed.

Bulk import feature requires a Premium subscription.

Several enhancements are planned for this feature already. Users will be able to specify an email address that will receive a message with the import log upon completion of the import file processing. Developers will also be able to write code in Shared Business Rules class to capture import progress.

Thursday, July 22, 2010PrintSubscribe
Access URL Parameters in Business Rules

Q. Hello - I am calling a createform view generated by COT from another asp.net application. Within my create form there are couple of lookup values that we want to default based on selections made from our asp.net application. Is there a way to pass default values through
url? Or are the default values only for filtering?

A.

Default values for new rows can be assigned based on the database content, parameters passed in the URL, and values stored in user session.

Please take a look at /Documents/Appointment%20Manager.pdf. On page 13 you will find the business rules method AssignDefaultSalesman.

The method is using BusinessRules.UpdateFieldValue to assign default values to the fields of the new record. The example shows how to make a database request to retrieve the value.

You can create a similar method following the technique described in the article and read parameters that were passed in the URL using one of the three methods shown in the sample business rules method below:

[RowBuilder("Products", RowKind.New)]
public void AssignDefaultValues()
{
    // method 1
    string doIt = (string)SelectExternalFilterFieldValue("DoIt");
    // method 2
    string doIt2 = (string)SelectFieldValue("DoIt");
    // method 3
    string doIt3 = null;
    foreach (FieldValue v in Request.ExternalFilter)
        if (v.Name.Equals("DoIt"))
            doIt3 = (string)v.Value;
}

The example assumes that a new row is created when a user has accessed the  URL with the parameter DoIt in it.

http://localhost:18443/HistoryDemo/Pages/Products.aspx?DoIt=339

The first method uses SelectExternFilterFieldValue to find the value of the external filter.

The second method uses a more generic SelectFieldValue that lookups up any available field values including the values in the current row and any action arguments or external filters.

The third approach is to iterate through the items in Request.ExternFilter array to detect the presence of the parameter in the URL.

It is not possible to use Context.Request.Params since the method is executed in response to a web service request that arrives from the client asynchronously when user clicks on New button. The client library collect any URL parameters and passes them to the method as Request.ExternalFilter array of values.

You can also use Context.Session object to access any session variables that were stored in the session previously.