예제 #1
0
        public JsonResult List(SysUserViewModel viewModel, PageInfo pageInfo)
        {
            QueryCollection queries = new QueryCollection();

            if (!string.IsNullOrEmpty(viewModel.UserName))
            {
                queries.Add(new Query {
                    Name = "UserName", Operator = Query.Operators.Contains, Value = viewModel.UserName
                });
            }
            if (!string.IsNullOrEmpty(viewModel.NickName))
            {
                queries.Add(new Query {
                    Name = "NickName", Operator = Query.Operators.Contains, Value = viewModel.NickName
                });
            }
            var list = SysUserService.GetListByPage(queries.AsExpression <SysUser>(), x => true, pageInfo.Limit, pageInfo.Page, out int totalCount, true).Select(x => new
            {
                x.Id,
                x.UserName,
                x.NickName,
                x.HeadIcon,
                x.MobilePhone,
                x.Email,
                x.EnabledMark
            }).ToList();

            return(Json(Pager.Paging(list, totalCount), JsonRequestBehavior.AllowGet));
        }
        public async Task <ActionResult> Remove(SysUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                SysUser currentUser = UserManager.FindById(model.Id);
                if (currentUser == null)
                {
                    ModelState.AddModelError("", "用户不存在。");
                }
                if (currentUser != null && currentUser.Id < 1)
                //if (model.UserName == "admin")
                {
                    ModelState.AddModelError("", "系统内置用户不能删除。");
                    //"admin用户不允许删除");
                }
                else
                {
                    var result = await UserManager.DeleteAsync(currentUser);

                    if (!result.Succeeded)
                    {
                        foreach (string error in result.Errors)
                        {
                            ModelState.AddModelError("", error);
                        }
                    }
                }
            }
            var allErrors = this.GetModelStateErrors(ModelState);

            return(Json(allErrors));
        }
        public async Task <ActionResult> Edit(SysUserViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id < 1)
                {
                    ModelState.AddModelError(string.Empty, "系统内置用户不允许修改。");
                }

                SysUser currentUser = UserManager.FindById(model.Id);
                if (currentUser == null)
                {
                    ModelState.AddModelError("", "用户不存在");
                }
                else if (model.UserName != currentUser.UserName && UserManager.FindByName(model.UserName) != null)
                {
                    ModelState.AddModelError("", "用户名已存在");
                }
                else
                {
                    List <string> errorMsgs = new List <string>();

                    await HandleUserEditWithRole(model, currentUser, errorMsgs);

                    foreach (string error in errorMsgs)
                    {
                        ModelState.AddModelError("", error);
                    }
                }
            }
            var allErrors = this.GetModelStateErrors(ModelState);

            return(Json(allErrors));
        }
예제 #4
0
        public IActionResult Index()
        {
            Expression <Func <Sys_User, bool> > exp = c => c.UserId == "admin" && c.PassWord == "111";
            SysUserViewModel list = _sysUserService.GetMany(exp);

            //SysUserViewModel studentViewModel = _sysUserService.GetAll().FirstOrDefault();
            return(View(_sysUserService.GetAll()));
        }
예제 #5
0
        public async Task <ApiResult <object> > Item(int id)
        {
            var res    = new ApiResult <object>();
            int UserID = GetUserID();

            if (UserID > 0)
            {
                UserInfo         m;
                SysUserViewModel d;
                if (id > 0)
                {
                    d = new SysUserViewModel();
                    m = db.GetId(id);
                    if (m != null)
                    {
                        d.ID           = m.ID;
                        d.UserName     = m.UserName;
                        d.Password     = m.Password;
                        d.HeadPortrait = m.HeadPortrait;
                        d.NickName     = m.NickName;
                        d.FullName     = m.FullName;
                        d.Position     = m.Position;
                        d.IdCard       = Utility.IdCardUnEncrypt(m.IdCard);
                        d.Gender       = m.Gender;
                        d.MobilePhone  = m.MobilePhone;
                        d.QQ           = m.QQ;
                        d.Mail         = m.Mail;
                        d.State        = m.State;
                        d.RoleID       = m.RoleID;
                    }
                    else
                    {
                        res.msg        = "参数丢失";
                        res.statusCode = (int)ApiEnum.Status;
                    }
                }
                else
                {
                    d = new SysUserViewModel();
                    // 设置默认值用于页面显示
                    d.RoleID = 0;
                    d.State  = 2;
                }
                res.data = d;
                if (res.data != null)
                {
                    res.success = true;
                }
            }
            else
            {
                res.statusCode = (int)ApiEnum.Status;
                res.msg        = "无法获取用户信息!";
            }

            return(await Task.Run(() => res));
        }
