public static List<string> GetRoles(SystemAccount anAccount) { List<string> roles = new List<string>(); using (SqlConnection conn = Utilities.GetConnection()) { SqlCommand comm = new SqlCommand(@"select Name from ApplicationRole, UserRole where UserRole.UserName = @accountName and UserRole.RoleId=ApplicationRole.Id", conn); comm.Parameters.Add("@accountName", SqlDbType.VarChar, 255); comm.Parameters["@accountName"].Value = anAccount.UserId; try { conn.Open(); SqlDataReader reader = comm.ExecuteReader(); while (reader.Read()) { roles.Add(reader["Name"].ToString()); } return roles; } catch (SqlException sqlException) { throw new HCSMSException(sqlException.Message); } finally { if (conn != null) { conn.Close(); } } } }
public Session(SystemAccount anAccount) { account = anAccount; id = Guid.NewGuid(); }
public static SystemAccount Login(Account anAccount) { List<string> roles = new List<string>(); using (SqlConnection conn = Utilities.GetConnection()) { SqlCommand comm = new SqlCommand(@"select UserName, Status from ApplicationUser where AccountName = @accountName and Password=@pwd", conn); comm.Parameters.Add("@accountName", SqlDbType.VarChar, 255); comm.Parameters.Add("@pwd", SqlDbType.VarChar, 255); comm.Parameters["@accountName"].Value = anAccount.Name; comm.Parameters["@pwd"].Value = anAccount.Password; try { conn.Open(); SqlDataReader reader = comm.ExecuteReader(); if (reader.Read()) { SystemAccount account = new SystemAccount(); account.Status =(AccountStatus)Enum.Parse(typeof(AccountStatus),reader["Status"].ToString()); account.UserId = anAccount.Name; account.UserName = reader["UserName"].ToString(); account.UserRole = GetRoles(account); return account; } else return null; } catch (SqlException sqlException) { throw new HCSMSException(sqlException.Message); } finally { if (conn != null) { conn.Close(); } } } }