示例#1
0
        public DashboardUserModel Map(User from, DashboardUserModel to)
        {
            to.Id              = from.Id;
            to.Name            = from.Name;
            to.ProfileImageUrl = from.ProfileImageUrl;
            to.ScreenName      = from.ScreenName;

            return(to);
        }
        public List <DashboardUserModel> GetUserByRoles(List <RolesEnum> roles)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("SELECT U.UserID , U.FirstName, U.LastName, U.RoleID, R.RoleName ");
            strSql.Append("FROM dbo.Users AS U ");
            strSql.Append("LEFT JOIN dbo.Roles AS R ON U.RoleID = R.RoleID ");
            strSql.Append("WHERE ");
            strSql.Append("U.Status='ACTIVE' ");
            if (roles.Count > 0)
            {
                string strRoles = "";
                foreach (RolesEnum role in roles)
                {
                    strRoles += (int)role + ",";
                }
                strRoles = strRoles.Remove(strRoles.Length - 1);
                strSql.Append("AND U.RoleID IN( " + strRoles + ") ");
            }
            Database db = DatabaseFactory.CreateDatabase();
            List <DashboardUserModel> userModels = new List <DashboardUserModel>();

            using (DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()))
            {
                try
                {
                    using (IDataReader sdr = db.ExecuteReader(dbCommand))
                    {
                        while (sdr.Read())
                        {
                            DashboardUserModel model = new DashboardUserModel
                            {
                                RoleID    = int.Parse(sdr["RoleID"].ToString()),
                                RoleName  = sdr["RoleName"].ToString(),
                                UserID    = int.Parse(sdr["UserID"].ToString()),
                                FirstName = sdr["FirstName"].ToString(),
                                LastName  = sdr["LastName"].ToString(),
                                IsHide    = false
                            };
                            userModels.Add(model);
                        }
                    }
                }
                catch (Exception ex)
                {
                    WebLogAgent.Write(string.Format("[SQLText:{0},{1}Messages:\r\n{2}]",
                                                    strSql,
                                                    base.FormatParameters(dbCommand.Parameters),
                                                    ex.Message));
                }
            }
            return(userModels);
        }