예제 #6
0
 public ActionResult EditUser(SysUserViewModel model)
 {
     if (ModelState.IsValid)
     {
         if (model.UserModel.Id == 0)
         {
             model.UserModel.Password = WebUtils.GetAppSettingValue(StaticKey.AppDefaultUserPwd).ToMd5();
             _uow.SysUserService.Add(model.UserModel);
             _uow.Commit();
             if (model.HaveRoles != null)
             {
                 foreach (var item in model.HaveRoles)
                 {
                     _uow.RelUserRoleService.Add(new RelUserRole()
                     {
                         UserId = model.UserModel.Id,
                         RoleId = item
                     });
                 }
             }
         }
         else
         {
             var old = _uow.SysUserService.Get(t => t.Id == model.UserModel.Id);
             if (old != null)
             {
                 old.LogonName = model.UserModel.LogonName;
                 old.TrueName  = model.UserModel.TrueName;
                 old.Phone     = model.UserModel.Phone;
                 old.Email     = model.UserModel.Email;
                 //删除角色
                 var urList = _uow.RelUserRoleService.GetQueryList(t => t.UserId == old.Id);
                 foreach (var item in urList)
                 {
                     _uow.RelUserRoleService.Delete(item);
                 }
                 //新加角色
                 if (model.HaveRoles != null)
                 {
                     foreach (var item in model.HaveRoles)
                     {
                         _uow.RelUserRoleService.Add(new RelUserRole()
                         {
                             UserId = model.UserModel.Id,
                             RoleId = item
                         });
                     }
                 }
             }
         }
         _uow.Commit();
     }
     return(RedirectToAction("User"));
 }
예제 #7
0
        public ActionResult EditUser(int?id)
        {
            var vm = new SysUserViewModel();

            vm.SubMenuList        = GetSubMenuList();
            vm.UserModel          = new SysUser();
            vm.UserModel.Password = WebUtils.GetAppSettingValue(StaticKey.AppDefaultUserPwd).ToMd5();
            vm.HaveRoles          = new HashSet <int>();
            vm.RoleList           = _uow.SysRoleService.GetQueryList().ToList();

            if (id.HasValue)
            {
                vm.UserModel = _uow.SysUserService.Get(t => t.Id == id.Value);
                vm.HaveRoles = _uow.RelUserRoleService.GetQueryList(t => t.UserId == id.Value).Select(t => t.RoleId).ToHashSet();
            }


            return(View(vm));
        }
예제 #8
0
        public ActionResult User(string logonName, int?pageIndex)
        {
            var vm = new SysUserViewModel();

            if (pageIndex.HasValue)
            {
                vm.PageIndex = pageIndex.Value;
            }
            var list = _uow.SysUserService.GetQueryList();

            if (!string.IsNullOrEmpty(logonName))
            {
                list = list.Where(t => t.LogonName.Contains(logonName));
            }
            vm.SysUserList = new Common.Helper.PageList <SysUser>(list.OrderBy(t => t.Id), vm.PageIndex, vm.PageCount);

            vm.SubMenuList = GetSubMenuList();

            return(View(vm));
        }
