Blog: Posts from October, 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 October, 2012
Saturday, October 20, 2012PrintSubscribe
Order Form Sample–Part 10

When creating a new order, the order date should default to the current date.

There are three types of business rules that can be used for this purpose. Choose any one of the suggested implementations below.

SQL Business Rule

Switch back to the Project Designer. In the Project Explorer, open the Controllers tab. Right-click on Orders / Business Rules node, and press New Business Rule option.

New Business Rule context menu option for Orders controller.

Specify the following values:

Property New Value
Type SQL
Command Name New
Phase Execute
Script
set @OrderDate = getdate()

Press OK to save the business rule. Press Browse in the top left corner, and wait for the page to load. Navigate to Order Form, and create a new order. Select a customer and employee. You will see that the current date has been inserted into the Order Date field.

Order Date has been populated with the current date.

Code Business Rule

C# or Visual Basic may be used as an alternative to SQL.

Switch back to the Project Designer.

If you have implemented the business rule above, then delete it. In the Project Explorer, right-click on Orders / Business Rules / New (SQL / Execute) – r100 node, and press Delete.

Deleting the SQL business rule.

Create a “code” business rule with the following properties:

Property New Value
Type C# / Visual Basic
Command Name New
Phase Execute

Press OK to save.

Code business rules cannot be directly edited using the Project Designer, and do not exist until the project has been regenerated.

On the toolbar, press Browse to regenerate the project.

When complete, right-click on Orders / Business Rules /  New (Code / Execute) – r100 node, and press Edit Rule in Visual Studio.

Edit Rule in Visual Studio context menu option available on the code business rule node in the Project Explorer.

The rule file will be opened in Visual Studio. The entire class definition and parameters of the business rule method are already defined. Replace the body of the rule with the UpdateFieldValue method:

C#:

using System;
using MyCompany.Data;

namespace MyCompany.Rules
{
    public partial class OrdersBusinessRules : MyCompany.Data.BusinessRules
    {
        [Rule("r100")]
        public void r100Implementation(
                    int? orderID, 
                    string customerID, 
                    string customerCompanyName, 
                    int? employeeID, 
                    string employeeLastName, 
                    DateTime? orderDate, 
                    DateTime? requiredDate, 
                    DateTime? shippedDate, 
                    int? shipVia, 
                    string shipViaCompanyName, 
                    decimal? freight, 
                    string shipName, 
                    string shipAddress, 
                    string shipCity, 
                    string shipRegion, 
                    string shipPostalCode, 
                    string shipCountry)
        {
            UpdateFieldValue("OrderDate", DateTime.Now);
        }
    }
}

Visual Basic:

Imports MyCompany.Data
Imports System

Namespace MyCompany.Rules

    Partial Public Class OrdersBusinessRules
        Inherits MyCompany.Data.BusinessRules

        <Rule("r100")> _
        Public Sub r100Implementation( _
                    ByVal orderID As Nullable(Of Integer), 
                    ByVal customerID As String, 
                    ByVal customerCompanyName As String, 
                    ByVal employeeID As Nullable(Of Integer), 
                    ByVal employeeLastName As String, 
                    ByVal orderDate As Nullable(Of DateTime), 
                    ByVal requiredDate As Nullable(Of DateTime), 
                    ByVal shippedDate As Nullable(Of DateTime), 
                    ByVal shipVia As Nullable(Of Integer), 
                    ByVal shipViaCompanyName As String, 
                    ByVal freight As Nullable(Of Decimal), 
                    ByVal shipName As String, 
                    ByVal shipAddress As String, 
                    ByVal shipCity As String, 
                    ByVal shipRegion As String, 
                    ByVal shipPostalCode As String, 
                    ByVal shipCountry As String)
            UpdateFieldValue("OrderDate", DateTime.Now)
        End Sub
    End Class
End Namespace

Save the file. If you create a new order in the web application, the Order Date will be populated with the current date.

JavaScript Business Rule

Business rules can also be written in JavaScript if default values can be calculated entirely on the client.

If you created one of the above business rule implementations, delete it now.

Deleting the code business rule from the Orders controller.

Create another business rule with this configuration:

Property New Value
Type JavaScript
Command Name New
Phase After
Script
[OrderDate] = new Date();

Note that the business rule must execute after the command “New”, because the record is not instantiated on the client until after the command is executed by the application framework on the server.

Save the file. The business rule will work as shown in the illustration at the top.

Friday, October 19, 2012PrintSubscribe
Order Form Sample–Part 6

You will now be on the Database Connection page. If you are using a free version of the generator, you are limited to 10 tables. You can select tables to generate by clicking on the Change link underneath the Connection String field. Include the following tables: Categories, Customers, Employees, Order Details, Orders, Products, Shippers, and Suppliers.

image

If you have a licensed version, you can skip selection of tables.

Once the database connection has been set up, keep pressing Next until you reach the Reporting page. Check the box to enable reporting, and press Next.

image

On the Authentication and Membership page, you can see that ASP.NET Membership has automatically been configured, provided that you installed the membership on the connection string page. If membership had already been added to your database previously, you can just click on Status button on the connection string page to make Code On Time configure the settings automatically.

image

Press Next, and you will be taken to the Features page. Under Page Header, insert “Order Form Sample”.

image

Switch to the Permalinks and History section, and enable both checkboxes.

image

Press Next twice to reach the Theme page. Select Modern theme. You can view samples of all the themes at http://codeontime.com/learn/introduction/user-interface/themes-a-c.

image

Hold down Shift key, and press next to skip to the Summary page. Press Generate.

image

When the generation is completed, the new web application will open in your default browser.

image

Friday, October 19, 2012PrintSubscribe
Order Form Sample–Part 5

Microsoft has created ASP.NET Membership as a built-in method of validating and storing user credentials, allowing you to manage users and roles and have an integrated security solution without any effort on your part. Industry-standard security practices are found in the design of the membership database tables and API. Leading database vendors have implemented their own versions of ASP.NET Membership.

If Code On Time detects that ASP.NET Membership tables and views are integrated by your database, then it will generate a fly-over login dialog, self-service membership enrollment, membership bar, and membership manager for your application.

ASP.NET Membership can be added to any database via the Database Connection page.

Under Membership section, press Add button, and confirm to add membership.

Prompt asking to create tables and stored procedures to support ASP.NET Membership and Role Manager in the database.

Code On Time application generator will install ASP.NET Membership in your database and notify you upon completion. You will see the installation log at the bottom of the web application generator window.

Press OK on the confirmation window, and press OK to exit the Database Connection Configuration screen.