コード例 #1
0
        public async Task <bool> Signup(SignUpAC signupAC)
        {
            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
            {
                try
                {
                    connection.Open();
                    var id            = Guid.NewGuid();
                    var password      = PasswordHashUtill.HashPassword(signupAC.Password);
                    var securityStamp = Guid.NewGuid();

                    var insertQuery = "INSERT INTO AspNetUsers values ('" + id + "','" + signupAC.Email + "',0,'" + password + "','" + securityStamp + "',null,0,0,null,1,0,'" + signupAC.Email + "');";
                    await connection.ExecuteScalarAsync(insertQuery);

                    var newUserQuery = "select MAX(Id) from AspNetUsers";
                    var newUserId    = await connection.ExecuteScalarAsync <string>(newUserQuery);

                    var userRoleQuery = "Insert into AspNetUserRoles values('" + newUserId + "',1)";
                    await connection.ExecuteScalarAsync(userRoleQuery);

                    return(true);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// This method is use for login user
        /// </summary>
        /// <param name="loginDTO">Login DTOs pass</param>
        /// <returns></returns>
        public async Task <BaseResponse> ValidateUserAsync(LoginDTO loginDTO)
        {
            try
            {
                string       ConnectionString = _config[_iStringConstants.MyConnectionString];
                BaseResponse baseResponse     = new BaseResponse();
                UserTokenDTO userTokenAC      = new UserTokenDTO();
                using (DeepakdbContext deepakDBContext = new DeepakdbContext())
                {
                    /*var parameterOut=new SqlParameter
                     * {
                     *  ParameterName=
                     * }*/
                    var data = await deepakDBContext.UserDetail.FromSqlRaw("spGetUserDetailByEmail @Email=@p0", parameters : new[] { loginDTO.Email }).ToListAsync();

                    if (data != null)
                    {
                        data.ForEach(x => new UserTokenDTO()
                        {
                            Id           = x.Id,
                            FirstName    = x.FirstName,
                            LastName     = x.LastName,
                            ZipCode      = x.ZipCode,
                            Email        = x.Email,
                            MobileNumber = x.MobileNumber,
                            Password     = x.Password
                        });
                        if (PasswordHashUtill.VerifyHashedPassword(userTokenAC.Password, loginDTO.Password))
                        {
                            baseResponse.StatusCode = (int)EnumList.ResponseType.Success;
                            baseResponse.Data       = userTokenAC;
                        }
                        else
                        {
                            baseResponse.Message    = _iStringConstants.InvalidPassword;
                            baseResponse.StatusCode = (int)EnumList.ResponseType.Error;
                            baseResponse.Data       = null;
                        }
                    }
                    else
                    {
                        baseResponse.Message    = _iStringConstants.LoginCredentailWrong;
                        baseResponse.StatusCode = (int)EnumList.ResponseType.Error;
                        baseResponse.Data       = null;
                    }

                    return(baseResponse);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        public async Task <BaseResponseModel> ValidateUserAsync(LoginAC loginAC)
        {
            BaseResponseModel baseResponseModel = new BaseResponseModel();
            UserTokenAC       userTokenAC       = new UserTokenAC();

            using (IDbConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
            {
                try
                {
                    var existingUserQuery = "select * from AspNetUsers where Email='" + loginAC.Email + "'";
                    var userData          = connection.Query(existingUserQuery).FirstOrDefault();
                    if (userData != null)
                    {
                        if (PasswordHashUtill.VerifyHashedPassword(userData.PasswordHash, loginAC.Password))
                        {
                            userTokenAC.Id       = userData.Id;
                            userTokenAC.FullName = userData.UserName;
                            userTokenAC.Email    = userData.Email;

                            baseResponseModel.StatusCode = (int)EnumList.ResponseType.Success;
                            baseResponseModel.Data       = userTokenAC;
                        }
                        else
                        {
                            baseResponseModel.Message    = StringConstant.InvalidPassword;
                            baseResponseModel.StatusCode = (int)EnumList.ResponseType.Error;
                            baseResponseModel.Data       = null;
                        }
                    }
                    else
                    {
                        baseResponseModel.Message    = StringConstant.LoginCredentailWrong;
                        baseResponseModel.StatusCode = (int)EnumList.ResponseType.Error;
                        baseResponseModel.Data       = null;
                    }
                    return(baseResponseModel);
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// This method is use for new user signup
        /// </summary>
        /// <param name="userDetailDTO"></param>
        /// <returns></returns>
        public async Task <BaseResponse> SignUpAsync(UserDetailDTO userDetailDTO)
        {
            try
            {
                //string ConnectionString = _config[_iStringConstants.MyConnectionString];
                BaseResponse baseResponse = new BaseResponse();
                UserTokenDTO userTokenAC  = new UserTokenDTO();
                using (DeepakdbContext deepakDBContext = new DeepakdbContext())
                {
                    //deepakDBContext.Query<T>().AsTracking().
                    var data = await Task.Run(() => deepakDBContext
                                              .Database.ExecuteSqlRaw("spInsertUserDetail @FirstName=@p0, @LastName=@p1,@Email=@p2,@Password=@p3,@MobileNumber=@p4,@Address_Line1=@p5,@Address_Line2=@p6, @ZipCode=@p7, @CreatedBy=@p8",
                                                                      parameters: new [] { userDetailDTO.FirstName, userDetailDTO.LastName, userDetailDTO.Email,
                                                                                           PasswordHashUtill.HashPassword(userDetailDTO.Password), userDetailDTO.MobileNumber,
                                                                                           userDetailDTO.AddressLine1, userDetailDTO.AddressLine2, userDetailDTO.ZipCode.ToString(),
                                                                                           userDetailDTO.CreatedBy }



                                                                      /*new SqlParameter("@FirstName", userDetailDTO.FirstName),
                                                                       * new SqlParameter("@LastName", userDetailDTO.FirstName),
                                                                       * new SqlParameter("@Email", userDetailDTO.Email),
                                                                       * new SqlParameter("@Password",PasswordHashUtill.HashPassword( userDetailDTO.Password)),
                                                                       * new SqlParameter("@MobileNumber", userDetailDTO.MobileNumber),
                                                                       * new SqlParameter("@Address_Line1", userDetailDTO.AddressLine1),
                                                                       * new SqlParameter("@Address_Line2", userDetailDTO.AddressLine2),
                                                                       * new SqlParameter("@ZipCode", userDetailDTO.ZipCode),
                                                                       * new SqlParameter("@CreatedBy", userDetailDTO.CreatedBy)*/
                                                                      ));

                    if (data != null)
                    {
                        baseResponse.StatusCode = 1;
                        baseResponse.Message    = _iStringConstants.AddedSuccessfully;
                        // Need to ask how to get DBCONTEXT status code from store procedure
                    }
                    if (baseResponse.StatusCode == 1)
                    {
                        return(StatusBuilder.ResponseSuccessStatus(null, baseResponse.Message));
                    }

                    return(StatusBuilder.ResponseFailStatus(null, baseResponse.Message));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }