Good Day All
I have the following SP
CREATE PROCEDURE [dbo].[spx_Add_Update_USERS]
(
@USER_HANDLE nvarchar(max),
@TELEPHONE varchar(max),
@LANGUAGES nvarchar(max) = NULL,
@COUNTRY_CODE nvarchar(max) = NULL,
@AGE INT = NULL,
@GENDER nvarchar(max) = NULL,
@COUNTRY nvarchar(max),
@STATE_PROVICE nvarchar(max) = NULL,
@MY_RACE nvarchar(max) = NULL,
@HIS_RACE nvarchar(max) = NULL,
@LU_LOOKING_FOR nvarchar(max) = NULL,
@BIO nvarchar(max) = NULL,
@CITY_SURBURBS nvarchar(max) = NULL ,
@LU_RELATIONSHIP_LOOKING_FOR nvarchar(max) = NULL ,
@TOKEN UniqueIdentifier
)
AS
declare @USER_ID INT
DECLARE @USER_ID_TOK INT =(SELECT TOP 1 [USER_ID] FROM [dbo].[USERS] WHERE TOKEN= @TOKEN )
DECLARE @USER_ID_TEL INT =(SELECT TOP 1 [USER_ID] FROM [dbo].[USERS] WHERE [TELEPHONE] = @TELEPHONE)
IF(@USER_ID_TOK IS NULL AND @USER_ID_TEL IS NOT NULL )
BEGIN
SET @USER_ID = @USER_ID_TEL
END
ELSE
BEGIN
SET @USER_ID = @USER_ID_TOK
END
DECLARE @LU_COUNTRIES_ID INT =( SELECT top 1 [Id] FROM [dbo].[Countries] WHERE [Name] =@COUNTRY )
DECLARE @LU_LANGUAGES_ID INT = ( SELECT top 1 [LU_LANGUAGES_ID] FROM [dbo].[LU_LANGUAGES] WHERE [DESCRIPTION] =@LANGUAGES )
DECLARE @STATE_PROVICE_ID INT = ( SELECT top 1 Id FROM [dbo].[Regions] WHERE [Name] = @STATE_PROVICE )
--DECLARE @LU_LOOKING_FOR_ID INT = ( SELECT LU_LOOKING_FOR_ID FROM [dbo].[LU_LOOKING_FOR] WHERE [DESCRIPTION] =@LU_LOOKING_FOR )
--DECLARE @LU_RACE_ID INT = ( SELECT LU_RACE_ID FROM [dbo].[LU_RACE] WHERE [DESCRIPTION] =@RACE )
DECLARE @CITY_SURBURB_ID INT = ( SELECT top 1 Id FROM [dbo].[Cities] WHERE [Name] =@CITY_SURBURBS )
IF ( ( SELECT COUNT(*) FROM [dbo].[USERS] WHERE
USER_ID = @USER_ID ) > 0 )
BEGIN UPDATE [dbo].[USERS]
SET [USER_HANDLE] =@USER_HANDLE ,[TELEPHONE] =@TELEPHONE
, [LU_LANGUAGES_ID] =@LU_LANGUAGES_ID,
[COUNTRY_CODE]= @COUNTRY_CODE,[GENDER] =@GENDER,
[LU_COUNTRIES_ID] =@LU_COUNTRIES_ID,[STATE_PROVICE_ID] =@STATE_PROVICE_ID,[LU_TOWNSHIP_ID] = @CITY_SURBURB_ID
,MY_RACE =@MY_RACE,HIS_RACE=@HIS_RACE,
LU_RELATIONSHIP_LOOKING_FOR = @LU_RELATIONSHIP_LOOKING_FOR
,IS_VERIFIED = 1 , AGE = @AGE ,
DATE_GENDER = @LU_LOOKING_FOR , TOKEN = @TOKEN
WHERE [USER_ID] = @USER_ID
END
ELSE
BEGIN
INSERT INTO [dbo].[USERS]([USER_HANDLE] , [LU_USER_STATUS_ID] ,
[TELEPHONE] ,
[LU_LANGUAGES_ID] , [COUNTRY_CODE] ,
AGE , [GENDER] , [LU_COUNTRIES_ID] , [STATE_PROVICE_ID] ,[LU_TOWNSHIP_ID] ,
MY_RACE,HIS_RACE , LU_RELATIONSHIP_LOOKING_FOR ,IS_VERIFIED , DATE_GENDER,TOKEN)
VALUES(@USER_HANDLE , 1 --ACTIVE
, @TELEPHONE , @LU_LANGUAGES_ID ,
@COUNTRY_CODE , @AGE , @GENDER , @LU_COUNTRIES_ID ,
@STATE_PROVICE_ID,@CITY_SURBURB_ID , @MY_RACE,@HIS_RACE , @LU_RELATIONSHIP_LOOKING_FOR ,1 , @LU_LOOKING_FOR,@TOKEN)
END
and i use it like this
public async Task<USERS_Model> Verify_code(USERS_Model model)
{
con = new SqlConnection(strCon);
cmd = new SqlCommand();
cmd.CommandText = "[dbo].[spx_Verify_code]";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = con;
cmd.CommandTimeout = 0;
cmd.Parameters.Add("@PHONE_NUMBER", SqlDbType.NVarChar).Value = GenericMethods.RemoveSpacesIn_String(model.TELEPHONE);
cmd.Parameters.Add("@VERIFICATION_CODE", SqlDbType.NVarChar).Value = GenericMethods.RemoveSpacesIn_String(model.VERIFICATION_CODE);
if (model.COUNTRY != null)
cmd.Parameters.Add("@COUNTRY", SqlDbType.NVarChar).Value = model.COUNTRY;
if (model.USER_HANDLE != null)
cmd.Parameters.Add("@USER_HANDLE", SqlDbType.NVarChar).Value = model.USER_HANDLE;
if (model.COUNTRY_CODE != null)
cmd.Parameters.Add("@COUNTRY_CODE", SqlDbType.NVarChar).Value = model.COUNTRY_CODE.Replace('+', ' ').Replace('+', ' ');
if (model.AGE != 0)
cmd.Parameters.Add("@AGE", SqlDbType.Int).Value = model.AGE;
if (model.GENDER != null)
cmd.Parameters.Add("@GENDER", SqlDbType.NVarChar).Value = model.GENDER;
if (model.STATE_PROVICE != null)
cmd.Parameters.Add("@STATE_PROVICE", SqlDbType.NVarChar).Value = model.STATE_PROVINCE;
if (model.HIS_RACE != null)
cmd.Parameters.Add("@HIS_RACE", SqlDbType.NVarChar).Value = model.HIS_RACE;
if (model.MY_RACE != null)
cmd.Parameters.Add("@MY_RACE", SqlDbType.NVarChar).Value = model.MY_RACE;
if (model.LOOKING_FOR != null)
cmd.Parameters.Add("@LOOKING_FOR", SqlDbType.NVarChar).Value = model.LOOKING_FOR;
if (model.CITY != null)
cmd.Parameters.Add("@CITY_SURBURBS", SqlDbType.NVarChar).Value = model.CITY;
if (model.RELATIONSHIP_LOOKING_FOR != null)
cmd.Parameters.Add("@LU_RELATIONSHIP_LOOKING_FOR", SqlDbType.NVarChar).Value = model.RELATIONSHIP_LOOKING_FOR;
if (model.TOKEN != null)
cmd.Parameters.Add("@TOKEN", SqlDbType.UniqueIdentifier).Value = model.TOKEN;
da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataTable dt = new DataTable();
string message = string.Empty;
USERS_Model m = new USERS_Model();
try
{
con.Open();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
if (dt.Rows[0]["USER_ID"] != DBNull.Value)
m.USER_ID = Convert.ToInt32(dt.Rows[0]["USER_ID"]);
if (dt.Rows[0]["TOKEN"] != DBNull.Value)
m.TOKEN = Guid.Parse(dt.Rows[0]["TOKEN"].ToString());
}
}
catch (SqlException ex)
{
throw ex;
}
finally
{
con.Close();
}
return m;
}
for some reason im getting this error
Datalayer.Verify_code (Datalayer.USERS_Model model)
System.InvalidOperationException: Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.
Thanks