You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

201 lines
6.6 KiB

USE [FastMoneyPro_Remit]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC PROC_API_ROUTE_PARTNERS
(
@FLAG VARCHAR(20)
--grid parameters
,@user VARCHAR(50) = NULL
,@pageSize VARCHAR(50) = NULL
,@pageNumber VARCHAR(50) = NULL
,@sortBy VARCHAR(50) = NULL
,@sortOrder VARCHAR(50) = NULL
,@agentID BIGINT = NULL
,@PaymentMethod INT = NULL
,@CountryId INT = NULL
,@minAmount Money = NULL
,@maxAmount Money = NULL
,@isActive VARCHAR(10) = NULL
,@rowId INT = NULL
)
AS
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN
DECLARE @table VARCHAR(MAX)
,@select_field_list VARCHAR(MAX)
,@extra_field_list VARCHAR(MAX)
,@sql_filter VARCHAR(MAX)
IF @FLAG = 'I'
BEGIN
IF EXISTS (SELECT 1 FROM TblPartnerwiseCountry (NOLOCK) WHERE CountryId = @CountryId AND PaymentMethod = @PaymentMethod AND AgentId = @agentID)
BEGIN
SELECT '0' ErrorCode , 'Record already exists, please use existing record.' Msg , NULL id
RETURN
END
INSERT INTO TblPartnerwiseCountry (CountryId, AgentId, IsActive, CreatedBy, CreatedDate, PaymentMethod,MinTxnAmount,MaxTxnAmount)
SELECT @CountryId, @agentID, @isActive, @user, GETDATE(), @PaymentMethod,@minAmount,@maxAmount
SELECT '0' ErrorCode , 'Record has been added successfully.' Msg , NULL id
END
IF @FLAG = 'u'
BEGIN
INSERT INTO TblPartnerwiseCountryHistory (partnerWiseCountryRowId, CountryId, AgentId, IsActive, PaymentMethod,MinTxnAmount,MaxTxnAmount, ModifiedBy, ModifiedDate)
SELECT @rowId, CountryId, AgentId, IsActive, PaymentMethod, MinTxnAmount, MaxTxnAmount, @user, GETDATE() FROM TblPartnerwiseCountry (NOLOCK) WHERE id = @rowId
UPDATE TblPartnerwiseCountry SET
CountryId = @CountryId,
IsActive = @isActive,
ModifiedBy = @user,
ModifiedDate = GETDATE(),
PaymentMethod = @PaymentMethod,
AgentId = @agentID,
MinTxnAmount = @minAmount,
MaxTxnAmount = @maxAmount
WHERE id = @rowId
SELECT '0' ErrorCode , 'Record has been modified successfully.' Msg , NULL id
END
ELSE IF @FLAG = 'select'
BEGIN
SELECT id,CountryId,P.AgentId,PaymentMethod,A.agentName as providerName,GetRateFrom,p.CreatedBy,p.CreatedDate,p.IsActive,ROUND(CAST(MinTxnAmount AS DECIMAL),0) MinTxnAmount
,ROUND(CAST(MaxTxnAmount AS DECIMAL),0) MaxTxnAmount ,p.ModifiedBy,p.ModifiedDate
FROM TblPartnerwiseCountry p(NOLOCK)
INNER JOIN agentMaster A(NOLOCK) ON A.agentId =P.AgentId
WHERE id = @rowId
END
ELSE IF @FLAG = 'S'
BEGIN
SET @sortBy = 'id'
SET @sortOrder = 'desc'
SET @table = '( SELECT TP.id
,AM.agentName
,CM.countryName
,[PAYOUT_METHOD] = ISNULL(SM.typeTitle, ''ALL'')
,[IS_ACTIVE] = CASE WHEN TP.isActive = 1 THEN ''YES'' ELSE ''NO'' END
,[ScheduleEnabled] = CASE WHEN TP.ScheduleEnabled = 1 THEN ''YES'' ELSE ''NO'' END
,TP.countryId
,TP.agentId
,TP.PaymentMethod
,TP.MinTxnAmount
,TP.MaxTxnAmount
FROM TblPartnerwiseCountry TP(NOLOCK)
INNER JOIN countryMaster CM(NOLOCK) ON CM.countryId = TP.CountryId
INNER JOIN agentMaster AM(NOLOCK) ON AM.agentId = TP.AgentId
LEFT JOIN serviceTypeMaster SM(NOLOCK) ON SM.serviceTypeId = TP.PaymentMethod '
SET @sql_filter = ''
SET @table = @table + ')x'
IF @agentID <> 0
SET @sql_filter = @sql_filter+' And agentId = '''+CAST(@agentID AS VARCHAR)+''''
IF @PaymentMethod <> 0
SET @sql_filter = @sql_filter+' And PaymentMethod = '''+CAST(@PaymentMethod AS VARCHAR)+''''
IF @CountryId <> 0
SET @sql_filter = @sql_filter+' And CountryId = '''+CAST(@CountryId AS VARCHAR)+''''
SET @select_field_list = '
id,agentName,countryName,PAYOUT_METHOD,IS_ACTIVE,MinTxnAmount,MaxTxnAmount,ScheduleEnabled'
EXEC dbo.proc_paging @table, @sql_filter, @select_field_list, @extra_field_list
, @sortBy, @sortOrder, @pageSize, @pageNumber
END
ELSE IF @FLAG = 'country-list'
BEGIN
SELECT * FROM (
SELECT '' [value], 'Select Country' [text] UNION ALL
SELECT CAST(CM.COUNTRYID AS VARCHAR) [value], CM.COUNTRYNAME [text] FROM COUNTRYMASTER CM(NOLOCK)
INNER JOIN (
SELECT DISTINCT COUNTRYID
FROM TblPartnerwiseCountry (NOLOCK)
)X ON X.COUNTRYID = CM.COUNTRYID
) X
ORDER BY X.[value] ASC
END
ELSE IF @FLAG = 'payout-list'
BEGIN
SELECT * FROM (
SELECT '' [value], 'Select Payout Method' [text] UNION ALL
SELECT CAST(serviceTypeId AS VARCHAR) [value], typeTitle [text]
FROM serviceTypeMaster (NOLOCK)
WHERE ISNULL(isActive, 'Y') = 'Y'
)X
ORDER BY X.[value] ASC
END
ELSE IF @FLAG = 'agent-list'
BEGIN
SELECT * FROM (
SELECT '' [value], 'Select Partner' [text] UNION ALL
SELECT CAST(AM.AGENTID AS VARCHAR) [value], AM.AGENTNAME [text] FROM AGENTMASTER AM(NOLOCK)
INNER JOIN (
SELECT DISTINCT AGENTID
FROM TblPartnerwiseCountry (NOLOCK)
)X ON X.AGENTID = AM.AGENTID
) X
ORDER BY X.[value] ASC
END
ELSE IF @FLAG = 'enable-disable'
BEGIN
SELECT @CountryId=CountryId,@PaymentMethod = PaymentMethod FROM TblPartnerwiseCountry (NOLOCK)WHERE id = @rowId
IF @isActive <> 'YES' AND EXISTS(SELECT TOP 1 'A' FROM TblPartnerwiseCountry (NOLOCK) WHERE CountryId=@CountryId AND PaymentMethod = @PaymentMethod AND IsActive=1)
BEGIN
SELECT '1' ErrorCode , 'Service is already activated for this country,Please disable same service first and enable again.' Msg , @rowId id
RETURN
END
IF @isActive = 'YES'
BEGIN
update TblPartnerwiseCountry set IsActive = 0 where id = @rowId
SELECT '0' ErrorCode , 'Record has been disabled successfully.' Msg , @rowId id
END
ELSE
BEGIN
update TblPartnerwiseCountry set IsActive = 1 where id = @rowId
SELECT '0' ErrorCode , 'Record has been enabled successfully.' Msg , @rowId id
END
END
ELSE IF @FLAG = 'SchedulerSetup'
BEGIN
IF EXISTS(SELECT TOP 1 'A' FROM TblPartnerwiseCountry (NOLOCK) WHERE id = @rowId AND ScheduleEnabled = 1)
BEGIN
UPDATE TblPartnerwiseCountry SET ScheduleEnabled = 0 WHERE id = @rowId
SELECT '0' ErrorCode , 'Scheduler is set off to push transaction.' Msg , @rowId id
RETURN
END
ELSE
BEGIN
UPDATE TblPartnerwiseCountry SET ScheduleEnabled = 1 WHERE id = @rowId
SELECT '0' ErrorCode , 'Scheduler started to send transaction.' Msg , @rowId id
RETURN
END
END
ELSE IF @FLAG = 'payout-method'
BEGIN
SELECT SM.serviceTypeId, SM.typeTitle FROM countryReceivingMode CR(NOLOCK)
INNER JOIN serviceTypeMaster SM(NOLOCK) ON SM.serviceTypeId = CR.receivingMode
WHERE CR.countryId = @CountryId
END
ELSE IF @FLAG = 'partner'
BEGIN
SELECT agentId, agentName FROM agentMaster (NOLOCK) WHERE parentId = 0 AND agentId NOT IN (1001, 1008, 1009)
UNION ALL
SELECT agentId, agentName FROM agentMaster (NOLOCK) WHERE agentId IN (1036,1056)
END
END