コード例 #1
0
 public static bool IsAdmin(string username)
 {
     using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString))
     {
         IUserRep userRep = new UserRep(unitOfWork);
         return(userRep.Find(username).Role == "admin" ? true : false);
     }
 }
コード例 #2
0
ファイル: UserApp.cs プロジェクト: zhyzhy782/conan.net
        /// <summary>
        ///
        /// </summary>
        /// <param name="pageNumber"></param>
        /// <param name="rowsPrePage"></param>
        /// <param name="filter"></param>
        /// <returns></returns>
        public async Task <PageResult <UserSunpleDto> > GetPageAsync(int pageNumber, int rowsPrePage, UserOption filter)
        {
            List <UserSunpleDto>       data = new List <UserSunpleDto>();
            PageResult <UserSunpleDto> list = new PageResult <UserSunpleDto>();
            string orderby   = " id desc";
            var    predicate = PredicateBuilder.True <User>();

            predicate = predicate.And(o => o.DeleteMark == null);
            if (!string.IsNullOrWhiteSpace(filter.Account))
            {
                predicate = predicate.And(o => o.Account == filter.Account);
            }
            if (!string.IsNullOrWhiteSpace(filter.RealName))
            {
                predicate = predicate.And(o => o.RealName == filter.RealName);
            }
            var tlist = await UserRep.Find(pageNumber, rowsPrePage, orderby, predicate).ToListAsync() ?? new List <User>();

            data = MapperHelper.MapList <User, UserSunpleDto>(tlist);
            List <long> roleIds = tlist.Select(o => o.RoleId).Distinct().ToList();

            if (roleIds.Count() > 0)
            {
                var roles = await RoleRep.Find(o => roleIds.Contains(o.Id)).ToListAsync();

                foreach (var d in data)
                {
                    var r = roles.FirstOrDefault(o => o.Id == d.RoleId);
                    d.RoleName = r?.Name;
                }
            }
            List <long?> DepartmentIds = tlist.Select(o => o.DepartmentId).Distinct().ToList();

            DepartmentIds.Remove(null);
            if (DepartmentIds.Count() > 0)
            {
                var Departments = await DepartmentRep.Find(o => DepartmentIds.Contains(o.Id)).ToListAsync();

                foreach (var d in data)
                {
                    var r = Departments.FirstOrDefault(o => o.Id == d.DepartmentId);
                    d.deptname = r?.Name;
                }
            }
            list.Data = data.ToList();
            int total = await UserRep.GetCountAsync(predicate);

            list.ItemCount = total;
            return(list);
        }
コード例 #3
0
ファイル: UserApp.cs プロジェクト: zhyzhy782/conan.net
        /// <summary>
        ///  根据账号模糊查询获取列表
        /// </summary>
        /// <param name="q"></param>
        /// <returns></returns>
        public async Task <List <IdAccountDto> > SelectDataAsync(string q)
        {
            if (string.IsNullOrWhiteSpace(q))
            {
                return(new List <IdAccountDto>());
            }

            var result = UserRep.Find(o => o.Account.Contains(q.Trim()));

            if (result == null || result.Count() == 0)
            {
                return(new List <IdAccountDto>());
            }
            return(result.Select(o => new IdAccountDto()
            {
                Id = o.Id, Account = o.Account
            }).ToList());
        }
コード例 #4
0
 public bool ValidateUser(string username, string password = null)
 {
     using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString))
     {
         IUserRep userRep = new UserRep(unitOfWork);
         User     user    = userRep.Find(username, password);
         if (user == null)
         {
             return(false);
         }
         else
         {
             user.LastLoginTime = DateTime.Now;
             unitOfWork.Submit();
             return(true);
         }
     }
 }
コード例 #5
0
        public bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString))
            {
                IUserRep userRep = new UserRep(unitOfWork);
                User     user    = userRep.Find(username, oldPassword);
                if (user != null)
                {
                    user.Password = newPassword;

                    unitOfWork.Submit();
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
コード例 #6
0
        public void CreateUser(string username, string password, string role, string email, out MembershipCreateStatus status)
        {
            status = MembershipCreateStatus.Success;
            using (IUnitOfWork unitOfWork = new TskDataDataContext(DbUtil.ConnectionString))
            {
                IUserRep userRep = new UserRep(unitOfWork);

                if (userRep.Find(username) != null)
                {
                    status = MembershipCreateStatus.DuplicateUserName;
                }
                else
                {
                    userRep.Create(new User()
                    {
                        Name = username, Password = password, Role = role, Email = email
                    });
                }
                unitOfWork.Submit();
            }
        }