How to update the user level when ever user report any tweet in sql
ALTER PROCEDURE [dbo].[SP_UPDATEUSERLEVEL]
@Userid INT
AS
BEGIN
Declare @CountOfUserReportedTweets INT
Declare @LevelBadgeId INT
SET @CountOfUserReportedTweets=(select count(*) from OnGoingReports where UserId=@Userid)
--CHECKS WHETHER THE LEVEL EXIST OR NOT
IF EXISTS(select Top 1 * from LevelBadge where NoofTweets<=@CountOfUserReportedTweets order by NoofTweets desc)
BEGIN
--IF LEVEL EXISTS UPDATE OR INSERT WITH THAT LEVEL ID
SET @LevelBadgeId=(select Top 1 Id from LevelBadge where NoofTweets<=@CountOfUserReportedTweets order by NoofTweets desc)
IF EXISTS(select * from UserLevel where UserId=@Userid)
BEGIN
UPDATE UserLevel SET LevelBadgeId=@LevelBadgeId
WHERE UserId=@Userid
END
ELSE
BEGIN
INSERT INTO UserLevel(UserId,LevelBadgeId) VALUES (@Userid,@LevelBadgeId)
END
END
ELSE
BEGIN
--IF NO LEVEL EXISTS THEN INSERTING DEFAULT LEVEL
IF EXISTS(select * from UserLevel where UserId=@Userid)
BEGIN
UPDATE UserLevel SET LevelBadgeId=1
WHERE UserId=@Userid
END
ELSE
BEGIN
INSERT INTO UserLevel(UserId,LevelBadgeId) VALUES (@Userid,1)
END
END
END
Comments
Post a Comment