⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userservice.cs

📁 smark.data是基于C#开发的轻量级数据访问组件。 提供以下功能封: 1)提供了跨数据库类型操作能力 2)基于程线存储的数据访问上下文对象
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using Smark.Data;
namespace Smark.Users
{
    public enum Result
    {
        处理成功=0,
        注册_用户名已经存在=100,
        注册_用户名不能为空=101,
        注册_邮件地址不能为空=102,
        注册_密码不能为空=103,
        注册_邮件地址已经被其他用户使用=104,
        修改密码_用户名或密码不正确=200,
        修改密码_旧密码不能为空=201,
        修改密码_新密码不能为空=202,
        修改密码_用户不存在=203,
        修改邮件地址_密码不能为空=300,
        修改邮件地址_用户不存或密码不正确=301,
        修改邮件地址_邮件地址不能为空=302,
        修改邮件地址_用户名不能为空=303
        

    }
    /// <summary>
    /// 用户处理服务
    /// </summary>
    public class UserService
    {
        /// <summary>
        /// 注册新用户
        /// </summary>
        /// <param name="user">用户信息</param>
        /// <returns>Result</returns>
        public Result Register(User user)
        {
            ((IEntityState)user)._Loaded = false;
            if (string.IsNullOrEmpty(user.UserName))
                return Result.注册_用户名不能为空;
            if (string.IsNullOrEmpty(user.UserPWD))
                return Result.注册_密码不能为空;
            if (string.IsNullOrEmpty(user.EMail))
                return Result.注册_邮件地址不能为空;
            Expression exp = User.userName == user.UserName;
            if (User.Count(exp) > 0)
                return Result.注册_用户名已经存在;

            exp = User.eMail == user.EMail;
            if (User.Count(exp) > 0)
                return Result.注册_邮件地址已经被其他用户使用;
            user.CreateDate = DateTime.Parse(DateTime.Now.ToShortDateString());
            user.Enabled = true;
            user.Save();
            return Result.处理成功;
        }
        /// <summary>
        /// 处理用户是否有效
        /// </summary>
        /// <param name="enabled">状态</param>
        /// <param name="username">用户名</param>
        public void Enabled(bool enabled, params string[] username)
        {
            using (IConnectinContext CC = DBContext.Context)
            {

                Expression exp = User.userName == username;
                Update update = new Update(User.Table);
                update.AddField(User.enabled.Name, enabled);
                update.Where = exp;
                update.Execute(CC);
            }
        }
        /// <summary>
        /// 更改用户类型
        /// </summary>
        /// <param name="type">用户类型</param>
        /// <param name="username">用户名</param>
        public void ChangeType(int type, params string[] username)
        {
            using (IConnectinContext CC = DBContext.Context)
            {

                Expression exp = User.userName == username;
                Update update = new Update(User.Table);
                update.AddField(User.userType.Name, type);
                update.Where = exp;
                update.Execute(CC);
            }
        }
        /// <summary>
        /// 修改用户密码
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="oldpwd">旧密码</param>
        /// <param name="newpwd">新密码</param>
        /// <returns>Result</returns>
        public Result ChangPwd(string username, string oldpwd, string newpwd)
        {
            if (string.IsNullOrEmpty(oldpwd))
                return Result.修改密码_旧密码不能为空;
            if (string.IsNullOrEmpty(newpwd))
                return Result.修改密码_新密码不能为空;
            Expression exp = User.userName == username & User.userPWD == oldpwd;
            User u = User.ListFirst(exp);
            if (u == null)
                return Result.修改密码_用户名或密码不正确;
            u.UserPWD = newpwd;
            u.Save();
            return Result.处理成功;

        }
        /// <summary>
        /// 修改用户密码
        /// </summary>
        /// <param name="username">用户密码</param>
        /// <param name="newpwd">密码</param>
        /// <returns>Result</returns>
        public Result ChangePwd(string username, string newpwd)
        {
            if (string.IsNullOrEmpty(newpwd))
                return Result.修改密码_新密码不能为空;
            Expression exp = User.userName == username;
            User u = User.ListFirst(exp);
            if (u == null)
                return Result.修改密码_用户不存在;
            u.UserPWD = newpwd;
            u.Save();
            return Result.处理成功;
        }

        /// <summary>
        /// 修改邮件地址
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="pwd">密码</param>
        /// <param name="newemail">新邮件地址</param>
        /// <returns>Result</returns>
        public Result ChangeEMail(string username, string pwd, string newemail)
        {
            if (string.IsNullOrEmpty(username))
                return Result.修改邮件地址_用户名不能为空;
            if (string.IsNullOrEmpty(newemail))
                return Result.修改邮件地址_邮件地址不能为空;
            Expression exp = User.userName == username & User.userPWD == pwd;
            User u = User.ListFirst(exp);
            if (u == null)
                return Result.修改邮件地址_用户不存或密码不正确;
            u.EMail = newemail;
            u.Save();
            return Result.处理成功;
        }

        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <param name="username">用户名</param>
        /// <returns>User</returns>
        public User Load(string username)
        {
            return User.Load(username);
        }

        /// <summary>
        /// 用户查询
        /// </summary>
        /// <param name="matchusername">匹配用户名</param>
        /// <param name="matchemail">匹配邮件地址</param>
        /// <param name="region">加载数据区域</param>
        /// <param name="orderby">排序</param>
        /// <param name="records">返回的记录数</param>
        /// <returns>IList`User</returns>
        public IList<User> List(string matchusername, string matchemail, Region region, string orderby, out int records)
        {
            Expression exp = null;
            if (!string.IsNullOrEmpty(matchusername))
                exp &= User.userName.Match(matchusername);
            if (!string.IsNullOrEmpty(matchemail))
                exp &= User.eMail.Match(matchemail);
            records = User.Count(exp);
            return User.List(exp, region, orderby);

        }

        public User Login(string username, string pwd)
        {
            return User.ListFirst(User.userName == username & User.userPWD == pwd);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -