USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[ProcMobileConfig] Script Date: 2/28/2024 4:12:16 PM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROC [dbo].[ProcMobileConfig] ( @Flag VARCHAR(30) ,@User VARCHAR(80) = NULL ,@GroupName VARCHAR(100) = NULL ,@GroupDetail VARCHAR(150) = NULL ,@BroadcastTypeId INT = NULL ,@CustomerGroupIds VARCHAR(200) = NULL ,@Title NVARCHAR(100) = NULL ,@Body NVARCHAR(MAX) = NULL ,@ImageURL VARCHAR(150) = NULL ,@ScheduleDate VARCHAR(30) = NULL ,@SortBy VARCHAR(50) = NULL ,@SortOrder VARCHAR(5) = NULL ,@PageSize INT = NULL ,@PageNumber INT = NULL ,@RowId INT = NULL ,@Xml XML = NULL ,@CustomerId BIGINT = NULL ,@isRepush VARCHAR(1) = NULL ,@notificationType VARCHAR(50) = NULL ,@msgType VARCHAR(25) = NULL ,@customerType VARCHAR(25) = NULL ,@nativeCountry VARCHAR(3) = NULL ,@postCode VARCHAR(100) = NULL ) AS ; ------------------------------------------------ -- #101 - Mobile Changes -- Delete customer from group -- #1048 - BROADCAST FOR SINGLE CUSTOMER , changes in @flag = 'I-BROADCAST' , 'U-BROADCAST' , 'RE-PUSH' -- #9490 - puch -notification for individual customers -- #20484- broadcast by country , @flag = groupForCountry\ -- #26000 - add post code in push notification ------------------------------------------------ SET NOCOUNT ON; SET XACT_ABORT ON; BEGIN DECLARE @SelectFieldList VARCHAR(MAX) ,@ExtraFieldList VARCHAR(MAX) ,@Table VARCHAR(MAX) ,@SqlFilter VARCHAR(MAX) DECLARE @customerIdForPush VARCHAR(50) , @deviceId VARCHAR(MAX) , @entrytype varchar(20) IF @BroadCastTypeId = '0' SET @BroadCastTypeId = NULL IF @Flag = 'I' BEGIN SELECT 'A' END ELSE IF @Flag = 'I-GROUP' BEGIN INSERT INTO CustomerGroup(GroupName, GroupDetail, BroadcastTypeId, CreatedBy, CreatedDate, IsActive) SELECT @GroupName, @GroupDetail, @BroadcastTypeId, @User, GETDATE(), 1 SELECT 0, 'Success', NULL END ELSE IF @Flag = 'S-GROUP-SINGLE' BEGIN SELECT * FROM CustomerGroup (NOLOCK) WHERE RowId = @RowId END ELSE IF @Flag = 'U-GROUP' BEGIN UPDATE CustomerGroup SET GroupName = @GroupName, GroupDetail = @GroupDetail, BroadcastTypeId = @BroadcastTypeId, ModifiedBy = @User, ModifiedDate = GETDATE() WHERE RowId = @RowId SELECT 0, 'Success', NULL END ELSE IF @Flag = 'DDL-GROUP' BEGIN SELECT GroupName, RowId FROM CustomerGroup (NOLOCK) WHERE IsActive = 1 END ELSE IF @Flag = 'DDL-STATIC' BEGIN SELECT '0' [value], 'Select' [text] UNION ALL SELECT valueId [value], detailTitle [text] FROM staticDataValue (NOLOCK) WHERE ISNULL(IsActive, 'Y') = 'Y' AND ISNULL(IS_DELETE, 'N') = 'N' AND typeId = 8105 END ELSE IF @Flag = 'DELETE' BEGIN SELECT @BroadcastTypeId = BroadcastTypeId FROM BroadCastNotification (NOLOCK) WHERE RowId = @RowId UPDATE BroadCastNotification SET IsActive = CASE WHEN IsActive = 0 THEN 1 ELSE 0 END, ModifiedBy = @User, ModifiedDate = GETDATE() WHERE RowId = @RowId INSERT INTO BroadCastNotificationLog(BroadCastId,CreatedBy,CreatedDate, ResponseMessage) values (@RowId, @user , GETDATE() , @BroadcastTypeId ) SELECT 0, 'Success', NULL END ELSE IF @Flag = 'DELETE-GROUP' BEGIN UPDATE CustomerGroup SET IsActive = CASE WHEN IsActive = 0 THEN 1 ELSE 0 END, ModifiedBy = @User, ModifiedDate = GETDATE() WHERE RowId = @RowId SELECT 0, 'Success', NULL END ELSE IF @Flag = 'I-BROADCAST' BEGIN IF @CustomerGroupIds IS NULL BEGIN SET @CustomerGroupIds = '0' END INSERT INTO BroadCastNotification(BroadcastTypeId, CustomerGroupIds, Title, Body, ImageURL, IsSent, CreatedBy , CreatedDate, ScheduleDate, IsActive, customerId, notificationType, messageType) SELECT @BroadcastTypeId, @CustomerGroupIds, @Title, @Body, @ImageURL, 0, @User , GETDATE(), @ScheduleDate, 1 , @CustomerId, @notificationType, @msgType SET @RowId = @@IDENTITY IF @CustomerId IS NOT NULL BEGIN INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable) select @customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y') END ELSE BEGIN INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable) select distinct customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y') FROM CustomerGroupDetail WHERE GroupId=@CustomerGroupIds END --INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable) --select ISNULL(@customerid,@CustomerGroupIds),@Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y') SELECT 0, 'Success', @RowId END ELSE IF @Flag = 'U-BROADCAST' BEGIN IF @CustomerGroupIds IS NULL BEGIN SET @CustomerGroupIds = '0' END UPDATE BroadCastNotification SET BroadcastTypeId = @BroadcastTypeId, Title = @Title, Body = @Body, ImageURL = @ImageURL , ModifiedBy = @User, ModifiedDate = GETDATE(), notificationType = @notificationType , messageType = @msgType WHERE RowId = @RowId SELECT 0, 'Success', NULL END ELSE IF @Flag = 'U-B-GROUP' BEGIN UPDATE BroadCastNotification SET CustomerGroupIds = @CustomerGroupIds, ModifiedBy = @User, ModifiedDate = GETDATE() WHERE RowId = @RowId SELECT 0, 'Success', NULL END ELSE IF @Flag = 'S-BROADCAST-SINGLE' BEGIN SELECT * FROM BroadCastNotification (NOLOCK) WHERE RowId = @RowId END ELSE IF @Flag = 'S-BROADCAST' BEGIN IF @SortBy IS NULL SET @SortBy = 'CreatedDate' IF @SortOrder IS NULL SET @SortOrder = 'DESC' SET @table = '( SELECT BN.RowId ,customer = CASE WHEN bn.customerid is not null then cm.fullName else cg.GroupName END ,BN.Title ,BN.ImageURL ,IsSent = CASE WHEN IsSent = 0 THEN ''No'' WHEN IsSent = 1 THEN ''Yes'' ELSE ''Failed'' END ,BN.CreatedDate ,BN.ScheduleDate ,BN.CreatedBy ,IsActive = CASE WHEN BN.IsActive = 0 THEN ''No'' ELSE ''Yes'' END ,BroadCastType = SV.DetailTitle ,BN.CustomerGroupIds ,BN.BroadcastTypeId FROM BroadCastNotification BN (NOLOCK) INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BN.BroadcastTypeId = SV.ValueId LEFT JOIN dbo.CustomerGroup CG(NOLOCK) ON cg.RowId = BN.customerGroupIds LEFT JOIN dbo.CustomerMaster CM (NOLOCK) ON cm.customerId = ISNULL(BN.customerId,'''') WHERE 1 = 1 AND BN.isActive = 1 AND ISNULL(BN.entryType,'''') = '''' )x' SET @SqlFilter = '' IF @BroadCastTypeId IS NOT NULL SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + '''' IF @Title IS NOT NULL SET @SqlFilter += ' AND X.Title LIKE ''' + @Title + '%''' SET @SelectFieldList ='RowId, Title, ImageURL, IsSent, CreatedBy, CreatedDate, ScheduleDate, IsActive ,BroadCastType, CustomerGroupIds, customer' EXEC dbo.proc_paging @table ,@SqlFilter ,@SelectFieldList ,@ExtraFieldList ,@sortBy ,@sortOrder ,@pageSize ,@pageNumber END ELSE IF @Flag = 'S-GROUP' BEGIN IF @SortBy IS NULL SET @SortBy = 'CreatedDate' IF @SortOrder IS NULL SET @SortOrder = 'DESC' SET @table = '( SELECT CG.RowId ,CG.GroupName ,CG.GroupDetail ,CG.CreatedDate ,CG.CreatedBy ,IsActive = CASE WHEN CG.IsActive = 0 THEN ''No'' ELSE ''Yes'' END ,BroadCastType = SV.DetailTitle ,BroadcastTypeId FROM CustomerGroup CG (NOLOCK) INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON CG.BroadcastTypeId = SV.ValueId WHERE 1 = 1 )x' SET @SqlFilter = '' IF @BroadCastTypeId IS NOT NULL SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + '''' IF @GroupName IS NOT NULL SET @SqlFilter += ' AND X.GroupName LIKE ''' + @GroupName + '%''' SET @SelectFieldList ='RowId, GroupName, GroupDetail, CreatedDate, CreatedBy, IsActive, BroadCastType' EXEC dbo.proc_paging @table ,@SqlFilter ,@SelectFieldList ,@ExtraFieldList ,@sortBy ,@sortOrder ,@pageSize ,@pageNumber END ELSE IF @Flag = 'GROUP-LIST' BEGIN IF @RowId IS NULL BEGIN SELECT CG.GroupName, CG.RowId, IsSelected = 'N' FROM CustomerGroup CG(NOLOCK) WHERE CG.IsActive = 1 AND CG.BroadcastTypeId = @BroadcastTypeId RETURN; END IF @BroadcastTypeId IS NULL SELECT @BroadcastTypeId = BroadcastTypeId FROM BroadCastNotification(NOLOCK) WHERE RowId = @RowId SELECT B.RowId, SPL.value customerGroupId INTO #GROUP_MAPPED FROM BroadCastNotification B CROSS APPLY DBO.Split(',', B.CustomerGroupIds) SPL WHERE B.RowId = @RowId SELECT CG.GroupName, CG.RowId, IsSelected = CASE WHEN G.RowId IS NULL THEN 'N' ELSE 'Y' END FROM CustomerGroup CG(NOLOCK) LEFT JOIN #GROUP_MAPPED G ON CG.RowId = G.customerGroupId WHERE CG.IsActive = 1 AND CG.BroadcastTypeId = @BroadcastTypeId END ELSE IF @Flag = 'UPLOAD-CUSTOMER' BEGIN IF @RowId IS NULL BEGIN SELECT 1, 'Invalid Customer group type!', NULL RETURN END SELECT membershipId = p.value('@membershipid', 'VARCHAR(100)') INTO #TEMP_CUSTOMER FROM @xml.nodes('/root/row') AS tmp ( p ); DELETE TMP FROM #TEMP_CUSTOMER TMP INNER JOIN customerMaster CM(NOLOCK) ON CM.membershipId = TMP.membershipId INNER JOIN CustomerGroupDetail CD(NOLOCK) ON CD.CustomerId = CM.customerId WHERE CD.GroupId= @RowId INSERT INTO CustomerGroupDetail(GroupId, CustomerId, CreatedBy, CreatedDate) SELECT @RowId, CM.customerId, @User, GETDATE() FROM #TEMP_CUSTOMER T INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.membershipId = T.membershipId SELECT 0, 'Success', NULL END ELSE IF @Flag = 'UPLOAD-CUSTOMER-SINGLE' BEGIN IF @RowId IS NULL BEGIN SELECT 1, 'Invalid Customer group type!', NULL RETURN END IF NOT EXISTS(SELECT * FROM CUSTOMERMASTER (NOLOCK) WHERE CUSTOMERID = @CustomerId) BEGIN SELECT 1, 'Invalid customer!', NULL RETURN END IF EXISTS(SELECT * FROM CustomerGroupDetail (NOLOCK) WHERE CustomerId = @CustomerId AND GroupId = @RowId) BEGIN SELECT 1, 'Customer Already added!', NULL RETURN END INSERT INTO CustomerGroupDetail(GroupId, CustomerId, CreatedBy, CreatedDate) SELECT @RowId, @CustomerId, @User, GETDATE() SELECT 0, 'Success', NULL END ELSE IF @Flag = 'CUSTOMER-LIST' BEGIN SELECT FullName = CM.FullName + ' | ' + CM.membershipId , RowId = RowId FROM CustomerGroupDetail CD(NOLOCK) INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.customerId = CD.CustomerId WHERE GroupId = @RowId END ELSE IF @Flag = 'BROADCAST-DETAIL' BEGIN SELECT RowId, Title = SV.detailTitle + ': ' + BC.Title, BC.Body FROM BroadCastNotification BC(NOLOCK) INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BC.BroadcastTypeId = SV.ValueId WHERE RowId = @RowId END ELSE IF @Flag = 'DELETE-CUSTOMER-FROM-GROUP' --added on feb 26 BEGIN DELETE FROM CustomerGroupDetail WHERE RowId = @rowid IF @@ROWCOUNT = 0 PRINT 'Customer ID not found' ELSE SELECT 0 ErrorCode , 'Customer Deleted Successfully' Msg , @rowid RowId RETURN END ELSE IF @Flag = 'RE-PUSH' BEGIN SELECT @BroadcastTypeId = BroadcastTypeId, @ImageURL=ImageURL,@Body=Body,@Title=Title,@CustomerGroupIds=CustomerGroupIds , @msgType = messageType, @entrytype = entryType FROM BroadCastNotification (NOLOCK) WHERE RowId = @RowId IF @BroadcastTypeId IS NULL BEGIN SELECT 1, 'Invalid data!', NULL RETURN END SELECT @CustomerId = CUSTOMERID FROM BroadCastNotification BC(NOLOCK) WHERE RowId = @RowId IF @CustomerId IS NOT NULL BEGIN SELECT RowId, BC.Title, BC.Body, IsBulkNotification = 'false' , SV.detailTitle as BroadcastTypeId , BC.ImageURL as NavigateURL, BC.notificationType AS ClickActivity --added on 25th feb ,BC.messageType AS MessageType FROM BroadCastNotification BC(NOLOCK) INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BC.BroadcastTypeId = SV.ValueId WHERE RowId = @RowId IF @BroadcastTypeId = 11430 --EMAIL BEGIN SELECT SendTo = CM.userName, DeviceType = ISNULL(USR.DeviceType, 'Android') FROM CUSTOMERMASTER CM(NOLOCK) LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId WHERE cm.customerId = @CustomerId END ELSE IF @BroadcastTypeId = 11429 --PUSH BEGIN SELECT SendTo = USR.deviceId, DeviceType = ISNULL(USR.DeviceType, 'Android') FROM CUSTOMERMASTER CM(NOLOCK) LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId WHERE cm.customerId = @CustomerId END END ELSE BEGIN PRINT @BroadcastTypeId; SELECT RowId, BC.Title, BC.Body, IsBulkNotification = 'true', SV.detailTitle as BroadcastTypeId , BC.ImageURL as NavigateURL, BC.notificationType AS ClickActivity --added on 25th feb , BC.messageType AS MessageType FROM BroadCastNotification BC(NOLOCK) INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BC.BroadcastTypeId = SV.ValueId WHERE RowId = @RowId SELECT BN.RowId, SPL.value customerGroupId INTO #TmpCustomerGroupIds FROM BroadCastNotification BN(NOLOCK) CROSS APPLY DBO.Split(',', BN.CustomerGroupIds) SPL WHERE BN.RowId = @RowId IF @BroadcastTypeId = 11430 --EMAIL BEGIN SELECT SendTo = CM.userName, DeviceType = ISNULL(USR.DeviceType, 'Android') FROM #TmpCustomerGroupIds TMP INNER JOIN CustomerGroupDetail CGD(NOLOCK) ON CGD.GroupId = TMP.customerGroupId INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CGD.CustomerId LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId END ELSE IF @BroadcastTypeId = 11429 --PUSH BEGIN IF EXISTS (select top 1 1 from countryMaster (nolock) where countryId = @entrytype) BEGIN SELECT customerId into #tempCustomer FROM pushNotificationHistroy WHERE sentId = @RowId SELECT SendTo = USR.deviceId, DeviceType = ISNULL(USR.DeviceType, 'Android') INTO #Finaltbl1 FROM #tempCustomer TMP INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = TMP.CustomerId LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId AND usr.deviceId is not null SELECT * FROM ( SELECT *, RANK() OVER(PARTITION BY SendTo ORDER BY DeviceType) rank FROM #Finaltbl1 ) T WHERE rank = 1 END ELSE BEGIN SELECT SendTo = USR.deviceId, DeviceType = ISNULL(USR.DeviceType, 'Android') INTO #Finaltbl FROM #TmpCustomerGroupIds TMP INNER JOIN CustomerGroupDetail CGD(NOLOCK) ON CGD.GroupId = TMP.customerGroupId INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CGD.CustomerId LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId AND usr.deviceId is not null SELECT * FROM ( SELECT *, RANK() OVER(PARTITION BY SendTo ORDER BY DeviceType) rank FROM #Finaltbl ) T WHERE rank = 1 END END END IF @isRepush = 'Y' BEGIN PRINT @BroadcastTypeId; INSERT INTO BroadCastNotificationLog(BroadCastId,CreatedBy,CreatedDate, ResponseMessage) values (@RowId, @user , GETDATE() , @BroadcastTypeId ) IF @BroadcastTypeId = 11429 -- add notify BEGIN IF @CustomerId IS NOT NULL BEGIN INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable) select @customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y') END ELSE BEGIN INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable) select distinct customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y') FROM CustomerGroupDetail WHERE GroupId=@CustomerGroupIds END END END END ELSE IF @Flag = 'IN-BROADCAST' BEGIN IF @customerType = 'nativeCountry' BEGIN INSERT INTO BroadCastNotification ( BroadcastTypeId ,CustomerGroupIds ,Title ,Body ,ImageURL ,IsSent ,CreatedBy ,CreatedDate ,ScheduleDate ,IsActive ,customerId ,notificationType ,messageType ,entryType ) SELECT '11429' ,'0' ,'IME London Notification' ,@Body ,@ImageURL ,0 ,@User ,GETDATE() ,@ScheduleDate ,1 ,@CustomerId ,'OPEN_ACTIVITY_DASHBOARD' ,@msgType ,cast(@nativeCountry AS VARCHAR) SET @RowId = @@IDENTITY SELECT DISTINCT deviceId ,cm.customerid ,isInserted = 0 INTO #tempCustomer1 FROM CUSTOMERMASTER(NOLOCK) cm INNER JOIN mobile_userRegistration(NOLOCK) MU ON mu.customerId = cm.customerId WHERE CASE @nativeCountry WHEN 'ALL' THEN 1 ELSE CAST(cm.country AS VARCHAR) END = CASE @nativeCountry WHEN 'ALL' THEN 1 ELSE @nativeCountry END AND isnull(isactive, 'N') = 'Y' AND mu.deviceId IS NOT NULL AND cm.mobileApprovedDate IS NOT NULL --and email in( 'Kewal@imelondon.uk.co','stha@yopmail.com') WHILE EXISTS ( SELECT TOP 1 1 FROM #tempCustomer1 WHERE isInserted = 0 ) BEGIN PRINT 'a' SELECT @customerIdForPush = customerId ,@deviceId = deviceId FROM #tempCustomer1(NOLOCK) WHERE isInserted = 0 INSERT INTO pushNotificationHistroy ( customerId ,body ,title ,createDate ,imageURL ,sentId ,Type ,isReservation ,isRead ,isSend ,category ,url ,isClickable ) SELECT @customerIdForPush ,@Body ,'IME London Notification' ,getdate() ,'' ,@RowId ,0 ,0 ,0 ,0 ,@msgType ,@ImageURL ,IIF(@ImageURL IS NULL, 'N', 'Y') UPDATE #tempCustomer1 SET isInserted = 1 WHERE customerId = @customerIdForPush END SELECT 0 ,'Success' ,@RowId END ELSE IF @customerType = 'ALL' BEGIN INSERT INTO BroadCastNotification(BroadcastTypeId, CustomerGroupIds, Title, Body, ImageURL, IsSent, CreatedBy , CreatedDate, ScheduleDate, IsActive, customerId, notificationType, messageType, entryType) SELECT '11429', '0', 'IME London Notification', @Body, @ImageURL, 0, @User , GETDATE(), @ScheduleDate, 1 , '1000', 'OPEN_ACTIVITY_DASHBOARD', @msgType , 'Non-Group' SET @RowId = @@IDENTITY INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable) select '1000', @Body,'IME London Notification',getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y') SELECT 0, 'Success', @RowId END ELSE IF @customerType = 'postcode' BEGIN INSERT INTO BroadCastNotification ( BroadcastTypeId ,CustomerGroupIds ,Title ,Body ,ImageURL ,IsSent ,CreatedBy ,CreatedDate ,ScheduleDate ,IsActive ,customerId ,notificationType ,messageType ,entryType ) SELECT '11429' ,'0' ,'IME London Notification' ,@Body ,@ImageURL ,0 ,@User ,GETDATE() ,@ScheduleDate ,1 ,@CustomerId ,'OPEN_ACTIVITY_DASHBOARD' ,@msgType ,cast(@nativeCountry AS VARCHAR) SET @RowId = @@IDENTITY SELECT DISTINCT deviceId ,cm.customerid ,isInserted = 0 INTO #tempCust FROM CUSTOMERMASTER(NOLOCK) cm INNER JOIN mobile_userRegistration(NOLOCK) MU ON mu.customerId = cm.customerId WHERE LEFT(cm.zipCode, 3) = LEFT(@postCode, 3) AND isnull(isactive, 'N') = 'Y' AND mu.deviceId IS NOT NULL AND cm.mobileApprovedDate IS NOT NULL --and email in( 'Kewal@imelondon.uk.co','stha@yopmail.com') WHILE EXISTS ( SELECT TOP 1 1 FROM #tempCust WHERE isInserted = 0 ) BEGIN PRINT 'a' SELECT @customerIdForPush = customerId ,@deviceId = deviceId FROM #tempCust(NOLOCK) WHERE isInserted = 0 INSERT INTO pushNotificationHistroy ( customerId ,body ,title ,createDate ,imageURL ,sentId ,Type ,isReservation ,isRead ,isSend ,category ,url ,isClickable ) SELECT @customerIdForPush ,@Body ,'IME London Notification' ,getdate() ,'' ,@RowId ,0 ,0 ,0 ,0 ,@msgType ,@ImageURL ,IIF(@ImageURL IS NULL, 'N', 'Y') UPDATE #tempCust SET isInserted = 1 WHERE customerId = @customerIdForPush END SELECT 0 ,'Success' ,@RowId END ELSE BEGIN INSERT INTO BroadCastNotification(BroadcastTypeId, CustomerGroupIds, Title, Body, ImageURL, IsSent, CreatedBy , CreatedDate, ScheduleDate, IsActive, customerId, notificationType, messageType, entryType) SELECT '11429', '0', 'IME London Notification', @Body, @ImageURL, 0, @User , GETDATE(), @ScheduleDate, 1 , @CustomerId, 'OPEN_ACTIVITY_DASHBOARD', @msgType , 'Non-Group' SET @RowId = @@IDENTITY INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable) select @customerid, @Body,'IME London Notification',getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y') SELECT 0, 'Success', @RowId END END --select * from BroadCastNotification order by rowid desc ELSE IF @Flag = 'UN-BROADCAST' BEGIN UPDATE BroadCastNotification SET Body = @Body , ModifiedBy = @User, ModifiedDate = GETDATE() , messageType = @msgType WHERE RowId = @RowId SELECT 0, 'Success', NULL END ELSE IF @Flag = 'SN-BROADCAST' BEGIN IF @SortBy IS NULL SET @SortBy = 'CreatedDate' IF @SortOrder IS NULL SET @SortOrder = 'DESC' SET @table = '( SELECT BN.RowId ,fullName = ISNULL(CM.fullName,c.countryname) ,IsSent = CASE WHEN IsSent = 0 THEN ''No'' WHEN IsSent = 1 THEN ''Yes'' ELSE ''Failed'' END ,BN.CreatedDate as CreatedDate ,mobileNumber = cm.mobile ,message = BN.body ,email = cm.email ,title = bn.title ,BN.BroadcastTypeId ,BN.createdby FROM BroadCastNotification BN (NOLOCK) INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BN.BroadcastTypeId = SV.ValueId LEFT JOIN dbo.CustomerMaster CM (NOLOCK) ON cm.customerId = ISNULL(BN.customerId,'''') LEFT JOIN Countrymaster c (nolock) ON BN.entryType = CAST(c.countryid as varchar) WHERE 1 = 1 AND BN.isActive = 1 AND bn.entryType IS NOT NULL )x' --print @table -- SET @SqlFilter = '' -- IF @BroadCastTypeId IS NOT NULL -- SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + '''' -- IF @Title IS NOT NULL -- SET @SqlFilter += ' AND X.Title LIKE ''' + @Title + '%''' SET @SelectFieldList ='RowId, IsSent, CreatedDate, message, email,fullName,mobileNumber,title,BroadcastTypeId,createdby' EXEC dbo.proc_paging @table ,@SqlFilter ,@SelectFieldList ,@ExtraFieldList ,@sortBy ,@sortOrder ,@pageSize ,@pageNumber END END