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
Sunday, February 28, 2010PrintSubscribe
Declarative Code Formulas

Declarative code formulas are now support in Web Site Factory premium project available with Code OnTime Generator.

Learn to define declarative code formulas in Code OnTime Designer to introduce just-in-time calculations in ASP.NET AJAX applications without writing a business rule to support the server-side calculations. The code generator will automatically produce a business rule to incorporate your formula.

Declarative Code Formulas in ASP.NET/ AJAX Web Applications

Watch the video on our YouTube channel at http://www.youtube.com/watch?v=aC6PTjyRcto.

Monday, January 11, 2010PrintSubscribe
Global Logging With Shared Business Rules

Many applications require a global log of changes made by users at runtime. Data Aquarium Framework provides an excellent mechanism to create a single point of logging of all operations.

If you create a code file with a class named YourNamespace.Rules.SharedBusinessRules inherited from BusinessRules base then the framework will use this class if there is no custom handler for the data controller.

Here is an example written in C#.

using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Web;
using MyCompany.Data;

namespace MyCompany.Rules
{
    public class SharedBusinessRules : BusinessRules
    {
        public SharedBusinessRules()
        {
        }

        protected override void AfterSqlAction(ActionArgs args, ActionResult result)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine();
            sb.AppendFormat(@"Controller: {0}, View: {1}, Command: {2}",
                args.Controller, args.View, args.CommandName);
            sb.AppendLine();
            switch (args.CommandName)
            {
                case "Update":
                    foreach (FieldValue v in args.Values)
                        if (v.Modified)
                        {
                            sb.AppendFormat(
                                "Field '{0}' has been changed from '{1}' to '{2}'",
                                v.Name, v.OldValue, v.NewValue);
                            sb.AppendLine();
                        }
                    break;
                case "Insert":
                    foreach (FieldValue v in args.Values)
                        if (v.Modified)
                        {
                            sb.AppendFormat(
                                "Field '{0}' is equal to '{1}'",
                                v.Name, v.Value);
                            sb.AppendLine();
                        }
                    break;
                case "Delete":
                    foreach (FieldValue v in args.Values)
                    {
                        sb.AppendFormat(
                            "Field '{0}' is equal to '{1}'",
                            v.Name, v.Value);
                        sb.AppendLine();
                    }
                    break;

            }
            System.Diagnostics.Debug.WriteLine(sb.ToString());
        }
    }
}

Here is a sample  debug output of the code produced by a Web Site Factory application when records in Northwind.Customers table are updated, inserted, and deleted.

image

The complete debug log in the picture is listed below.

Controller: Customers, View: grid1, Command: Update
Field 'CompanyName' has been changed from 'Alfreds Futterkiste' to 'Alfreds Futterkiste*'

Controller: Customers, View: grid1, Command: Insert
Field 'CustomerID' is equal to 'A'
Field 'CompanyName' is equal to 'New Company'
Field 'ContactTitle' is equal to 'President'

Controller: Customers, View: grid1, Command: Delete
Field 'CustomerID' is equal to 'A    '
Field 'CompanyName' is equal to 'New Company'
Field 'ContactName' is equal to ''
Field 'ContactTitle' is equal to 'President'
Field 'Address' is equal to ''
Field 'City' is equal to ''
Field 'Region' is equal to ''
Field 'PostalCode' is equal to ''
Field 'Country' is equal to ''
Field 'Phone' is equal to ''

You can implement  a database table to keep track of changes instead of sending the output to the Debug log that can be viewed in Visual Studio and Visual Web Developer Express. The code generator will create a user interface for the logging table and this will ensure that you can have an auditing and reporting capability embedded into your web application.

If you need to retain the global logging functionality in the custom data controller handler then simply use SharedBusinessRules class as a base class for your custom data-controller specific business rules.

Wednesday, December 16, 2009PrintSubscribe
AJAX Action State Machine in Web Site Factory Apps

Learn to configure the client-side action state machine to create complex AJAX-enabled user interface workflow sequences without writing a single line of code in Web Site Factory and Data Aquarium Framework web applications.

Part 1

We will implement a Navigate action that brings the user to a dedicated Customer Information page in a Web Site Factory web application.

Working With Actions in AJAX Web Apps (Part 1)

Watch this video on our YouTube channel at http://www.youtube.com/user/codeontime#p/u/2/M45hyY185Ck.

Part 2

We will implement custom Save and Cancel actions that return the user to the previous page.

Working With Actions in AJAX Web Apps (Part 2)

Watch this video on our YouTube channel at http://www.youtube.com/user/codeontime#p/u/0/9sCgZLZ4kEE.