/****** Object: StoredProcedure [dbo].[SP_Members] Script Date: 03/13/2014 10:51:05 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[SP_Members]
@Mode VARCHAR(50) = '',
@MemberID int = 0,
@MemberName varchar(255) = '',
@FirstName varchar(255) = '',
@LastName varchar(255) = '',
@Address1 varchar(255) = '',
@Address2 varchar(255) = '',
@City varchar(255) = '',
@Pincode varchar(10) = '',
@State varchar(255) = '',
@StateID int=0,
@Region varchar(255) = '',
@RegionID int=0,
@Country varchar(255) = '',
@CategoryID int = 0,
@Gender varchar(6) = '',
@Website varchar(50) = '',
@CompanyName varchar(100) = '',
@EmailID varchar(50) = '',
@Password varchar(50) = '',
@OldPassword varchar(50) = '',
@PhoneNo varchar(15) = '',
@MobileNo varchar(15) = '',
@IsApproved bit = false,
@IsAccept bit = false,
@MemberImage varchar(100) = '',
@DeleteFlag bit = false,
@GroupID INT = 0,
@MemberSince VARCHAR(10) = '',
@DirectNo VARCHAR(15) = '',
@FindUs NVARCHAR(255) = '',
@CountryID INT = 0,
@CompanyABN NVARCHAR(50)= '',
@CityID INT = 0,
@IsPaid BIT = 0,
@GoupID INT = 0,
@Latitude NVARCHAR(50) = '',
@Longitude NVARCHAR(50) = '',
@MultiIDs VARCHAR(MAX) ='',
@SortBy VARCHAR(255) ='Name',
@SortOrder VARCHAR(10) = 'ASC',
@SearchField VARCHAR(200) = '',
@SearchValue VARCHAR(200) = ''
AS
BEGIN
DECLARE @Str VARCHAR(MAX)
SET @Str = ''
/*
[SP_Members] @Mode= 'INSERTFromFront',@FirstName='test',@LastName='test',@City='test',
@Pincode='test'
*/
IF @Mode = 'INSERTFromFront'
BEGIN
IF NOT EXISTS(SELECT MemberID FROM Members WHERE EmailID = @EmailID)
BEGIN
INSERT INTO [Members]
([FirstName]
,[LastName]
,[Address2]
,[Pincode]
,[Country]
,[CategoryID]
,[Gender]
,[EmailID]
,[Password]
,[IsApproved]
,[IsAccept]
,[CreatedOn]
,[ModifiedOn]
,[DeleteFlag],
CompanyName, [State], MobileNo, DirectNo, FindUs, CountryID,
IsPaid
)
VALUES
(@FirstName
,@LastName
,@Address2
,@Pincode
,@Country
,@CategoryID
,@Gender
,@EmailID
,@Password
,@IsApproved
,@IsAccept
,GETDATE()
,GETDATE()
,@DeleteFlag,
@CompanyName, @State, @MobileNo, @DirectNo, @FindUs , @CountryID,
@IsPaid
)
Select SCOPE_IDENTITY() AS RETURNVAL
END
ELSE
BEGIN
Select 0 AS RETURNVAL
END
END
IF @Mode = 'INSERT'
BEGIN
IF NOT EXISTS(SELECT MemberID FROM Members WHERE EmailID = @EmailID)
BEGIN
INSERT INTO [Members]
([FirstName],[LastName],[Address1],[Address2],[City],[Pincode],[State],[StateID],[Region],[RegionID],
[Country],[CategoryID],[Gender],[EmailID],[Password],[Website],[CompanyName],[PhoneNo],[MobileNo],
[IsApproved],[IsAccept],[MemberImage],[CreatedOn],[ModifiedOn],[DeleteFlag], IsPaid)
VALUES
(@FirstName,@LastName,@Address1,@Address2,@City,@Pincode,@State,@StateID,@Region,@RegionID,
@Country,@CategoryID,@Gender,@EmailID,@Password,@Website,@CompanyName,@PhoneNo,@MobileNo,
@IsApproved,@IsAccept,@MemberImage,GETDATE(),GETDATE(),@DeleteFlag, @IsPaid)
Select SCOPE_IDENTITY() AS RETURNVAL
END
ELSE
BEGIN
Select 0 AS RETURNVAL
END
END
IF @Mode = 'UPDATE'
BEGIN
IF NOT EXISTS(SELECT MemberID FROM Members WHERE EmailID = @EmailID AND [MemberID] <> @MemberID)
BEGIN
Update [Members] Set
[FirstName] = @FirstName,[LastName] = @LastName,[Address1] = @Address1,[Address2] = @Address2,
[City] = @City,[Pincode] = @Pincode,[State] = @State,[StateID] = @StateID,[Region] = @Region,
[RegionID] = @RegionID,[Country] = @Country,[CategoryID] = @CategoryID,[Gender] = @Gender,
[EmailID] = @EmailID,[Password] = @Password,[Website] = @Website,[CompanyName] = @CompanyName,
[PhoneNo] = @PhoneNo,[MobileNo] = @MobileNo,[IsApproved] = @IsApproved,[IsAccept] = @IsAccept,
[MemberImage]= @MemberImage,[DeleteFlag] = @DeleteFlag
Where [MemberID] = @MemberID
Select @MemberID AS RETURNVAL
END
ELSE
BEGIN
Select 0 AS RETURNVAL
END
END
IF @Mode='DELETE'
BEGIN
IF EXISTS(SELECT MemberID FROM Members WHERE MemberID = @MemberID)
BEGIN
DELETE FROM Members
WHERE MemberID = @MemberID
SELECT @MemberID AS RETURNVAL
END
ELSE
BEGIN
SELECT 0 AS RETURNVAL
END
END
IF @Mode = 'MULTIDELETE'
BEGIN
IF @MultiIDs <> ''
BEGIN
SET @Str = 'DELETE FROM Members WHERE MemberID IN (' + @MultiIDs + ')'
EXEC(@Str)
SELECT 1 AS RETURNVAL
END
ELSE
BEGIN
SELECT 0 AS RETURNVAL
END
END
IF @Mode = 'MULTIACTIVE'
BEGIN
IF @MultiIDs <> ''
BEGIN
SET @Str = 'UPDATE Members SET DeleteFlag = 1 WHERE MemberID IN (' + @MultiIDs + ')'
EXEC(@Str)
SELECT 1 AS RETURNVAL
END
ELSE
BEGIN
SELECT 0 AS RETURNVAL
END
END
IF @Mode = 'MULTIINACTIVE'
BEGIN
IF @MultiIDs <> ''
BEGIN
SET @Str = 'UPDATE Members SET DeleteFlag = 0 WHERE MemberID IN (' + @MultiIDs + ')'
EXEC(@Str)
SELECT 1 AS RETURNVAL
END
ELSE
BEGIN
SELECT 0 AS RETURNVAL
END
END
IF @Mode = 'UpdateForAddress'
BEGIN
IF NOT EXISTS(SELECT MemberID FROM Members WHERE EmailID = @EmailID)
BEGIN
Update [Members]
Set
[Address1] = @Address1
,[Address2] = @Address2
,[City] = @City
,[State] = @State
,[StateID]= @StateID
,[Country] = @Country
,[MemberImage] = @MemberImage
,[Website] = @Website
,[ModifiedOn] = GETDATE(),
CompanyABN = @CompanyABN,
CityID = @CityID,
Latitude = @Latitude,
Longitude = @Longitude
Where [MemberID] = @MemberID
Select @MemberID AS RETURNVAL
END
ELSE
BEGIN
Select 0 AS RETURNVAL
END
END
/*
[SP_Members] @Mode = 'SelectByID' , @MemberID = 47
*/
IF @Mode = 'SelectByID'
BEGIN
SELECT [MemberID],[FirstName],[LastName],[Address1],[Address2],[City],[Pincode]
,[State],[StateID],UserCategories.Name AS CategoryName,[Region],[RegionID],[Country]
,Members.[CategoryID],[Website],[CompanyName],[PhoneNo],[MobileNo],[MemberImage]
,[EmailID],[Password],Members.CreatedOn , dbo.GetStatus(MemberID,0) as eStatus
,dbo.GetGroupName(MemberID,1) as GroupName, dbo.GetGroupName(MemberID,2) as GroupID,
CountryID,StateID, RegionID, CityID, CompanyABN
FROM [Members]
INNER JOIN UserCategories ON Members.CategoryID = UserCategories.CategoryID
WHERE [MemberID] = @MemberID
END
IF @Mode = 'SelectForConfirmation'
BEGIN
SELECT [MemberID],[FirstName],[LastName],[Address1],[Address2],[City],[Pincode],[State],[StateID],
[Region],[RegionID],[Country],[MemberImage],[Website],[CompanyName],[PhoneNo],[MobileNo], CategoryID
FROM [Members] WHERE [EmailID] = @EmailID and [Password] = @Password
END
IF @Mode = 'ChangePassword'
BEGIN
IF EXISTS(SELECT MemberID FROM Members WHERE MemberID = @MemberID and [Password] = @OldPassword)
BEGIN
Update [Members]
Set
[Password] = @Password
,[ModifiedOn] = GETDATE()
Where [MemberID] = @MemberID
Select @MemberID AS RETURNVAL
END
ELSE
BEGIN
Select 0 AS RETURNVAL
END
END
IF @Mode = 'SELECTALL'
BEGIN
SET @Str = 'SELECT Members.MemberID, Members.FirstName + '' '' + Members.LastName as MemberName,
Members.City, Members.Pincode, Members.State, Members.Region, Members.Country,Members.[MobileNo],
Members.[PhoneNo],Members.[Website],Members.[CompanyName],Members.MemberImage, UserCategories.Name AS CategoryName,Status = CASE Members.DeleteFlag
WHEN 1 THEN ''images/icon-active.png'' ELSE ''images/icon-inactive.png'' END
FROM Members INNER JOIN UserCategories ON Members.CategoryID = UserCategories.CategoryID
WHERE 1=1 '
IF @SearchField <> '' AND @SearchValue <> ''
BEGIN
IF @SearchField = 'IsStatus'
BEGIN
SET @Str = @Str + ' AND Members.DeleteFlag = ' + @SearchValue
END
ELSE IF @SearchField = 'MemberName'
BEGIN
SET @Str = @Str + ' AND (Members.FirstName LIKE ''' + @SearchValue + '%'' OR Members.LastName LIKE ''' + @SearchValue + '%'') '
END
ELSE
BEGIN
SET @Str = @Str + ' AND ' + @SearchField + ' LIKE ''' + @SearchValue + '%'' '
END
END
SET @Str = @Str + ' ORDER BY ' + @SortBy + ' ' + @SortOrder
EXEC(@Str)
END
IF @Mode = 'GETMEMBERFRONT'
BEGIN
SET @Str = 'SELECT UserCategories.Name AS CategoryName, Groups.GroupName,
(Members.FirstName + '' '' + Members.LastName) AS MemberName ,
substring(datename(month,Members.CreatedOn),1,3) + '' ''
+ convert(varchar, datepart(year,Members.CreatedOn)) AS CreatedOn,
Members.MemberImage, Members.MemberID,
Members.EmailID, Members.Website, Members.MobileNo,
Members.Country + '', '' + Members.State + '', '' + Members.City AS Address
FROM Members
INNER JOIN UserCategories
ON Members.CategoryID = UserCategories.CategoryID
INNER JOIN GroupMembers
ON Members.MemberID = GroupMembers.MemberID
INNER JOIN Groups
ON GroupMembers.GroupID = Groups.GroupID
WHERE 1=1 '
IF @GroupID > 0
BEGIN
SET @Str = @Str + ' AND Groups.GroupID = ' + CONVERT(VARCHAR, @GroupID)
END
IF LEN(@MemberName) > 0
BEGIN
SET @Str = @Str + ' AND (Members.FirstName LIKE ''' + @MemberName + '%'' OR Members.LastName LIKE ''' + @MemberName + '%'') '
END
IF @CategoryID > 0
BEGIN
SET @Str = @Str + ' AND Members.CategoryID = ' + CONVERT(VARCHAR, @CategoryID)
END
IF LEN(@MemberSince) > 0
BEGIN
SET @Str = @Str + ' AND CONVERT(VARCHAR,Members.CreatedOn,112) >= ' + @MemberSince
END
PRINT(@Str)
EXEC(@Str)
END
IF @Mode = 'VALIDEMAILADDRESS'
BEGIN
IF ((SELECT COUNT(*) FROM Members WHERE EmailID = @EmailID) > 0)
BEGIN
SELECT 0 AS RETURNVAL
END
ELSE
BEGIN
SELECT 1 AS RETURNVAL
END
END
IF @Mode = 'FORGOTPASSWORD'
BEGIN
SELECT MemberID, FirstName, LastName, [Password], EmailID FROM Members
WHERE EmailID = @EmailID
END
IF @Mode = 'CHECKTRIAL'
BEGIN
DECLARE @Paid BIT
SET @Paid = 1
SELECT @Paid = IsPaid FROM Members WHERE EmailID = @EmailID
IF @Paid = 1
BEGIN
SELECT 1 AS RETURNVAL
END
ELSE
BEGIN
DECLARE @Cnt INT
SET @Cnt = 0
SELECT @Cnt = DATEDIFF(DAY, CreatedOn, GETDATE()) FROM Members WHERE EmailID = @EmailID
IF (@Cnt > 30)
BEGIN
SELECT 0 AS RETURNVAL
END
ELSE
BEGIN
SELECT 1 AS RETURNVAL
END
END
END
/*
[SP_Members] @Mode= 'SELECTEDIRECTORY', @Pincode='4350'
*/
IF @Mode = 'SELECTEDIRECTORY'
BEGIN
SET @Str = ' SELECT MemberID, MemberImage, (FirstName + '' '' + LastName) AS MemberName,
DirectNo, MobileNo, EmailID, Website, substring(datename(month,Members.CreatedOn),1,3) + '' ''
+ convert(varchar, datepart(year,Members.CreatedOn)) AS CreatedOn,
dbo.GetMemberGroup(MemberID) AS MemberGroups,
(Country + '', '' + State + '', '' + City) AS Address, UserCategories.Name AS CategoryName
FROM Members INNER JOIN UserCategories ON UserCategories.CategoryID = Members.CategoryID
WHERE 1=1 '
IF LEN(@MemberName) > 0
BEGIN
SET @Str = @Str + ' AND (FirstName LIKE ''' + @MemberName + '%'' OR LastName LIKE ''' + @MemberName + '%'') '
END
IF LEN(@CompanyName) > 0
BEGIN
SET @Str = @Str + ' AND CompanyName like ''' + @CompanyName + '%'''
END
IF @CategoryID > 0
BEGIN
SET @Str = @Str + ' AND CategoryID = ' + CONVERT(VARCHAR,@CategoryID)
END
IF LEN(@Pincode) > 0
BEGIN
SET @Str = @Str + ' AND Pincode = ' + @Pincode
END
EXEC(@Str)
END
IF @Mode = 'UpdatePicture'
BEGIN
Update Members
SET
MemberImage = @MemberImage
WHERE MemberID = @MemberID
SELECT @MemberID AS RETURNVAL
END
IF @Mode = 'EDITPROFILE'
BEGIN
IF NOT EXISTS(SELECT MemberID FROM Members WHERE EmailID = @EmailID AND [MemberID] <> @MemberID)
BEGIN
Update [Members] Set
[FirstName] = @FirstName,[LastName] = @LastName,[Address1] = @Address1,[Address2] = @Address2,
[City] = @City,[Pincode] = @Pincode,[State] = @State,[StateID] = @StateID,[Region] = @Region,
[RegionID] = @RegionID,[Country] = @Country,[CategoryID] = @CategoryID,[Gender] = @Gender,
[EmailID] = @EmailID,[Website] = @Website,[CompanyName] = @CompanyName,
[PhoneNo] = @PhoneNo,[MobileNo] = @MobileNo, CompanyABN = @CompanyABN
Where [MemberID] = @MemberID
Select @MemberID AS RETURNVAL
END
ELSE
BEGIN
Select 0 AS RETURNVAL
END
END
IF @Mode = 'AUTHENTICUSERLOGIN'
BEGIN
IF NOT EXISTS(SELECT MemberID FROM Members WHERE EmailID = @EmailID AND [Password] = @Password)
BEGIN
SELECT 'Invalid UserName Or Password' AS RETURNVAL
END
ELSE
BEGIN
IF NOT EXISTS(SELECT MMID FROM MeetingMaster WHERE GroupID = @GoupID AND IsCompleted = 0)
BEGIN
SELECT 'No Meeting Available' AS RETURNVAL
END
ELSE
BEGIN
--DECLARE @StartDate AS DATETIME
DECLARE @RTNMMID AS INT
declare @RTMemberPic as varchar(100)
--DECLARE @Minute AS INT
--SET @Minute = 0
--SET @RTNMMID = 0
--SELECT @StartDate = StartDateTime, @RTNMMID = MMID FROM MeetingMaster
--WHERE GroupID = @GoupID AND IsCompleted = 0
--SELECT @Minute = DATEDIFF(mi,GETDATE(),@StartDate)
--print(@Minute)
--IF (@Minute >= 1 AND @Minute <= 10)
--BEGIN
-- SELECT @RTNMMID AS RETURNVAL
--END
--ELSE
--BEGIN
-- SELECT 'Still Metting Not Started. Please Wait' AS RETURNVAL
--END
SELECT @RTNMMID = MMID FROM MeetingMaster
WHERE GroupID = @GoupID AND IsCompleted = 0
select @RTMemberPic = MemberImage from Members WHERE EmailID = @EmailID
SELECT @RTNMMID,@RTMemberPic AS RETURNVAL
END
END
END
IF @Mode = 'SELECTBYIDFORFRONT_Webservices'
BEGIN
select FirstName,LastName,EmailID,Address1,Address2,PhoneNo, MemberID
from Members WHERE EmailID = @EmailID
END
IF @Mode = 'UPDATEFROMFRONT_Webservices'
BEGIN
update Members set
FirstName = @FirstName,
LastName = @LastName,
Address1 = @Address1,
Address2 = @Address2,
PhoneNo = @PhoneNo
WHERE EmailID = @EmailID
SELECT 1 AS RETURNVAL
END
END