예제 #9
0
        public ActionResult Edit(int id, SysUserViewModel viewModel)
        {
            if (ModelState.IsValid == false)
            {
                return(WriteError("实体验证失败"));
            }
            var user = SysUserService.GetList(x => x.UserName == viewModel.UserName && x.Id != id).FirstOrDefault();

            if (user != null)
            {
                return(WriteError("该账号已存在"));
            }
            //获取角色
            var roleList = new List <SysRole>();

            if (!string.IsNullOrEmpty(viewModel.RoleIds))
            {
                var RoleIdsArray = Array.ConvertAll(viewModel.RoleIds.Split(','), s => int.Parse(s));
                roleList = SysRoleService.GetList(x => RoleIdsArray.Contains(x.Id)).ToList();
            }
            //赋值
            var entity = SysUserService.GetList(x => x.Id == id).FirstOrDefault();

            entity.SysRoles.Clear();
            foreach (var item in roleList)
            {
                entity.SysRoles.Add(item);
            }
            entity.UserName     = viewModel.UserName;
            entity.NickName     = viewModel.NickName;
            entity.HeadIcon     = viewModel.HeadIcon;
            entity.MobilePhone  = viewModel.MobilePhone;
            entity.Email        = viewModel.Email;
            entity.EnabledMark  = (int)viewModel.EnabledMark;
            entity.MobilePhone  = viewModel.MobilePhone;
            entity.Email        = viewModel.Email;
            entity.UpdateTime   = DateTime.Now;
            entity.UpdateUserId = UserManager.GetCurrentUserInfo().Id;
            SysUserService.Update(entity);
            return(WriteSuccess());
        }
        private async Task HandleUserEditWithRole(SysUserViewModel model,
                                                  SysUser currentUser, List <string> errorMsgs)
        {
            currentUser.UserName    = model.UserName;
            currentUser.Name        = model.Name;
            currentUser.Email       = model.Email;
            currentUser.PhoneNumber = model.PhoneNumber;
            var result = await UserManager.UpdateAsync(currentUser);

            if (!result.Succeeded)
            {
                errorMsgs.AddRange(result.Errors);
                return;
            }

            result = IdentityResult.Success;
            if (!UserManager.IsInRole(currentUser.Id, model.RoleName))
            {
                result = await UserManager.AddToRoleAsync(currentUser.Id, model.RoleName);
            }
            if (!result.Succeeded)
            {
                errorMsgs.AddRange(result.Errors);
                return;
            }
            var roleList = UserManager.GetRoles(currentUser.Id);

            foreach (var r in roleList)
            {
                if (r.Equals(model.RoleName))
                {
                    continue;
                }
                var res = UserManager.RemoveFromRole(currentUser.Id, r);
                if (!result.Succeeded)
                {
                    errorMsgs.AddRange(result.Errors);
                }
            }
        }
예제 #11
0
        public string UserLoginCheck(string userName, string pass)
        {
            string result = null;

            try
            {
                if (OperateWithRedis.KeyExpireFun("UserKey:" + userName, TimeSpan.FromMinutes(20)))
                {
                    Expression <Func <Sys_User, bool> > exp = c => c.UserId == userName && c.PassWord == pass;
                    SysUserViewModel list = _sysUserService.GetMany(exp);

                    SysUserListsVO ss = _sysUserService.GetUserRoles(Guid.Parse("5F77AF22-33F1-429E-AB51-3A3F46B65734"));

                    OperateWithRedis.StringSetFun("UserKey:" + userName, JsonConvert.SerializeObject(ss), 0, TimeSpan.FromMinutes(20));
                    JsonConvert.SerializeObject(ss);
                }
            }
            catch (Exception ex)
            {
                return("");
            }
        }
예제 #12
0
        public ActionResult Create(SysUserViewModel studentView)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(studentView));
                }

                _sysUserService.Add(studentView);
                ////对错误进行记录,还需要抛给前台

                var notificacoes = _domainNotificationHandler.GetNotifications();
                notificacoes.ForEach(c => ViewData.ModelState.AddModelError(string.Empty, c.Value));

                return(View());
            }
            catch (Exception ex)
            {
                throw;
            }
            //return View(studentView);
        }
