您目前尚未登陆,请选择【登陆】或【注册
首页->电子商务->MyShop网络商城源码(mvc开发)>>BLL/User.cs>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:MyShop网络商城源码(mvc开发)
当前文件:文件类型 MyShop/BLL/User.cs打开代码结构图
高亮显示
		            using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Data;


using MyShop.DALFactory;
using MyShop.IDAL;
using MyShop.Model;

namespace MyShop.BLL
{
    public class User
    {
        public ConfigInfo configInfo = new ConfigInfo();
        private IUser dal = DataAccess.CreateUser();

        public User() 
        {
            Config config = new Config();
            configInfo = config.GetModel();        
        }


        #region IUser member

        protected int Add(UserInfo model)
        {
            if (model == null)
                return 0;
            return dal.Add(model);
        }
        public int Delete(string filter)
        {
            if (string.IsNullOrEmpty(filter))
                return 0;
            return dal.Delete(filter);
        }

        public bool Exist(string filter)
        {
            filter = filter.Trim();
            if (string.IsNullOrEmpty(filter))
                return false;
            return dal.Exist(filter);
        }

        public DataSet GetDataSet()
        {
            return dal.GetDataSet();
        }
        public DataSet GetDataSet(string filter)
        {
            filter = filter.Trim();
            if (string.IsNullOrEmpty(filter))
                return null;
            return dal.GetDataSet(filter);
        }

        public UserInfo GetModel(DataRow dr)
        {
            if (dr == null)
                return null;
            return dal.GetModel(dr);
        }

        private DataSet Query(string sql)
        {
            sql = sql.Trim();
            if (string.IsNullOrEmpty(sql))
                return null;
            return dal.Query(sql);
        }


        /// <summary>
        /// 密码必须是已经加密的
        /// </summary>
        /// <param name="model"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public int Update(UserInfo model, string filter)
        {
            if (model == null)
                return 0;
            filter = filter.Trim();
            if (string.IsNullOrEmpty(filter))
                return 0;
            return dal.Update(model, filter);
        }
        //-------------------------
        #endregion 

        #region common

        /// <summary>
        /// 添加会员
        /// </summary>
        /// <param name="model"></param>
        /// <returns>返回值1表示成功,0表示发生错误,-1表示数据为空</returns>
        public int Add(UserInfo model, out string msg)
        {
            msg = "";
            if (1 != configInfo.EnableUserReg)
            {
                msg = "<li> 本站暂时不能注册</li>";
                return -1;
            }
            if (model == null)
            {
                msg = "<li> 数据不用为空</li>";
               
            }
            if (Utils.FoundStringInArr(configInfo.UserName_RegDisabled,model.UserName,'|') )
            {
                msg = msg + "<li> 该用户名被禁止注册</li>";
                return -1;
            }

            bool isErr = false;


            if (this.Exist(" username='" + model.UserName + "'"))
            {
                msg = msg + "<li> 用户名已经被注册</li>";
                isErr = true;
            }
            if (Utils.GetStringLength(model.UserName) < 4)
            {
                msg = msg + "<li> 用户名长度不得小于4(汉字不小于2个)</li>";
                isErr = true;
            }
            if (string.IsNullOrEmpty(model.UserName))
            {
                msg = msg + "<li>用户名不能为空</li>";
                isErr = true;

            }
            if (model.UserName.IndexOf(" ") != -1)
            {
                msg = msg + "<li>用户名中不允许包含空格</li>";
                isErr = true;
            }
            if (model.UserName.IndexOf(" ") != -1)
            {
                msg = msg + "<li>用户名中不允许包含空格</li>";
                isErr = true;
            }
            if (Utils.ChkBadChar(model.UserName))
            {
                msg = msg + "<li>用户名中含有非法字符</li>";
                isErr = true;
            }

            if (model.UserPassword == "")
            {
                msg = msg + "<li>密码不能为空</li>";
                isErr = true;
            }
            if ( model.UserPassword.IndexOf(" ") != -1)
            {
                msg = msg + "<li>用户名中不允许包含空格</li>";
                isErr = true;
            }

            if (string.IsNullOrEmpty(model.UserPassword))
            {
                msg = msg + "<li>用户密码不能为空</li>";
                isErr = true;
            }
            if (Utils.GetStringLength(model.UserPassword) < 6)
            {
                msg = msg + "<li>用户密码长度不得小于6</li>";
                isErr = true;
            }
            if (model.Answer == "")
            {
                msg = msg + "<li>问题答案不能为空</li>";
                isErr = true;
            }
            if (this.Exist(" email='" + model.Email + "'") && ( 0 == configInfo.EnableMultiRegPerEmail))
            {
                msg = msg + "<li> 邮箱已经被其它用户注册使用</li>";
                isErr = true;
            }
            if (!Utils.IsValidEmail(model.Email))
            {
                msg = msg + "<li> 用户电子邮箱格式不对</li>";
                isErr = true;
            }
            if (model.Email == string.Empty)
            {
                msg = msg + "<li>用户电子邮件不能为空</li>";
                isErr = true;
            }

            if (isErr)
                return 0;

            if (configInfo.EmailCheckReg == 0)
                model.GroupId = 1;
            model.UserPassword = Utils.MD5(  model.UserPassword );
            model.Answer = Utils.MD5( model.Answer );
            int count = 0;
            count = Add(model);
            if (count == 0)
                msg = "<li>系统发生错误,请重新注册!</li>";
            if (count == 1)
                msg = "<li>注册成功!欢迎 " + model.UserName + " 的加入</li>";
            return count;
        }

