Click here to Skip to main content
15,884,986 members
Articles / Programming Languages / C#

UIPAB Part 2 : MVC, UIPAB Essentails and Demo

Rate me:
Please Sign up or sign in to vote.
4.60/5 (40 votes)
3 May 200430 min read 169.1K   1.6K   96  
Part 2 of 3 part series. Examines MVC pattern, UIPAB essentials and architecture; refactoring demo using UIPAB
CREATE DATABASE UIPAB
go

USE UIPAB
go

CREATE TABLE Person
(
	ID		int IDENTITY(1, 1) NOT NULL,
	Firstname	varchar(30) NOT NULL,
	Surname		varchar(30) NOT NULL,
	CONSTRAINT Person_PK PRIMARY KEY (ID)
)

CREATE TABLE Address
(
	ID		int IDENTITY(1, 1) NOT NULL,
	PersonID	int NOT NULL,
	Street		varchar(50),
	Province	varchar(50),
	Country		varchar(50),
	CONSTRAINT Address_PK PRIMARY KEY (ID),
	FOREIGN KEY (PersonID) REFERENCES Person(ID)
)

CREATE TABLE Contact
(
	ID		int IDENTITY(1, 1) NOT NULL,
	PersonID	int NOT NULL,
	Number		varchar(30),
	Type		varchar(20),
	CONSTRAINT Contact_PK PRIMARY KEY (ID),
	FOREIGN KEY (PersonID) REFERENCES Person(ID)
)
go



CREATE PROC getPersons
AS
SELECT ID, Firstname, Surname
FROM   Person 
go

CREATE PROC getPerson
@id int
AS
SELECT ID, Firstname, Surname
FROM   Person 
WHERE  ID = @id
go

CREATE PROC insPerson
@firstname varchar(30),
@surname varchar(30)
AS
INSERT INTO Person
VALUES(@firstname, @surname)
SELECT SCOPE_IDENTITY()
go

CREATE PROC upPerson
@id int,
@firstname varchar(30),
@surname varchar(30)
AS
UPDATE Person
SET    Firstname = @firstname,
       Surname = @surname
WHERE  ID = @id
go


CREATE PROC getAddressesByPerson
@id int
AS
SELECT ID, PersonID, Street, Province, Country
FROM   Address
WHERE  PersonID = @id
go


CREATE PROC insAddress
@personid int,
@street varchar(30),
@province varchar(30),
@country varchar(30)
AS
INSERT INTO Address
VALUES(@personid, @street, @province, @country)
SELECT SCOPE_IDENTITY()
go

CREATE PROC upAddress
@id int,
@street varchar(30),
@province varchar(30),
@country varchar(30)
AS
UPDATE Address
SET    Street = @street,
       Province = @province,
       Country = @country
WHERE  ID = @id
go

CREATE PROC getContactsByPerson
@id int
AS
SELECT ID, PersonID, Number, Type
FROM   Contact
WHERE  PersonID = @id
go


CREATE PROC insContact
@personid int,
@number varchar(30),
@type varchar(20)
AS
INSERT INTO Contact
VALUES(@personid, @number, @type)
SELECT SCOPE_IDENTITY()
go

CREATE PROC upContact
@id int,
@number varchar(30),
@type varchar(20)
AS
UPDATE Contact
SET    Number = @number,
       Type = @type
WHERE  ID = @id
go

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
South Africa South Africa
Bring power to the people - evangelizing Patterns and Practices in Africa.

Comments and Discussions