예제 #13
0
 public ActionResult Create(SysUserViewModel viewModel)
 {
     try
     {
         if (ModelState.IsValid == false)
         {
             return(WriteError("实体验证失败"));
         }
         var user = SysUserService.GetList(x => x.UserName == viewModel.UserName).FirstOrDefault();
         if (user != null)
         {
             return(WriteError("该账号已存在"));
         }
         string  salt         = VerifyCodeUtils.CreateVerifyCode(5);
         string  passwordHash = Md5Utils.EncryptTo32(salt + ConfigUtils.GetValue("InitUserPwd"));
         SysUser entity       = viewModel.EntityMap();
         entity.CreateUserId = UserManager.GetCurrentUserInfo().Id;
         entity.UpdateUserId = UserManager.GetCurrentUserInfo().Id;
         entity.CreateTime   = DateTime.Now;
         entity.UpdateTime   = DateTime.Now;
         entity.PasswordSalt = salt;
         entity.PasswordHash = passwordHash;
         if (!string.IsNullOrEmpty(viewModel.RoleIds))
         {
             var RoleIdsArray = Array.ConvertAll(viewModel.RoleIds.Split(','), s => int.Parse(s));
             var roleList     = SysRoleService.GetList(x => RoleIdsArray.Contains(x.Id)).ToList();
             entity.SysRoles = roleList;
         }
         SysUserService.Add(entity);
         return(WriteSuccess());
     }
     catch (Exception ex)
     {
         return(WriteError(ex));
     }
 }
예제 #14
0
        public IList <GameHistoryViewModel> SearchGameHistoryFunc(DataTableAjaxPostModel model, out int filteredResultsCount, out int totalResultsCount, int sysUserId)
        {
            var user = new SysUserViewModel();

            if (sysUserId > 0)
            {
                user = Mapper.Map <SysUserViewModel>(_sysUserService.Queryable().Where(x => x.Id == sysUserId).FirstOrDefault());
            }
            else
            {
                user = HttpContext.Session.GetObjectFromJson <SysUserViewModel>("CurrentUser");
            }
            var searchBy  = (model.search.value != null) ? model.search.value : "";
            var pageSize  = model.length;
            var pageIndex = model.start + 1;

            var take = model.length;
            var skip = model.start;

            string sortBy  = "";
            string sortDir = "desc";

            if (model.order != null)
            {
                // in this example we just default sort on the 1st column
                sortBy  = model.columns[model.order[0].column].data;
                sortDir = model.order[0].dir.ToLower();
            }

            // search the dbase taking into consideration table sorting and paging
            List <SqlParameter> storeParams = new List <SqlParameter>()
            {
                new SqlParameter()
                {
                    ParameterName = "@SysUserId", SqlDbType = SqlDbType.Int, Value = sysUserId
                },
                new SqlParameter()
                {
                    ParameterName = "@PageSize", SqlDbType = SqlDbType.Int, Value = pageSize
                },
                new SqlParameter()
                {
                    ParameterName = "@PageIndex", SqlDbType = SqlDbType.Int, Value = pageIndex
                },
                new SqlParameter()
                {
                    ParameterName = "@OrderColumn", SqlDbType = SqlDbType.NVarChar, Value = sortBy
                },
                new SqlParameter()
                {
                    ParameterName = "@OrderDirection", SqlDbType = SqlDbType.NVarChar, Value = sortDir
                },
                new SqlParameter()
                {
                    ParameterName = "@SearchValue", SqlDbType = SqlDbType.NVarChar, Value = searchBy
                },
            };

            var dataSet = _dataContextAsync.ExecuteStoredProcedure("[usp_GetGameHistory]", storeParams);

            DataTable table = dataSet.Tables[0];
            var       rows  = new List <DataRow>(table.Rows.OfType <DataRow>()); //  the Rows property of the DataTable object is a collection that implements IEnumerable but not IEnumerable<T>

            totalResultsCount    = Convert.ToInt32((dataSet.Tables[1].Rows[0])["TotalCount"]);
            filteredResultsCount = Convert.ToInt32((dataSet.Tables[2].Rows[0])["FilteredCount"]);

            return(Mapper.Map <List <DataRow>, List <GameHistoryViewModel> >(rows));
        }