        public int Delete(int userId)
        {
            
            return dal.Delete(userId);
        }


        public int DelteUserByName( string userName )
        {
            if (string.IsNullOrEmpty(userName.ToString()))
                return 0;
            string filer;
            filer = " userName ='" + userName + "'";
            return Delete(filer);
        }

        /// <summary>
        /// 修改会员资料
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int Update(UserInfo model)
        {
            if (string.IsNullOrEmpty(model.UserId.ToString()))
                return 0;
            string filter = "userid = " + model.UserId;
            return Update(model, filter);
        }

        public UserInfo GetModel(int userId)
        {
            if ( userId == -1)
                return null;
            DataSet dataset = new DataSet();
            dataset = GetDataSet(" userId=" + userId);
            if (dataset != null && dataset.Tables[0].Rows.Count > 0)
                return GetModel(dataset.Tables[0].Rows[0]);
            return null;
        }
        
        #endregion

        public UserInfo GetModel(string username)
        {
            username = Utils.ReplaceBadChar(username);
            if (string.IsNullOrEmpty(username))
                return null;
            DataSet dataset = new DataSet();
            dataset = GetDataSet(" username='" + username + "'");
            if (dataset != null && dataset.Tables[0].Rows.Count > 0)
                return GetModel(dataset.Tables[0].Rows[0]);
            return null;
        }

        /// <summary>
        /// 用户名是否已被注册
        /// </summary>
        /// <param name="userName"></param>
        /// <returns></returns>
        public bool ExistUserName(string userName)
        {
            if(string.IsNullOrEmpty(userName))
                return true;
            return Exist(" username ='" + Utils.ReplaceBadSQL(userName.Trim()) + "'");
        }

        /// <summary>
        /// 用户是否存在
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password">未加密的明码</param>
        /// <returns></returns>
        public bool Exist(string userName, string password)
        {
            if (Exist("username = '" + userName + "' and userpassword = '" + Utils.MD5(password) + "'"))
            {
                return true;
            }
            else
                return false;
        }

        /// <summary>
        /// 用户是否存在
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password">用户密码</param>
        /// <param name="MD5">用户密码是否已MD5加密</param>
        /// <returns></returns>
        public bool Exist(string userName, string password,bool MD5)
        {
            if (MD5)
            {
                if (Exist("username = '" + userName + "' and userpassword = '" + password + "'"))
                {
                    return true;
                }
                else
                    return false;
            
            }
            else
            {
                if (Exist("username = '" + userName + "' and userpassword = '" + Utils.MD5(password) + "'"))
                {
                    return true;
                }
                else
                    return false;
            }
        }

        /// <summary>
        /// 修改用户密码
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="OldPwd">旧密码</param>
        /// <param name="NewPwd">新密码</param>
        /// <returns></returns>
        public bool ChangePassword(string username, string OldPwd, string NewPwd,out string msg)
        {
            msg = "";
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(OldPwd) || string.IsNullOrEmpty(NewPwd))
                return false;
            string filter;
            bool isErr = false;
            filter = @" username ='" + username + "' and userpassword='" + Utils.MD5( OldPwd )+ "' ";
            if (!Exist(filter))
            {
                msg = msg + "<li>旧密码输入不正确</li>";
                isErr = true;
            }

