//---------------------------------------------------------------------------------------
//Originally written by The Austin Conner Group. I modified according to my needs to fit
//SmartCodeGenerator Framework
//Shahed Khan
//12 April 2007
//---------------------------------------------------------------------------------------
// Copyright Notice
// This file contains proprietary information of The Austin Conner Group.
// Copying or reproduction without prior written approval is prohibited.
// Copyright (C) 2004 The Austin Conner Group. All rights reserved.
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice, this list
// of conditions and the following disclaimer.
//
// * Redistributions in binary form must reproduce the above copyright notice, this list
// of conditions and the following disclaimer in the documentation and/or other materials
// provided with the distribution.
//
// * Neither the name of The Austin Conner Group nor the names of its contributors may be
// used to endorse or promote products derived from this software without specific prior
// written permission.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
// OR OTHER DEALINGS IN THE SOFTWARE.
//---------------------------------------------------------------------------------------
// History
// 13/04/2007 SmartCodeGenerator - Shahed Khan - Original Version
//---------------------------------------------------------------------------------------
if exists (select * from dbo.sysobjects where id = object_id(N'[Invoice]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [Invoice]
GO
CREATE TABLE [Invoice](
[Id] NVarChar(36) NOT NULL
,[Customer] NVarChar(96) NOT NULL
,[InvoiceDate] SmallDateTime NOT NULL
,[InvoicePaid] Bit NOT NULL
)
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Invoice_Create]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Invoice_Create]
GO
--- <summary>
--- Invoice_Create
--- </summary>
CREATE PROCEDURE Invoice_Create
(
@Id NVarChar(36)
,@Customer NVarChar(96)
,@InvoiceDate SmallDateTime
,@InvoicePaid Bit
)
AS
SET NOCOUNT ON
DECLARE @ReturnCode INT
BEGIN TRANSACTION
INSERT INTO [Invoice](
[Id]
,[Customer]
,[InvoiceDate]
,[InvoicePaid]
)
VALUES(
@Id
,@Customer
,@InvoiceDate
,@InvoicePaid
)
-- ERROR CHECK
SELECT @ReturnCode = @@ERROR
IF @ReturnCode <> 0 GOTO ErrorHandeler
-- Commit if no Errors
COMMIT TRANSACTION
RETURN @ReturnCode
-- Rollback if Errors
ErrorHandeler:
ROLLBACK TRANSACTION
RETURN @ReturnCode
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Invoice_Update]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Invoice_Update]
GO
--- <summary>
--- Invoice_Update
--- </summary>
CREATE PROCEDURE Invoice_Update
(
@Id NVarChar(36)
,@Customer NVarChar(96)
,@InvoiceDate SmallDateTime
,@InvoicePaid Bit
)
AS
SET NOCOUNT ON
DECLARE @ReturnCode INT
BEGIN TRANSACTION
UPDATE [Invoice] SET
[Id] = @Id
,[Customer] = @Customer
,[InvoiceDate] = @InvoiceDate
,[InvoicePaid] = @InvoicePaid
WHERE
[Invoice].Id = @Id
-- ERROR CHECK
SELECT @ReturnCode = @@ERROR
IF @ReturnCode <> 0 GOTO ErrorHandeler
-- Commit if no Errors
COMMIT TRANSACTION
RETURN @ReturnCode
-- Rollback if Errors
ErrorHandeler:
ROLLBACK TRANSACTION
RETURN @ReturnCode
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Invoice_Delete]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Invoice_Delete]
GO
--- <summary>
--- Invoice_Delete
--- </summary>
CREATE PROCEDURE Invoice_Delete
(
@Id NvarChar(36)
)
AS
SET NOCOUNT ON
DECLARE @ReturnCode INT
BEGIN TRANSACTION
DELETE
[Invoice]
WHERE
[Invoice].Id = @Id
-- ERROR CHECK
SELECT @ReturnCode = @@ERROR
IF @ReturnCode <> 0 GOTO ErrorHandeler
-- Commit if no Errors
COMMIT TRANSACTION
RETURN @ReturnCode
-- Rollback if Errors
ErrorHandeler:
ROLLBACK TRANSACTION
RETURN @ReturnCode
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Invoice_Fetch]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Invoice_Fetch]
GO
--- <summary>
--- Invoice_Fetch
--- </summary>
CREATE PROCEDURE Invoice_Fetch
(
@Id NvarChar(36)
)
AS
SET NOCOUNT ON
SELECT
[Id]
,[Customer]
,[InvoiceDate]
,[InvoicePaid]
FROM
[Invoice] WITH (NOLOCK)
WHERE
[Invoice].Id = @Id
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Invoice_FetchById') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[Invoice_FetchById]
GO
--- <summary>
--- Invoice_FetchById
--- </summary>
CREATE PROCEDURE Invoice_FetchById
(
@Id NvarChar(36)
)
AS
SET NOCOUNT ON
SELECT
[Id]
,[Customer]
,[InvoiceDate]
,[InvoicePaid]
FROM
[Invoice] WITH (NOLOCK)
WHERE
[Invoice].Id = @Id
GO