public IDictionary <string, Role> GetRoles() { IDictionary <string, Role> roles = new Dictionary <string, Role>(); string cmdText = @"select * from AspNetRoles"; this.ReadData(dataReader => { string key = dataReader["Id"].ToString(); string name = dataReader["Name"].ToString(); if (Enum.TryParse(name, out RoleType result)) { switch (result) { case RoleType.Administrator: roles.Add(key, Administrator.GetInstance()); break; case RoleType.Customer: roles.Add(key, WebApplication.Models.Role.Customer.GetInstance()); break; case RoleType.DirectStore: roles.Add(key, DirectStore.GetInstance()); break; case RoleType.Guidance: roles.Add(key, Guidance.GetInstance()); break; case RoleType.Supervise: roles.Add(key, Supervise.GetInstance()); break; case RoleType.VIP: roles.Add(key, VIP.GetInstance()); break; case RoleType.VVIP: roles.Add(key, VVIP.GetInstance()); break; } } }, cmdText); return(roles); }