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.

610 lines
42 KiB

9 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[ProcMobileConfig] Script Date: 12/27/2023 3:44:01 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROC [dbo].[ProcMobileConfig]
  9. (
  10. @Flag VARCHAR(30)
  11. ,@User VARCHAR(80) = NULL
  12. ,@GroupName VARCHAR(100) = NULL
  13. ,@GroupDetail VARCHAR(150) = NULL
  14. ,@BroadcastTypeId INT = NULL
  15. ,@CustomerGroupIds VARCHAR(200) = NULL
  16. ,@Title NVARCHAR(100) = NULL
  17. ,@Body NVARCHAR(MAX) = NULL
  18. ,@ImageURL VARCHAR(150) = NULL
  19. ,@ScheduleDate VARCHAR(30) = NULL
  20. ,@SortBy VARCHAR(50) = NULL
  21. ,@SortOrder VARCHAR(5) = NULL
  22. ,@PageSize INT = NULL
  23. ,@PageNumber INT = NULL
  24. ,@RowId INT = NULL
  25. ,@Xml XML = NULL
  26. ,@CustomerId BIGINT = NULL
  27. ,@isRepush VARCHAR(1) = NULL
  28. ,@notificationType VARCHAR(50) = NULL
  29. ,@msgType VARCHAR(25) = NULL
  30. ,@customerType VARCHAR(25) = NULL
  31. ,@nativeCountry VARCHAR(3) = NULL
  32. )
  33. AS
  34. ;
  35. ------------------------------------------------
  36. -- #101 - Mobile Changes
  37. -- Delete customer from group
  38. -- #1048 - BROADCAST FOR SINGLE CUSTOMER , changes in @flag = 'I-BROADCAST' , 'U-BROADCAST' , 'RE-PUSH'
  39. -- #9490 - puch -notification for individual customers
  40. -- #20484- broadcast by country , @flag = groupForCountry
  41. ------------------------------------------------
  42. SET NOCOUNT ON;
  43. SET XACT_ABORT ON;
  44. BEGIN
  45. DECLARE @SelectFieldList VARCHAR(MAX)
  46. ,@ExtraFieldList VARCHAR(MAX)
  47. ,@Table VARCHAR(MAX)
  48. ,@SqlFilter VARCHAR(MAX)
  49. DECLARE @customerIdForPush VARCHAR(50) , @deviceId VARCHAR(MAX) , @entrytype varchar(20)
  50. IF @BroadCastTypeId = '0'
  51. SET @BroadCastTypeId = NULL
  52. IF @Flag = 'I'
  53. BEGIN
  54. SELECT 'A'
  55. END
  56. ELSE IF @Flag = 'I-GROUP'
  57. BEGIN
  58. INSERT INTO CustomerGroup(GroupName, GroupDetail, BroadcastTypeId, CreatedBy, CreatedDate, IsActive)
  59. SELECT @GroupName, @GroupDetail, @BroadcastTypeId, @User, GETDATE(), 1
  60. SELECT 0, 'Success', NULL
  61. END
  62. ELSE IF @Flag = 'S-GROUP-SINGLE'
  63. BEGIN
  64. SELECT *
  65. FROM CustomerGroup (NOLOCK)
  66. WHERE RowId = @RowId
  67. END
  68. ELSE IF @Flag = 'U-GROUP'
  69. BEGIN
  70. UPDATE CustomerGroup
  71. SET GroupName = @GroupName, GroupDetail = @GroupDetail, BroadcastTypeId = @BroadcastTypeId, ModifiedBy = @User, ModifiedDate = GETDATE()
  72. WHERE RowId = @RowId
  73. SELECT 0, 'Success', NULL
  74. END
  75. ELSE IF @Flag = 'DDL-GROUP'
  76. BEGIN
  77. SELECT GroupName, RowId
  78. FROM CustomerGroup (NOLOCK)
  79. WHERE IsActive = 1
  80. END
  81. ELSE IF @Flag = 'DDL-STATIC'
  82. BEGIN
  83. SELECT '0' [value], 'Select' [text]
  84. UNION ALL
  85. SELECT valueId [value], detailTitle [text]
  86. FROM staticDataValue (NOLOCK)
  87. WHERE ISNULL(IsActive, 'Y') = 'Y'
  88. AND ISNULL(IS_DELETE, 'N') = 'N'
  89. AND typeId = 8105
  90. END
  91. ELSE IF @Flag = 'DELETE'
  92. BEGIN
  93. SELECT @BroadcastTypeId = BroadcastTypeId
  94. FROM BroadCastNotification (NOLOCK)
  95. WHERE RowId = @RowId
  96. UPDATE BroadCastNotification
  97. SET IsActive = CASE WHEN IsActive = 0 THEN 1 ELSE 0 END, ModifiedBy = @User, ModifiedDate = GETDATE()
  98. WHERE RowId = @RowId
  99. INSERT INTO BroadCastNotificationLog(BroadCastId,CreatedBy,CreatedDate, ResponseMessage)
  100. values (@RowId, @user , GETDATE() , @BroadcastTypeId )
  101. SELECT 0, 'Success', NULL
  102. END
  103. ELSE IF @Flag = 'DELETE-GROUP'
  104. BEGIN
  105. UPDATE CustomerGroup
  106. SET IsActive = CASE WHEN IsActive = 0 THEN 1 ELSE 0 END, ModifiedBy = @User, ModifiedDate = GETDATE()
  107. WHERE RowId = @RowId
  108. SELECT 0, 'Success', NULL
  109. END
  110. ELSE IF @Flag = 'I-BROADCAST'
  111. BEGIN
  112. IF @CustomerGroupIds IS NULL
  113. BEGIN
  114. SET @CustomerGroupIds = '0'
  115. END
  116. INSERT INTO BroadCastNotification(BroadcastTypeId, CustomerGroupIds, Title, Body, ImageURL, IsSent, CreatedBy
  117. , CreatedDate, ScheduleDate, IsActive, customerId, notificationType, messageType)
  118. SELECT @BroadcastTypeId, @CustomerGroupIds, @Title, @Body, @ImageURL, 0, @User
  119. , GETDATE(), @ScheduleDate, 1 , @CustomerId, @notificationType, @msgType
  120. SET @RowId = @@IDENTITY
  121. IF @CustomerId IS NOT NULL
  122. BEGIN
  123. INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  124. select @customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  125. END
  126. ELSE
  127. BEGIN
  128. INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  129. select distinct customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  130. FROM CustomerGroupDetail WHERE GroupId=@CustomerGroupIds
  131. END
  132. --INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  133. --select ISNULL(@customerid,@CustomerGroupIds),@Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  134. SELECT 0, 'Success', @RowId
  135. END
  136. ELSE IF @Flag = 'U-BROADCAST'
  137. BEGIN
  138. IF @CustomerGroupIds IS NULL
  139. BEGIN
  140. SET @CustomerGroupIds = '0'
  141. END
  142. UPDATE BroadCastNotification
  143. SET BroadcastTypeId = @BroadcastTypeId, Title = @Title, Body = @Body, ImageURL = @ImageURL
  144. , ModifiedBy = @User, ModifiedDate = GETDATE(), notificationType = @notificationType
  145. , messageType = @msgType
  146. WHERE RowId = @RowId
  147. SELECT 0, 'Success', NULL
  148. END
  149. ELSE IF @Flag = 'U-B-GROUP'
  150. BEGIN
  151. UPDATE BroadCastNotification
  152. SET CustomerGroupIds = @CustomerGroupIds, ModifiedBy = @User, ModifiedDate = GETDATE()
  153. WHERE RowId = @RowId
  154. SELECT 0, 'Success', NULL
  155. END
  156. ELSE IF @Flag = 'S-BROADCAST-SINGLE'
  157. BEGIN
  158. SELECT *
  159. FROM BroadCastNotification (NOLOCK)
  160. WHERE RowId = @RowId
  161. END
  162. ELSE IF @Flag = 'S-BROADCAST'
  163. BEGIN
  164. IF @SortBy IS NULL
  165. SET @SortBy = 'CreatedDate'
  166. IF @SortOrder IS NULL
  167. SET @SortOrder = 'DESC'
  168. SET @table = '(
  169. SELECT BN.RowId
  170. ,customer = CASE WHEN bn.customerid is not null then cm.fullName else cg.GroupName END
  171. ,BN.Title
  172. ,BN.ImageURL
  173. ,IsSent = CASE WHEN IsSent = 0 THEN ''No'' WHEN IsSent = 1 THEN ''Yes'' ELSE ''Failed'' END
  174. ,BN.CreatedDate
  175. ,BN.ScheduleDate
  176. ,BN.CreatedBy
  177. ,IsActive = CASE WHEN BN.IsActive = 0 THEN ''No'' ELSE ''Yes'' END
  178. ,BroadCastType = SV.DetailTitle
  179. ,BN.CustomerGroupIds
  180. ,BN.BroadcastTypeId
  181. FROM BroadCastNotification BN (NOLOCK)
  182. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BN.BroadcastTypeId = SV.ValueId
  183. LEFT JOIN dbo.CustomerGroup CG(NOLOCK) ON cg.RowId = BN.customerGroupIds
  184. LEFT JOIN dbo.CustomerMaster CM (NOLOCK) ON cm.customerId = ISNULL(BN.customerId,'''')
  185. WHERE 1 = 1 AND BN.isActive = 1 AND ISNULL(BN.entryType,'''') = ''''
  186. )x'
  187. SET @SqlFilter = ''
  188. IF @BroadCastTypeId IS NOT NULL
  189. SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + ''''
  190. IF @Title IS NOT NULL
  191. SET @SqlFilter += ' AND X.Title LIKE ''' + @Title + '%'''
  192. SET @SelectFieldList ='RowId, Title, ImageURL, IsSent, CreatedBy, CreatedDate, ScheduleDate, IsActive
  193. ,BroadCastType, CustomerGroupIds, customer'
  194. EXEC dbo.proc_paging
  195. @table
  196. ,@SqlFilter
  197. ,@SelectFieldList
  198. ,@ExtraFieldList
  199. ,@sortBy
  200. ,@sortOrder
  201. ,@pageSize
  202. ,@pageNumber
  203. END
  204. ELSE IF @Flag = 'S-GROUP'
  205. BEGIN
  206. IF @SortBy IS NULL
  207. SET @SortBy = 'CreatedDate'
  208. IF @SortOrder IS NULL
  209. SET @SortOrder = 'DESC'
  210. SET @table = '(
  211. SELECT CG.RowId
  212. ,CG.GroupName
  213. ,CG.GroupDetail
  214. ,CG.CreatedDate
  215. ,CG.CreatedBy
  216. ,IsActive = CASE WHEN CG.IsActive = 0 THEN ''No'' ELSE ''Yes'' END
  217. ,BroadCastType = SV.DetailTitle
  218. ,BroadcastTypeId
  219. FROM CustomerGroup CG (NOLOCK)
  220. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON CG.BroadcastTypeId = SV.ValueId
  221. WHERE 1 = 1
  222. )x'
  223. SET @SqlFilter = ''
  224. IF @BroadCastTypeId IS NOT NULL
  225. SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + ''''
  226. IF @GroupName IS NOT NULL
  227. SET @SqlFilter += ' AND X.GroupName LIKE ''' + @GroupName + '%'''
  228. SET @SelectFieldList ='RowId, GroupName, GroupDetail, CreatedDate, CreatedBy, IsActive, BroadCastType'
  229. EXEC dbo.proc_paging
  230. @table
  231. ,@SqlFilter
  232. ,@SelectFieldList
  233. ,@ExtraFieldList
  234. ,@sortBy
  235. ,@sortOrder
  236. ,@pageSize
  237. ,@pageNumber
  238. END
  239. ELSE IF @Flag = 'GROUP-LIST'
  240. BEGIN
  241. IF @RowId IS NULL
  242. BEGIN
  243. SELECT CG.GroupName, CG.RowId, IsSelected = 'N'
  244. FROM CustomerGroup CG(NOLOCK)
  245. WHERE CG.IsActive = 1
  246. AND CG.BroadcastTypeId = @BroadcastTypeId
  247. RETURN;
  248. END
  249. IF @BroadcastTypeId IS NULL
  250. SELECT @BroadcastTypeId = BroadcastTypeId FROM BroadCastNotification(NOLOCK) WHERE RowId = @RowId
  251. SELECT B.RowId, SPL.value customerGroupId
  252. INTO #GROUP_MAPPED
  253. FROM BroadCastNotification B
  254. CROSS APPLY DBO.Split(',', B.CustomerGroupIds) SPL
  255. WHERE B.RowId = @RowId
  256. SELECT CG.GroupName, CG.RowId, IsSelected = CASE WHEN G.RowId IS NULL THEN 'N' ELSE 'Y' END
  257. FROM CustomerGroup CG(NOLOCK)
  258. LEFT JOIN #GROUP_MAPPED G ON CG.RowId = G.customerGroupId
  259. WHERE CG.IsActive = 1
  260. AND CG.BroadcastTypeId = @BroadcastTypeId
  261. END
  262. ELSE IF @Flag = 'UPLOAD-CUSTOMER'
  263. BEGIN
  264. IF @RowId IS NULL
  265. BEGIN
  266. SELECT 1, 'Invalid Customer group type!', NULL
  267. RETURN
  268. END
  269. SELECT membershipId = p.value('@membershipid', 'VARCHAR(100)')
  270. INTO #TEMP_CUSTOMER
  271. FROM @xml.nodes('/root/row') AS tmp ( p );
  272. DELETE TMP
  273. FROM #TEMP_CUSTOMER TMP
  274. INNER JOIN customerMaster CM(NOLOCK) ON CM.membershipId = TMP.membershipId
  275. INNER JOIN CustomerGroupDetail CD(NOLOCK) ON CD.CustomerId = CM.customerId
  276. WHERE CD.GroupId= @RowId
  277. INSERT INTO CustomerGroupDetail(GroupId, CustomerId, CreatedBy, CreatedDate)
  278. SELECT @RowId, CM.customerId, @User, GETDATE()
  279. FROM #TEMP_CUSTOMER T
  280. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.membershipId = T.membershipId
  281. SELECT 0, 'Success', NULL
  282. END
  283. ELSE IF @Flag = 'UPLOAD-CUSTOMER-SINGLE'
  284. BEGIN
  285. IF @RowId IS NULL
  286. BEGIN
  287. SELECT 1, 'Invalid Customer group type!', NULL
  288. RETURN
  289. END
  290. IF NOT EXISTS(SELECT * FROM CUSTOMERMASTER (NOLOCK) WHERE CUSTOMERID = @CustomerId)
  291. BEGIN
  292. SELECT 1, 'Invalid customer!', NULL
  293. RETURN
  294. END
  295. IF EXISTS(SELECT * FROM CustomerGroupDetail (NOLOCK) WHERE CustomerId = @CustomerId AND GroupId = @RowId)
  296. BEGIN
  297. SELECT 1, 'Customer Already added!', NULL
  298. RETURN
  299. END
  300. INSERT INTO CustomerGroupDetail(GroupId, CustomerId, CreatedBy, CreatedDate)
  301. SELECT @RowId, @CustomerId, @User, GETDATE()
  302. SELECT 0, 'Success', NULL
  303. END
  304. ELSE IF @Flag = 'CUSTOMER-LIST'
  305. BEGIN
  306. SELECT FullName = CM.FullName + ' | ' + CM.membershipId , RowId = RowId
  307. FROM CustomerGroupDetail CD(NOLOCK)
  308. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.customerId = CD.CustomerId
  309. WHERE GroupId = @RowId
  310. END
  311. ELSE IF @Flag = 'BROADCAST-DETAIL'
  312. BEGIN
  313. SELECT RowId, Title = SV.detailTitle + ': ' + BC.Title, BC.Body
  314. FROM BroadCastNotification BC(NOLOCK)
  315. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BC.BroadcastTypeId = SV.ValueId
  316. WHERE RowId = @RowId
  317. END
  318. ELSE IF @Flag = 'DELETE-CUSTOMER-FROM-GROUP' --added on feb 26
  319. BEGIN
  320. DELETE
  321. FROM CustomerGroupDetail
  322. WHERE RowId = @rowid
  323. IF @@ROWCOUNT = 0
  324. PRINT 'Customer ID not found'
  325. ELSE
  326. SELECT 0 ErrorCode
  327. , 'Customer Deleted Successfully' Msg
  328. , @rowid RowId
  329. RETURN
  330. END
  331. ELSE IF @Flag = 'RE-PUSH'
  332. BEGIN
  333. SELECT @BroadcastTypeId = BroadcastTypeId, @ImageURL=ImageURL,@Body=Body,@Title=Title,@CustomerGroupIds=CustomerGroupIds , @msgType = messageType, @entrytype = entryType
  334. FROM BroadCastNotification (NOLOCK)
  335. WHERE RowId = @RowId
  336. IF @BroadcastTypeId IS NULL
  337. BEGIN
  338. SELECT 1, 'Invalid data!', NULL
  339. RETURN
  340. END
  341. SELECT @CustomerId = CUSTOMERID FROM BroadCastNotification BC(NOLOCK) WHERE RowId = @RowId
  342. IF @CustomerId IS NOT NULL
  343. BEGIN
  344. SELECT RowId, BC.Title, BC.Body, IsBulkNotification = 'false' , SV.detailTitle as BroadcastTypeId , BC.ImageURL as NavigateURL, BC.notificationType AS ClickActivity --added on 25th feb
  345. ,BC.messageType AS MessageType
  346. FROM BroadCastNotification BC(NOLOCK)
  347. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BC.BroadcastTypeId = SV.ValueId
  348. WHERE RowId = @RowId
  349. IF @BroadcastTypeId = 11430 --EMAIL
  350. BEGIN
  351. SELECT SendTo = CM.userName, DeviceType = ISNULL(USR.DeviceType, 'Android')
  352. FROM CUSTOMERMASTER CM(NOLOCK)
  353. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  354. WHERE cm.customerId = @CustomerId
  355. END
  356. ELSE IF @BroadcastTypeId = 11429 --PUSH
  357. BEGIN
  358. SELECT SendTo = USR.deviceId, DeviceType = ISNULL(USR.DeviceType, 'Android')
  359. FROM CUSTOMERMASTER CM(NOLOCK)
  360. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  361. WHERE cm.customerId = @CustomerId
  362. END
  363. END
  364. ELSE
  365. BEGIN
  366. PRINT @BroadcastTypeId;
  367. SELECT RowId, BC.Title, BC.Body, IsBulkNotification = 'true', SV.detailTitle as BroadcastTypeId , BC.ImageURL as NavigateURL, BC.notificationType AS ClickActivity --added on 25th feb
  368. , BC.messageType AS MessageType
  369. FROM BroadCastNotification BC(NOLOCK)
  370. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BC.BroadcastTypeId = SV.ValueId
  371. WHERE RowId = @RowId
  372. SELECT BN.RowId, SPL.value customerGroupId
  373. INTO #TmpCustomerGroupIds
  374. FROM BroadCastNotification BN(NOLOCK)
  375. CROSS APPLY DBO.Split(',', BN.CustomerGroupIds) SPL
  376. WHERE BN.RowId = @RowId
  377. IF @BroadcastTypeId = 11430 --EMAIL
  378. BEGIN
  379. SELECT SendTo = CM.userName, DeviceType = ISNULL(USR.DeviceType, 'Android')
  380. FROM #TmpCustomerGroupIds TMP
  381. INNER JOIN CustomerGroupDetail CGD(NOLOCK) ON CGD.GroupId = TMP.customerGroupId
  382. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CGD.CustomerId
  383. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  384. END
  385. ELSE IF @BroadcastTypeId = 11429 --PUSH
  386. BEGIN
  387. IF EXISTS (select top 1 1 from countryMaster (nolock) where countryId = @entrytype)
  388. BEGIN
  389. SELECT customerId
  390. into #tempCustomer FROM pushNotificationHistroy WHERE sentId = @RowId
  391. SELECT SendTo = USR.deviceId, DeviceType = ISNULL(USR.DeviceType, 'Android')
  392. INTO #Finaltbl1
  393. FROM #tempCustomer TMP
  394. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = TMP.CustomerId
  395. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  396. AND usr.deviceId is not null
  397. SELECT * FROM
  398. (
  399. SELECT *,
  400. RANK() OVER(PARTITION BY SendTo
  401. ORDER BY DeviceType) rank
  402. FROM #Finaltbl1
  403. ) T
  404. WHERE rank = 1
  405. END
  406. ELSE
  407. BEGIN
  408. SELECT SendTo = USR.deviceId, DeviceType = ISNULL(USR.DeviceType, 'Android')
  409. INTO #Finaltbl
  410. FROM #TmpCustomerGroupIds TMP
  411. INNER JOIN CustomerGroupDetail CGD(NOLOCK) ON CGD.GroupId = TMP.customerGroupId
  412. INNER JOIN CUSTOMERMASTER CM(NOLOCK) ON CM.CUSTOMERID = CGD.CustomerId
  413. LEFT JOIN mobile_userRegistration USR(NOLOCK) ON USR.customerId = CM.customerId
  414. AND usr.deviceId is not null
  415. SELECT * FROM
  416. (
  417. SELECT *,
  418. RANK() OVER(PARTITION BY SendTo
  419. ORDER BY DeviceType) rank
  420. FROM #Finaltbl
  421. ) T
  422. WHERE rank = 1
  423. END
  424. END
  425. END
  426. IF @isRepush = 'Y'
  427. BEGIN
  428. PRINT @BroadcastTypeId;
  429. INSERT INTO BroadCastNotificationLog(BroadCastId,CreatedBy,CreatedDate, ResponseMessage)
  430. values (@RowId, @user , GETDATE() , @BroadcastTypeId )
  431. IF @BroadcastTypeId = 11429 -- add notify
  432. BEGIN
  433. IF @CustomerId IS NOT NULL
  434. BEGIN
  435. INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  436. select @customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  437. END
  438. ELSE
  439. BEGIN
  440. INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  441. select distinct customerid, @Body,@Title,getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  442. FROM CustomerGroupDetail WHERE GroupId=@CustomerGroupIds
  443. END
  444. END
  445. END
  446. END
  447. ELSE IF @Flag = 'IN-BROADCAST'
  448. BEGIN
  449. IF @customerType = 'nativeCountry'
  450. BEGIN
  451. INSERT INTO BroadCastNotification(BroadcastTypeId, CustomerGroupIds, Title, Body, ImageURL, IsSent, CreatedBy
  452. , CreatedDate, ScheduleDate, IsActive, customerId, notificationType, messageType,entryType )
  453. SELECT '11429', '0', 'IME London Notification', @Body, @ImageURL, 0, @User
  454. , GETDATE(), @ScheduleDate, 1 , @CustomerId, 'OPEN_ACTIVITY_DASHBOARD', @msgType, cast(@nativeCountry as varchar)
  455. SET @RowId = @@IDENTITY
  456. SELECT distinct deviceId , cm.customerid , isInserted = 0
  457. into #tempCustomer1
  458. FROM CUSTOMERMASTER (NOLOCK) cm
  459. INNER JOIN mobile_userRegistration (NOLOCK) MU on mu.customerId = cm.customerId
  460. WHERE CASE @nativeCountry WHEN 'ALL' THEN 1
  461. 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
  462. --and email in( 'Kewal@imelondon.uk.co','stha@yopmail.com')
  463. WHILE EXISTS (SELECT TOP 1 1 FROM #tempCustomer1 WHERE isInserted = 0)
  464. BEGIN
  465. print 'a'
  466. SELECT @customerIdForPush = customerId, @deviceId = deviceId
  467. FROM #tempCustomer1(NOLOCK) WHERE isInserted = 0
  468. INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  469. select @customerIdForPush, @Body,'IME London Notification',getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  470. UPDATE #tempCustomer1 SET isInserted = 1 WHERE customerId = @customerIdForPush
  471. END
  472. SELECT 0, 'Success', @RowId
  473. END
  474. ELSE
  475. BEGIN
  476. INSERT INTO BroadCastNotification(BroadcastTypeId, CustomerGroupIds, Title, Body, ImageURL, IsSent, CreatedBy
  477. , CreatedDate, ScheduleDate, IsActive, customerId, notificationType, messageType, entryType)
  478. SELECT '11429', '0', 'IME London Notification', @Body, @ImageURL, 0, @User
  479. , GETDATE(), @ScheduleDate, 1 , @CustomerId, 'OPEN_ACTIVITY_DASHBOARD', @msgType , 'Non-Group'
  480. SET @RowId = @@IDENTITY
  481. INSERT INTO pushNotificationHistroy(customerId,body,title,createDate,imageURL,sentId,Type,isReservation,isRead,isSend,category,url, isClickable)
  482. select @customerid, @Body,'IME London Notification',getdate(),'',@RowId,0,0,0,0,@msgType,@ImageURL,IIF(@ImageURL IS NULL,'N','Y')
  483. SELECT 0, 'Success', @RowId
  484. END
  485. END
  486. --select * from BroadCastNotification order by rowid desc
  487. ELSE IF @Flag = 'UN-BROADCAST'
  488. BEGIN
  489. UPDATE BroadCastNotification
  490. SET Body = @Body
  491. , ModifiedBy = @User, ModifiedDate = GETDATE()
  492. , messageType = @msgType
  493. WHERE RowId = @RowId
  494. SELECT 0, 'Success', NULL
  495. END
  496. ELSE IF @Flag = 'SN-BROADCAST'
  497. BEGIN
  498. IF @SortBy IS NULL
  499. SET @SortBy = 'CreatedDate'
  500. IF @SortOrder IS NULL
  501. SET @SortOrder = 'DESC'
  502. SET @table = '(
  503. SELECT BN.RowId
  504. ,fullName = ISNULL(CM.fullName,c.countryname)
  505. ,IsSent = CASE WHEN IsSent = 0 THEN ''No'' WHEN IsSent = 1 THEN ''Yes'' ELSE ''Failed'' END
  506. ,BN.CreatedDate as CreatedDate
  507. ,mobileNumber = cm.mobile
  508. ,message = BN.body
  509. ,email = cm.email
  510. ,title = bn.title
  511. ,BN.BroadcastTypeId
  512. ,BN.createdby
  513. FROM BroadCastNotification BN (NOLOCK)
  514. INNER JOIN dbo.StaticDataValue SV (NOLOCK) ON BN.BroadcastTypeId = SV.ValueId
  515. LEFT JOIN dbo.CustomerMaster CM (NOLOCK) ON cm.customerId = ISNULL(BN.customerId,'''')
  516. LEFT JOIN Countrymaster c (nolock) ON BN.entryType = CAST(c.countryid as varchar)
  517. WHERE 1 = 1 AND BN.isActive = 1 AND bn.entryType IS NOT NULL
  518. )x'
  519. --print @table
  520. -- SET @SqlFilter = ''
  521. -- IF @BroadCastTypeId IS NOT NULL
  522. -- SET @SqlFilter += ' AND X.BroadcastTypeId = ''' + CAST(@BroadcastTypeId AS VARCHAR) + ''''
  523. -- IF @Title IS NOT NULL
  524. -- SET @SqlFilter += ' AND X.Title LIKE ''' + @Title + '%'''
  525. SET @SelectFieldList ='RowId, IsSent, CreatedDate, message, email,fullName,mobileNumber,title,BroadcastTypeId,createdby'
  526. EXEC dbo.proc_paging
  527. @table
  528. ,@SqlFilter
  529. ,@SelectFieldList
  530. ,@ExtraFieldList
  531. ,@sortBy
  532. ,@sortOrder
  533. ,@pageSize
  534. ,@pageNumber
  535. END
  536. END