博客增删查改查BLL

187 阅读1分钟

using Blogsystem.Dto; using Blogsystem.IBLL; using BlogSystem.Models; using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks;

namespace BlogSystem.BLL { public class UserManger : IUserManger { public async Task ChangePassword(string email, string oldPwd, string newPwd) { using (IDAL.IUserService userSvc = new DAL.UserService()) { if (await userSvc.GetAllAsync().AnyAsync(m => m.Email == email && m.Password == oldPwd)) { var user = await userSvc.GetAllAsync().FirstAsync(m => m.Email == email); user.Password = newPwd; await userSvc.EditAsync(user); }

        }
    }

    public async Task ChangeUserInformation(string email, string siteName, string imagePath)
    {
        using (IDAL.IUserService userSvc = new DAL.UserService())
        {
            var user = await userSvc.GetAllAsync().FirstAsync(m => m.Email == email);
            user.SiteName = siteName;
            user.Password = imagePath;
            await userSvc.EditAsync(user);
        }
    }

    public async Task<UserInformationDto> GetUserByEmail(string email)
    {
        using (IDAL.IUserService userSvc = new DAL.UserService())
        {
            if (await userSvc.GetAllAsync().AnyAsync(m => m.Email == email))
            {
                return await userSvc.GetAllAsync().Where(m => m.Email == email).Select(m => new UserInformationDto()
                {
                    Id = m.Id,
                    Email = m.Email,
                    FansCount = m.FansCount,
                    ImagePath = m.ImagePath,
                    SiteName = m.SiteName,
                    FocusCount = m.FocusCount
                }).FirstAsync();
            }
            else
            {
                throw new ArgumentException("邮箱地址不存在");
            }

        }
    }
    /// <summary>
    /// 登录
    /// </summary>
    /// <param name="email"></param>
    /// <param name="password"></param>
    /// <param name="userid"></param>
    /// <returns></returns>
    public bool Login(string email, string password, out Guid userid)
    {
        using (IDAL.IUserService userSvc = new DAL.UserService())
        {
            var user = userSvc.GetAllAsync().FirstOrDefaultAsync(m => m.Email == email && m.Password == password);
            user.Wait();
            var data = user.Result;
            if (data == null)
            {
                userid = new Guid();
                return false;
            }
            else
            {
                userid = data.Id;
                return false;
            }
        }
    }
    /// <summary>
    /// 注册
    /// </summary>
    /// <param name="email"></param>
    /// <param name="password"></param>
    /// <returns></returns>
    public async Task Register(string email, string password)
    {
        using (IDAL.IUserService userSvc = new DAL.UserService())
        {
            await userSvc.CreateAsync(new User()
            {
                Email = email,
                Password = password,
                SiteName = "默认的小站",
                ImagePath = "default.png"
            });
        }
    }
}

}