예제 #15
0
        public async Task <ApiResult <IEnumerable <SysUserViewModel> > > List(int pageIndex, int RoleID, int StateID, string Title, string Phone)
        {
            // 以接口的形式返回数据
            var res    = new ApiResult <IEnumerable <SysUserViewModel> >();
            int UserID = GetUserID();

            if (UserID > 0)
            {
                if (pageIndex == 0)
                {
                    pageIndex = 1;
                }
                List <SysUserViewModel> list = new List <SysUserViewModel>();
                var parm = Expressionable.Create <UserInfo>()
                           .AndIF(!string.IsNullOrEmpty(Title), m => m.FullName.Contains(Title) || m.NickName.Contains(Title))
                           .AndIF(RoleID != 0, m => m.RoleID == RoleID)
                           .AndIF(StateID != 0, m => m.State == StateID)
                           .AndIF(!string.IsNullOrEmpty(Phone), m => m.MobilePhone.Contains(Phone));
                var Paged = db.GetPages(parm.ToExpression(), new PageParm(pageIndex), "ID DESC");
                var data  = Paged.DataSource;
                if (data != null)
                {
                    foreach (var item in data)
                    {
                        SysUserViewModel sysUserView = new SysUserViewModel();
                        sysUserView.ID           = item.ID;
                        sysUserView.UserName     = item.UserName;
                        sysUserView.Password     = item.Password;
                        sysUserView.HeadPortrait = item.HeadPortrait;
                        sysUserView.NickName     = item.NickName;
                        sysUserView.FullName     = item.FullName;
                        sysUserView.Position     = item.Position;
                        sysUserView.IdCard       = item.IdCard;
                        sysUserView.Gender       = item.Gender;
                        sysUserView.MobilePhone  = item.MobilePhone;
                        sysUserView.QQ           = item.QQ;
                        sysUserView.Mail         = item.Mail;
                        sysUserView.State        = item.State;
                        sysUserView.AddDate      = Utility.GetDateFormat(item.AddDate);
                        if (item.RoleID == 0)
                        {
                            sysUserView.RoleName = "";
                        }
                        else
                        {
                            sysUserView.RoleName = roleDb.GetId(item.RoleID).Names;
                        }
                        list.Add(sysUserView);
                    }
                    res.data = list;
                    if (res.data != null)
                    {
                        res.success = true;
                        res.index   = pageIndex;
                        res.count   = Paged.TotalCount;
                        res.size    = Paged.PageSize;
                    }
                    else
                    {
                        res.msg        = "无数据";
                        res.statusCode = (int)ApiEnum.Status;
                    }
                }
                else
                {
                    res.msg        = "参数丢失";
                    res.statusCode = (int)ApiEnum.Status;
                }
            }
            else
            {
                res.msg        = "无法获取用户信息!";
                res.statusCode = (int)ApiEnum.Status;
            }
            return(await Task.Run(() => res));
        }
예제 #16
0
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="sysUserViewModel"></param>
        public void Add(SysUserViewModel sysUserViewModel)
        {
            var addCommand = _mapper.Map <AddUserCommand>(sysUserViewModel);

            _bus.SendCommand(addCommand);
        }
예제 #17
0
 public void Update(SysUserViewModel sysUserViewModel)
 {
     _sysUserRepository.Update(_mapper.Map <Sys_User>(sysUserViewModel));
 }