UFN_DISCOUNT_UNIQUEMERCHANDISEITEMCHECK

Checks to insure duplicate merchandise items are not added to discounts

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@DISCOUNTGROUPDETAILMERCHANDISEITEMID uniqueidentifier IN

Definition

Copy


create function dbo.UFN_DISCOUNT_UNIQUEMERCHANDISEITEMCHECK
(
    @DISCOUNTGROUPDETAILMERCHANDISEITEMID uniqueidentifier
)
returns bit
with execute as caller
as begin
    declare @MERCHANDISEID uniqueidentifier;
    declare @DISCOUNTID uniqueidentifier;
    declare @DISCOUNTEDITEM tinyint;

    select @MERCHANDISEID = DISCOUNTGROUPDETAILMERCHANDISEITEM.MERCHANDISEITEMID,
        @DISCOUNTEDITEM = DISCOUNTEDITEM,
        @DISCOUNTID = DISCOUNTGROUP.DISCOUNTID
    from dbo.DISCOUNTGROUPDETAILMERCHANDISEITEM
    inner join dbo.DISCOUNTGROUPDETAIL
        on DISCOUNTGROUPDETAIL.ID = DISCOUNTGROUPDETAILMERCHANDISEITEM.ID
    inner join dbo.DISCOUNTGROUP 
        on DISCOUNTGROUP.ID = DISCOUNTGROUPDETAIL.DISCOUNTGROUPID
    where DISCOUNTGROUPDETAILMERCHANDISEITEM.ID = @DISCOUNTGROUPDETAILMERCHANDISEITEMID;

    if exists (    select 1
                from dbo.DISCOUNTGROUP DG
                inner join dbo.DISCOUNTGROUPDETAIL DGD 
                    on DGD.DISCOUNTGROUPID = DG.ID
                inner join dbo.DISCOUNTGROUPDETAILMERCHANDISEITEM DGDMI 
                    on DGDMI.ID = DGD.ID
                where
                    DG.DISCOUNTID = @DISCOUNTID and
                    DGD.DISCOUNTEDITEM = @DISCOUNTEDITEM and
                    DGDMI.MERCHANDISEITEMID = @MERCHANDISEID and
                    DGDMI.ID <> @DISCOUNTGROUPDETAILMERCHANDISEITEMID)
    begin
        return 0 
    end
    else
    begin
        return 1 
    end
    return 0
end