Пример #1
0
        public async Task <ForgetResponse> ForgetPasswordUpdate(ForgetRequestUpdate forgetRequest)
        {
            var           responseCode  = new ForgetResponse();
            var           connection    = _configuration.GetConnectionString("DBConnection");
            SqlConnection sqlConnection = new SqlConnection(connection);
            DataTable     table         = new DataTable();
            DataTable     dt            = new DataTable();

            try
            {
                string querySelect = ConnectionQueryForget(forgetRequest.Email);
                dt = _databaseAccesReuseable.ReturnTable(querySelect);
                if (dt.Rows.Count > 0)
                {
                    DataColumn[] columns = dt.Columns.Cast <DataColumn>().ToArray();
                    bool         anyFieldContainsSecurity = dt.AsEnumerable()
                                                            .Where(c => c.Field <string>("securityQuestion1").Equals(forgetRequest.securityQuestion1))
                                                            .Where(c => c.Field <string>("securityAnswer1").Equals(forgetRequest.securityAnswer1))
                                                            .Where(c => c.Field <string>("securityQuestion2").Equals(forgetRequest.securityQuestion2))
                                                            .Where(c => c.Field <string>("securityAnswer2").Equals(forgetRequest.securityAnswer2))
                                                            .Where(c => c.Field <string>("securityQuestion3").Equals(forgetRequest.securityQuestion3))
                                                            .Where(c => c.Field <string>("securityAnswer3").Equals(forgetRequest.securityAnswer3))
                                                            .Count() > 0;
                    if (anyFieldContainsSecurity)
                    {
                        string     query      = connectionqueryforgetupdate(forgetRequest);
                        SqlCommand sqlCommand = new SqlCommand(query, sqlConnection);
                        sqlConnection.Open();
                        int count = (int)sqlCommand.ExecuteNonQuery();
                        if (sqlConnection.State == System.Data.ConnectionState.Open)
                        {
                            sqlConnection.Close();
                        }
                        if (count > 0)
                        {
                            responseCode.Message = "Updated Successfully";
                            responseCode.Email   = forgetRequest.Email;
                        }
                    }
                    else
                    {
                        responseCode.Message = "Email Not Exist";
                    }
                }
                else
                {
                    responseCode.Message = "Email Not Exist";
                }
            }
            catch (Exception ex)
            {
                Log.Information("DB Having Error" + ex.Message);
            }
            finally
            {
                sqlConnection.Dispose();
            }
            return(responseCode);
        }
Пример #2
0
        public async Task <List <CompanyResponse> > GetCompanyResponse()
        {
            var       listOfCompanies  = new List <CompanyResponse>();
            string    ConnectionString = _configuration.GetSection("Queries").GetSection("SelectQuestionQuery").Value;
            DataTable dataTable        = _IdatabaseAccesReuseable.ReturnTable(ConnectionString);

            foreach (DataRow data in dataTable.Rows)
            {
                listOfCompanies.Add(new CompanyResponse()
                {
                    CompanyNames = data["CompanyName"].ToString(),
                    Questions    = data["Questions"].ToString()
                });
            }
            return(listOfCompanies);
        }
Пример #3
0
        public UserResponse Authenticate(Users user)
        {
            UserResponse response = new UserResponse();
            string       Token    = "";
            string       query    = "SELECT * FROM REGISTER WHERE Email='" + user.Email + "' and password='******'";
            DataTable    dt       = _databaseAccesReuseable.ReturnTable(query);

            if (dt.Rows.Count > 0)
            {
                var tokenHandler    = new JwtSecurityTokenHandler();
                var key             = Encoding.ASCII.GetBytes(_appSettings.Secret);
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim(ClaimTypes.Name, user.Email.ToString())
                    }),
                    Expires            = DateTime.UtcNow.AddDays(7),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
                };
                var token = tokenHandler.CreateToken(tokenDescriptor);
                response.Token = tokenHandler.WriteToken(token);
                foreach (DataRow dr in dt.Rows)
                {
                    response.FullName = dr["FirstName"].ToString() + " " + dr["MiddleName"].ToString() + " " + dr["LastName"].ToString();
                }
                response.Message = "User having Access";
            }
            else
            {
                response.Token    = "";
                response.FullName = "";
                response.Message  = "Username or password is incorrect";
            }
            return(response);
        }