            if ( Utils.GetStringLength( NewPwd.Trim()) < 6)
            {
                msg = msg + "<li>密码长度须不小于6</li>";
                isErr = true;
            }
            if (!NewPwd.Trim().Equals(OldPwd.Trim()))
            {
                msg = msg + "<li>两次密码输入不一致</li>";
                isErr = true;
            }
            if (isErr)
                return false;

            UserInfo model = new UserInfo();
            model = this.GetModel(username);
            model.UserPassword = Utils.MD5(NewPwd.Trim());
            if (Update(model, "username = '" + model.UserName + "'") != -1)
                msg = msg + "<li> 修改成功,新密码为{" + NewPwd.Trim() + "}</li>";
            else
                msg = msg + "<li> 系统发生错误,请重新更改</li>";
            return true;
       }

        /// <summary>
        /// 更新个人信息,answer必须是已加密
        /// </summary>
        /// <param name="model"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public bool Update( out  string msg,UserInfo model)
        {
            msg = "";
            bool isErr = false;

            MyShop.BLL.User user = new User();
            Regex emailRegex = new Regex(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*");
            if (!emailRegex.Match(model.Email).Success)
            {
                msg = msg + "<li>Email格式不正确!</li>";
                isErr = true;
            }
            if ((0 == configInfo.EnableMultiRegPerEmail ) && user.Exist(" email='" + model.Email + "' and userId <> " + model.UserId ))
            {
                msg = msg + "<li>您的Email在本站已被人注册,请换一个!</li>";
                isErr = true;
            }
            if( string.IsNullOrEmpty(model.Question))
            {
                msg = msg + "<li>密码保护问题不能为空!</li>";
                isErr = true;
            }
            if (string.IsNullOrEmpty(model.Answer))
            {
                msg = msg + "<li>密码保护问题答案不能为空!</li>";
                isErr = true;
            }

            if (isErr)
            {
                return false;
            }

            if (Update(model) > 0)
            {
                msg = "<li>修改成功!</li>";
                return true;
            }
           return false;
        }

        public DataSet GetUserList()
        {
            return dal.GetUserList();
        }


        #region SearchUser

        /// <summary>
        /// 快速搜索
        /// </summary>
        /// <param name="searchType"></param>
        /// <returns></returns>
        public DataSet QuickSearch(int searchType)
        {
            string filter ="";
            int flag = 0;
            switch (searchType)
            {
                case 1:
                    filter = " datediff(hh,LastLoginTime,getdate()) <= 24  " ;
                    break;
                case 2:
                    filter = " datediff(hh,regTime,getdate()) <= 24" ;
                    break;
                case 3:
                    filter = " Islocked=1 " ;
                    break;
                case 4:
                    filter = "  userExp > 0 "  ;
                    break;
                case 5:
                    filter = "  balance > 0 " ;
                    break;
                case 6:
                    filter =  "  datediff(d,LastLoginTime,getdate()) > 30 ";
                    break;
                case 7:
                    filter =  " datediff(d,LastLoginTime,getdate()) > 90 ";
                    break;
                case 8:
                    filter =  " datediff(d,LastLoginTime,getdate()) > 180 ";
                    break;
                default:
                    flag = 1;
                   break;
            }

            string sql = " select My_users.*,My_userGroup.groupId,My_userGroup.groupName from  My_users inner join My_userGroup  on  My_users.groupId = My_userGroup.groupId and " + filter;

            if (flag == 1)
                sql = " select My_users.*,My_userGroup.groupId,My_userGroup.groupName  from  My_users inner join  My_userGroup on  My_users.groupId = My_userGroup.groupId  ";
            return Query(sql);
        }

        public DataSet KeywordsSearch(string field, string keywords)
        {
            string filter = "";
            string sql;
            filter = " " +Utils.ReplaceBadSQL( field ) + "  like '%"  + Utils.ReplaceBadSQL( keywords )+ "%'";
            if (field.ToLower() == "userid")
                filter = " " + field + "=" + keywords;
            sql = " select My_users.*,My_userGroup.groupId,My_userGroup.groupName  from  My_users inner join  My_userGroup on  My_users.groupId = My_userGroup.groupId  and " + filter;
            return Query(sql);
        }

        #endregion

    
    }
}


        
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:MyShop网络商城源码(mvc开发)
51Aspx.com 版权所有 CopyRight © 2000-2008. 京ICP备06046876号