示例#1
0
 partial void OnConvertAdditionalFields(IRole source, RoleDao dest)
 {
     if (source.Rights != null)
     {
         dest.Rights = _rightMapper.Convert(source.Rights).ToList();
     }
 }
 public List<string> Handle(ActivityAuth auth)
 {
     List<string> result = new List<string>();
     ISqlMapper mapper = Common.GetMapperFromSession();
     UserBLL bll = new UserBLL();
     string userid = bll.GetCurrentUser().User.ID;
     //string userid = "16";
     RoleDao roledao = new RoleDao(mapper);
     User_RoleDao urdao = new User_RoleDao(mapper);
     string[] roleids = auth.Value.Split(',');
     var subroles = roledao.Query(new RoleQueryForm { ParentIDs = roleids.ToList() });
     var urs = urdao.Query(new User_RoleQueryForm { UserID = userid });
     var roles = subroles.FindAll(t => urs.Exists(p => p.RoleID == t.ID));
     if (roles == null || roles.Count == 0)
     {
         result.Add(userid);
     }
     else
     {
         IWorkflowAuthorityHandler handler = new RoleWorkflowAuthorityHandler();
         foreach (var role in roles)
         {
             if (roleids.Any(t => t == role.ParentID))
             {
                 result.AddRange(handler.Handle(new ActivityAuth
                 {
                     Value = role.ParentID,
                 }));
             }
         }
     }
     return result;
 }
示例#3
0
        public List <string> Handle(ActivityAuth auth)
        {
            ISqlMapper    mapper  = Common.GetMapperFromSession();
            RoleDao       roledao = new RoleDao(mapper);
            User_RoleDao  urdao   = new User_RoleDao(mapper);
            List <string> result  = new List <string>();
            var           role    = roledao.Query(new RoleQueryForm {
                ID = auth.Value, IsDeleted = 0
            }).FirstOrDefault();

            if (role != null)
            {
                var userrole = urdao.Query(new User_RoleQueryForm {
                    RoleID = role.ID
                });
                if (userrole != null)
                {
                    foreach (var ur in userrole)
                    {
                        if (!result.Contains(ur.UserID))
                        {
                            result.Add(ur.UserID);
                        }
                    }
                }
            }
            return(result);
        }
示例#4
0
        public ActionResult Create(Role role)
        {
            if (ModelState.IsValid)
            {
                var dao     = new RoleDao();
                var getRole = dao.getByName(role.Name);

                //Check if new role exsits
                if (getRole != null)
                {
                    ModelState.AddModelError("Name", "Role " + role.Name + " exists in database.");
                    return(View(role));
                }

                var entity = new Role();
                entity.Id          = Guid.NewGuid();
                entity.Name        = role.Name;
                entity.Description = role.Description;
                Guid id = dao.create(entity);
                if (id != null)
                {
                    ViewBag.CreateRoleSuccessMessage = "Create " + role.Name + " successful";
                }
                else
                {
                    ViewBag.CreateRoleErrorMessage = "Create " + role.Name + " failed";
                }
            }
            return(View(role));
        }
示例#5
0
        private async void Delete()
        {
            if (!Global.HasRight("0503"))
            {
                MessageAlert.Alert("权限不足!");
                return;
            }
            if (SelectedRole == null)
            {
                MessageAlert.Alert("请选择要删除的记录!");
                return;
            }
            var confirm = await MessageAlert.Confirm("确定删除此记录?");

            if (!confirm)
            {
                return;
            }
            RoleDao dao = new RoleDao();
            var     rlt = dao.DeleteRole(SelectedRole.Id);

            if (rlt.HasError)
            {
                MessageAlert.Alert(rlt.Msg);
            }
            RefreshList(null);
        }
示例#6
0
        public void initAdminClient()
        {
            ClientDao    dao  = new ClientDao();
            ClientEntity temp = dao.getClientByUsername("admin");

            if (temp != null)
            {
                dao.DeleteClient("admin");
            }


            ClientEntity  client        = new ClientEntity();
            RoleDao       roleDao       = new RoleDao();
            DepartmentDao departmentDao = new DepartmentDao();

            client.Username = "******";
            client.Password = "******";
            client.RealName = "yangtf";

            client.Role       = roleDao.getByName("superadmin");
            client.Department = departmentDao.getByName("6");
            client.encryptPassword();

            IList <CatalogEntity> catalogs = new CatalogDao().getAll();

            client.Catalogs = catalogs;


            dao.save(client);
        }
示例#7
0
        public string Edit(Role role)
        {
            string msg = "Done";

            try
            {
                if (ModelState.IsValid)
                {
                    var dao    = new RoleDao();
                    var result = dao.Update(role);
                    if (result == 1)
                    {
                        SetAlert("Thêm bản ghi thành công!", "success");
                        msg = "Saved Successfully";
                    }
                    else
                    {
                        msg = "Some Validation ";
                        SetAlert("Không thể thêm bản ghi này!", "error");
                    }
                }
            }
            catch (Exception ex)
            {
                msg = "Error occured:" + ex.Message;
                SetAlert("Không thể thêm bản ghi này!", "error");
            }
            return(msg);
        }
示例#8
0
        public UnitOfWork(IDbConnection connection)
        {
            _connection = connection;

            StoredProcedures          = new StoredProcedures(connection);
            Brands                    = new BrandDao(connection);
            Carts                     = new CartDao(connection);
            Categories                = new CategoryDao(connection);
            CategoryProducts          = new CategoryProductDao(connection);
            ContactInfo               = new ContactInfoDao(connection);
            Characteristics           = new CharacteristicDao(connection);
            CharacteristicProducts    = new CharacteristicProductDao(connection);
            FavouriteProducts         = new FavouriteProductDao(connection);
            Items                     = new ItemDao(connection);
            OptionalParameters        = new OptionalParameterDao(connection);
            OptionalParameterProducts = new OptionalParameterProductDao(connection);
            Orders                    = new OrderDao(connection);
            OrderDeliveryTypes        = new OrderDeliveryTypeDao(connection);
            OrderPaymentTypes         = new OrderPaymentTypeDao(connection);
            OrderProducts             = new OrderProductDao(connection);
            OrderStatuses             = new OrderStatusDao(connection);
            Products                  = new ProductDao(connection);
            ProductImages             = new ProductImageDao(connection);
            Roles                     = new RoleDao(connection);
            SupportMessages           = new SupportMessageDao(connection);
            Users                     = new UserDao(connection);
        }
示例#9
0
        public void TestList()
        {
            UserDao userDao = new UserDao(connectionString);
            RoleDao roleDao = new RoleDao(connectionString);

            Role role   = TestHelper.CreateRole();
            int  isSave = roleDao.Save(role);

            Assert.IsTrue(isSave > 0);

            User user1 = TestHelper.CreateUser();
            User user2 = TestHelper.CreateUser();

            role.Users = new List <User>();
            role.Users.Add(user1);
            role.Users.Add(user2);
            isSave = roleDao.Update(role);
            Assert.IsTrue(isSave > 0);

            IList <User> list = userDao.List(role.Id);

            Assert.AreEqual(2, list.Count);

            int isDelete = roleDao.Delete(role.Id);

            Assert.IsTrue(isDelete > 0);

            list = userDao.List(role.Id);
            Assert.AreEqual(0, list.Count);
        }
示例#10
0
        private void LoadUserLevel()
        {
            try
            {
                UserLevelDao      dao = new UserLevelDao();
                IList <UserLevel> lst = dao.GetList();
                foreach (var v in lst)
                {
                    cmbRoleLevel.Items.Add(string.Format("{0}_{1}", v.LevelId, v.LevelName));
                }
                cmbRoleLevel.SelectedIndex = 0;

                RoleDao      roleDao = new RoleDao();
                IList <Role> roleLst = roleDao.GetList();
                foreach (var v in roleLst)
                {
                    cmbRoles.Items.Add(string.Format("{0}_{1}", v.RoleId, v.RoleName));
                }
                cmbRoles.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                LogHelper.AppLoger.Error(ex);
            }
        }
示例#11
0
        public static void downloadRole()
        {
            String           StationID = ManageLOG.getValueFromRegistry(Configurations.AppRegName, "StationID");
            int              total     = 0;
            int              success   = 0;
            RoleDao          dao       = new RoleDao();
            List <ModelRole> lists     = dao.Select("");

            if (lists != null)
            {
                total = lists.Count;
                logger.Debug("# Start download [ROLE] from server.");

                foreach (ModelRole model in lists)
                {
                    List <ModelRole> tmp = dao.SelectOffline(" Where role_code='" + model.role_code + "'");
                    if (tmp != null)
                    {
                        if (tmp.Count > 0)
                        {
                        }
                        else
                        {
                            if (dao.InsertOffline(model))
                            {
                                success++;
                            }
                        }
                    }
                }
                logger.Debug("# Summary=> Total Download total: " + total + " success: " + success + " fail: " + (total - success));
                logger.Debug("# End Download data from server.");
            }
        }
示例#12
0
        public UnitOfWork(IDbConnection connection)
        {
            _connection = connection;

            AccountDao          = new AccountDao(connection);
            BusCoordinateDao    = new BusCoordinateDao(connection);
            BusDao              = new BusDao(connection);
            BusDriverDao        = new BusDriverDao(connection);
            CityDao             = new CityDao(connection);
            CountryDao          = new CountryDao(connection);
            DistanceDao         = new DistanceDao(connection);
            DistrictDao         = new DistrictDao(connection);
            DriverDao           = new DriverDao(connection);
            DriverContactDao    = new DriverContactDao(connection);
            LocationDao         = new LocationDao(connection);
            LookupsDao          = new LookupsDao(connection);
            LookupValuesDao     = new LookupValuesDao(connection);
            RepairSpecialistDao = new RepairSpecialistDao(connection);
            RoleDao             = new RoleDao(connection);
            RouteDao            = new RouteDao(connection);
            RouteLocationDao    = new RouteLocationDao(connection);
            TripDao             = new TripDao(connection);
            TripBusDao          = new TripBusDao(connection);
            TripBusDriverDao    = new TripBusDriverDao(connection);
            UserDao             = new UserDao(connection);
            VehicleDao          = new VehicleDao(connection);
            ScheduleDao         = new ScheduleDao(connection);
            ScheduleLocationDao = new ScheduleLocationDao(connection);

            StoredProcedureDao = new StoredProcedureDao(connection);
        }
示例#13
0
 public LogonResultForm GetUserInfo(string userid)
 {
     var mapper = Common.GetMapperFromSession();
     UserDao userdao = new UserDao(mapper);
     var user = userdao.Query(new UserQueryForm { Name = userid }).FirstOrDefault();
     if (user == null) throw new Exception("用户:" + userid + "在系统中不存在!");
     if (user.Enabled == 0) throw new Exception("该用户已被禁用,请联系管理员!");
     LogonResultForm result = new LogonResultForm();
     UserInfoDao userInfoDao = new UserInfoDao(mapper);
     RoleDao roleDao = new RoleDao(mapper);
     LogonHistoryDao historyDao = new LogonHistoryDao(mapper);
     string token = Guid.NewGuid().ToString().Replace("-", "");
     var userinfo = userInfoDao.Query(new UserInfoQueryForm { ID = user.ID }).FirstOrDefault();
     UserEntireInfo u = new UserEntireInfo { User = user };
     if (userinfo != null) u.UserInfo = userinfo;
     u.Role = roleDao.QueryRoleByUserID(u.User.ID);
     CacheItem item = new CacheItem(token, u);
     LogonHistory history = new LogonHistory
     {
         LogonTime = DateTime.Now,
         Token = token,
         UserID = user.ID,
         ActiveTime = DateTime.Now,
     };
     historyDao.Add(history);
     result.token = token;
     result.UserInfo = userinfo;
     cache.AddItem(item, 30 * 60);
     MenuBLL menubll = new MenuBLL();
     result.Menu = menubll.GetCurrentUserMenu(result.token);
     return result;
 }
示例#14
0
        private void initRoles()
        {
            RoleEntity[] roles = createRoles();
            RoleDao      dao   = new RoleDao();

            dao.save(roles);
        }
示例#15
0
 partial void OnConvertAdditionalFields(RoleDao source, IRole dest)
 {
     if (source.Rights != null)
     {
         dest.Rights = _rightMapper.Convert(source.Rights);
     }
 }
示例#16
0
        public string AddRole(AddRoleServiceForm form)
        {
            Role role = new Role
            {
                DataAccessType = form.DataAccessType,
                Creator = form.Creator,
                IsDeleted = 0,
                Name = form.Name,
                ParentID = form.ParentID,
                Remark = form.Remark,
            };
            //新增角色
            ISqlMapper mapper = MapperHelper.GetMapper();
            RoleDao dao = new RoleDao(mapper);
            Menu_RoleDao mrdao = new Menu_RoleDao(mapper);

            #region risk role
            string id = dao.Add(role);
            AddRoleAuth(mapper, form, id);
            #endregion

            #region menu
            if (form.Menus != null)
            {
                foreach (var mr in form.Menus)
                {
                    mrdao.Add(new Menu_Role { RoleID = id, MenuID = mr.ID });
                }
            }
            #endregion

            return id;
        }
        public UserleaderWorkflowAuthority()
        {
            ISqlMapper mapper = Common.GetMapperFromSession();

            roledao = new RoleDao(mapper);
            urdao   = new User_RoleDao(mapper);
        }
示例#18
0
 public JsonResult Create(Role role)
 {
     try
     {
         if (ModelState.IsValid)
         {
             var dao    = new RoleDao();
             var result = dao.Insert(role);
             if (result == 1)
             {
                 SetAlert("Thêm bản ghi thành công!", "success");
                 return(Json("Saved Successfully!", JsonRequestBehavior.AllowGet));
             }
             else
             {
                 SetAlert("Không thể thêm bản ghi này!", "error");
                 return(Json("Not Saved!", JsonRequestBehavior.AllowGet));
             }
         }
         else
         {
             var errorList = (from item in ModelState
                              where item.Value.Errors.Any()
                              select item.Value.Errors[0].ErrorMessage).ToList();
             SetAlert("Not Saved!", "error");
             return(Json(errorList, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         SetAlert("Không thể thêm bản ghi này!", "error");
         var errormessage = "Error occured: " + ex.Message;
         return(Json(errormessage, JsonRequestBehavior.AllowGet));
     }
 }
示例#19
0
        public RightSetViewModel()
        {
            //查询角色
            RoleDao roleDao = new RoleDao();
            var     roleRlt = roleDao.GetRoles();

            if (roleRlt.HasError)
            {
                MessageAlert.Alert(roleRlt.Msg);
            }
            else
            {
                Roles = roleRlt.Entities;
            }
            //查询所有权限
            RightDao rightDao = new RightDao();
            var      rightRlt = rightDao.GetRights();

            if (rightRlt.HasError)
            {
                MessageAlert.Alert(rightRlt.Msg);
            }
            else
            {
                Rights = rightRlt.Entities;
            }
        }
示例#20
0
        public JsonResult Delete(string id)
        {
            var ckRole = new RoleDao().CheckRoleIsUsed(id);

            if (!ckRole)
            {
                var res = new RoleDao().Delete(id);
                if (res)
                {
                    return(Json(new
                    {
                        status = true
                    }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json(new
                    {
                        status = false
                    }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                return(Json(new
                {
                    status = false,
                    message = "Role đã được dùng. Vui lòng kiểm tra lại!"
                }, JsonRequestBehavior.AllowGet));
            }
        }
示例#21
0
        public JsonResult LoadData(int type, string keyword, int pageIndex, int pageSize)
        {
            string str   = NonUnicode.RemoveUnicode(keyword).ToLower();
            var    model = new RoleDao().ListAll();

            switch (type)
            {
            case 0: model = model.Where(x => NonUnicode.RemoveUnicode(x.Name).ToLower().Contains(str)); break;

            case 1: model = model.Where(x => NonUnicode.RemoveUnicode(x.Name).ToLower().Contains(str)); break;
            }

            int totalRow = model.Count();

            model = model.OrderByDescending(x => x.ID)
                    .Skip((pageIndex - 1) * pageSize)
                    .Take(pageSize);
            int totalRowCurent = model.Count();

            return(Json(new
            {
                data = model,
                total = totalRow,
                totalCurent = totalRowCurent,
                status = true
            }, JsonRequestBehavior.AllowGet));
        }
示例#22
0
        public string AddRole(AddRoleServiceForm form)
        {
            string weixinid = Common.WeiXinDepartmentID;

            if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["WeiXinDepartmentID"]))
            {
                weixinid = ConfigurationManager.AppSettings["WeiXinDepartmentID"];
            }
            Role role = new Role
            {
                DataAccessType = form.DataAccessType,
                Creator        = form.Creator,
                IsDeleted      = 0,
                Name           = form.Name,
                ParentID       = form.ParentID,
                Remark         = form.Remark,
                WeiXinID       = weixinid,
            };
            //新增角色
            ISqlMapper mapper = Common.GetMapperFromSession();
            RoleDao    dao    = new RoleDao(mapper);

            #region risk role
            string id = dao.Add(role);
            AddRoleAuth(mapper, form, id);
            #endregion
            return(id);
        }
示例#23
0
        public bool UpdateRole(AddRoleServiceForm form)
        {
            if (string.IsNullOrEmpty(form.ID))
            {
                throw new Exception("更新角色时没有ID");
            }
            ISqlMapper            mapper = Common.GetMapperFromSession();
            RoleDao               dao    = new RoleDao(mapper);
            Role_Module_ActionDao rmadao = new Role_Module_ActionDao(mapper);

            rmadao.Delete(new Role_Module_ActionQueryForm {
                RoleID = form.ID
            });
            AddRoleAuth(mapper, form, form.ID);

            return(dao.Update(new RoleUpdateForm
            {
                Entity = new Role
                {
                    LastUpdator = form.LastUpdator,
                    Name = form.Name,
                    ParentID = form.ParentID,
                    Remark = form.Remark,
                    DataAccessType = form.DataAccessType,
                },
                RoleQueryForm = new RoleQueryForm {
                    ID = form.ID
                },
            }));
        }
示例#24
0
 /// <summary>
 /// This method is called when the model for a derived context has been initialized, but
 /// before the model has been locked down and used to initialize the context.  The default
 /// implementation of this method does nothing, but it can be overridden in a derived class
 /// such that the model can be further configured before it is locked down.
 /// </summary>
 /// <param name="modelBuilder">The builder that defines the model for the context being created.</param>
 /// <remarks>
 /// Typically, this method is called only once when the first instance of a derived context
 /// is created.  The model for that context is then cached and is for all further instances of
 /// the context in the app domain.  This caching can be disabled by setting the ModelCaching
 /// property on the given ModelBuidler, but note that this can seriously degrade performance.
 /// More control over caching is provided through use of the DbModelBuilder and DbContextFactory
 /// classes directly.
 /// </remarks>
 protected override void OnModelCreating(DbModelBuilder modelBuilder)
 {
     UserDao.CreateTable(modelBuilder);
     RoleDao.CreateTable(modelBuilder);
     RightDao.CreateTable(modelBuilder);
     ResourceDao.CreateTable(modelBuilder);
     base.OnModelCreating(modelBuilder);
 }
示例#25
0
        public void GetAllTest()
        {
            var target = new RoleDao();
            ReadOnlyCollection <Role> actual;

            actual = target.GetAll();
            Assert.AreEqual(2, actual.Count);
        }
示例#26
0
        public void GeByNametTest()
        {
            var    target = new RoleDao();
            string id     = "role1";
            Role   actual;

            actual = target.GetByName(id);
            Assert.AreEqual(id, actual.Name);
        }
示例#27
0
        public void GetRolesTest()
        {
            var target = new RoleDao();
            var roleId = new[] { "role1", "role2" };
            ReadOnlyCollection <Role> actual;

            actual = target.GetRoles(roleId);
            Assert.AreEqual(2, actual.Count);
        }
示例#28
0
        public LoginResultForm Login(string username, string password)
        {
            LoginResultForm result = new LoginResultForm();
            ISqlMapper mapper = MapperHelper.GetMapper();
            UserDao userdao = new UserDao(mapper);
            UserInfoDao userInfoDao = new UserInfoDao(mapper);
            RoleDao roleDao = new RoleDao(mapper);
            User_RoleDao urdao = new User_RoleDao(mapper);
            LogonHistoryDao historyDao = new LogonHistoryDao(mapper);
            MenuDao menudao = new MenuDao(mapper);
            Menu_RoleDao mrdao = new Menu_RoleDao(mapper);
            var user = userdao.Query(new UserQueryForm { Name = username, Password = password }).FirstOrDefault();
            if (user != null)
            {
                if (user.Enabled == 0) throw new Exception("该用户已被禁用,请联系管理员!");
                string token = Guid.NewGuid().ToString().Replace("-", "");
                var userinfo = userInfoDao.Query(new UserInfoQueryForm { ID = user.ID }).FirstOrDefault();
                var ur = urdao.Query(new User_RoleQueryForm { UserID = user.ID });
                List<string> roleidlist = new List<string>();
                ur.ForEach(t =>
                {
                    roleidlist.Add(t.RoleID);
                });
                var roles = roleDao.Query(new RoleQueryForm { IDs = roleidlist });

                var mrs = mrdao.Query(new Menu_RoleQueryForm { RoleIDs = roleidlist });
                var menuids = (from mr in mrs select mr.MenuID).Distinct().ToList();

                result.Menu = menudao.Query(new MenuQueryForm { IDs = menuids, Enabled = 1 });

                UserEntireInfo u = new UserEntireInfo
                {
                    User = user,
                    UserInfo = userinfo,
                    Role = roles,
                };

                CacheItem item = new CacheItem(token, u);
                LogonHistory history = new LogonHistory
                {
                    LogonTime = DateTime.Now,
                    Token = token,
                    UserID = user.ID,
                    ActiveTime = DateTime.Now,
                };
                historyDao.Add(history);
                result.User = u;
                result.token = token;
                cache.AddItem(item, 1800);
                //MonitorCache.GetInstance().PushMessage(new CacheMessage { Message = "login user:"******",token:" + token }, SOAFramework.Library.CacheEnum.FormMonitor);
                return result;
            }
            else
            {
                throw new Exception("用户名或者密码错误!请输入正确的用户名和密码!");
            }
        }
示例#29
0
        public Role GetRoleByID(int id)
        {
            var data = new RoleDao().GetRoleById(id);

            return(new Role
            {
                RoleName = data.RoleName
            });
        }
示例#30
0
 public FrmEditProfile(FrmMain main, ModelUser user)
 {
     InitializeComponent();
     userDao   = new UserDao();
     siteDao   = new StationDao();
     roleDao   = new RoleDao();
     this.user = user;
     this.main = main;
 }
示例#31
0
 public FrmStaff()
 {
     InitializeComponent();
     userDao    = new UserDao();
     staffDao   = new StaffDao();
     stationDao = new StationDao();
     loungeDao  = new LoungeDao();
     roleDao    = new RoleDao();
     areaDao    = new AreaDao();
 }
示例#32
0
        public JsonResult GetDetail(string id)
        {
            var model = new RoleDao().GetDetailById(id);

            return(Json(new
            {
                data = model,
                status = true
            }, JsonRequestBehavior.AllowGet));
        }
示例#33
0
 public bool DeleteRole(string id)
 {
     if (string.IsNullOrEmpty(id)) throw new Exception("删除角色时没有ID");
     ISqlMapper mapper = MapperHelper.GetMapper();
     RoleDao dao = new RoleDao(mapper);
     Role_Module_ActionDao rmadao = new Role_Module_ActionDao(mapper);
     rmadao.Delete(new Role_Module_ActionQueryForm { RoleID = id });
     Role currentrole = dao.Query(new RoleQueryForm { ID = id }).FirstOrDefault();
     return dao.Delete(new RoleQueryForm { ID = id });
 }
示例#34
0
        private void Employees_Load(object sender, EventArgs e)
        {
            var designationDao = new DesignationDao();
            var roleDao        = new RoleDao();

            cmbRoles.DataSource        = roleDao.GetAllRoles();
            cmbDesignations.DataSource = designationDao.GetAllDesignations();

            ShowEmployees();
        }
示例#35
0
        public void TestGetRoles()
        {
            RoleDao            dao   = new RoleDao();
            IList <RoleEntity> roles = dao.getAllRoles();

            foreach (var role in roles)
            {
                Console.WriteLine(role.Id + "#" + role.RoleName + "#" + role.Description);
            }
        }
示例#36
0
 public List<string> GetUserIDList(List<ActivityAuth> auth)
 {
     var mapper = Common.GetMapperFromSession();
     List<string> result = new List<string>();
     RoleDao roledao = new RoleDao(mapper);
     User_RoleDao urdao = new User_RoleDao(mapper);
     UserBLL userbll = new UserBLL();
     foreach (var au in auth)
     {
         IWorkflowAuthorityHandler handler = WorkflowAuthorityFactory.CreateHandler(au.Type.ToLower());
         result.AddRange(handler.Handle(au));
     }
     return result;
 }
 public List<string> Handle(ActivityAuth auth)
 {
     ISqlMapper mapper = Common.GetMapperFromSession();
     RoleDao roledao = new RoleDao(mapper);
     User_RoleDao urdao = new User_RoleDao(mapper);
     List<string> result = new List<string>();
     var role = roledao.Query(new RoleQueryForm { ID = auth.Value, IsDeleted = 0 }).FirstOrDefault();
     if (role != null)
     {
         var userrole = urdao.Query(new User_RoleQueryForm { RoleID = role.ID });
         if (userrole != null)
         {
             foreach (var ur in userrole)
             {
                 if (!result.Contains(ur.UserID))
                 {
                     result.Add(ur.UserID);
                 }
             }
         }
     }
     return result;
 }
示例#38
0
        public string AddRole(AddRoleServiceForm form)
        {
            string weixinid = Common.WeiXinDepartmentID;
            if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["WeiXinDepartmentID"])) weixinid = ConfigurationManager.AppSettings["WeiXinDepartmentID"];
            Role role = new Role
            {
                DataAccessType = form.DataAccessType,
                Creator = form.Creator,
                IsDeleted = 0,
                Name = form.Name,
                ParentID = form.ParentID,
                Remark = form.Remark,
                WeiXinID = weixinid,
            };
            //新增角色
            ISqlMapper mapper = Common.GetMapperFromSession();
            RoleDao dao = new RoleDao(mapper);

            #region risk role
            string id = dao.Add(role);
            AddRoleAuth(mapper, form, id);
            #endregion
            return id;
        }
示例#39
0
 public List<Role> Query(RoleQueryForm form)
 {
     ISqlMapper mapper = MapperHelper.GetMapper();
     RoleDao dao = new RoleDao(mapper);
     return dao.Query(form);
 }
示例#40
0
        /// <summary>
        /// 查询角色
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        public List<FullRoleInfo> QueryFullRole(RoleQueryForm form)
        {
            ISqlMapper mapper = MapperHelper.GetMapper();
            RoleDao dao = new RoleDao(mapper);
            Role_Module_ActionDao rmadao = new Role_Module_ActionDao(mapper);
            Menu_RoleDao mrdao = new Menu_RoleDao(mapper);
            MenuDao menudao = new MenuDao(mapper);
            List<FullRoleInfo> result = new List<FullRoleInfo>();
            form.IsDeleted = 0;
            var roles = dao.Query(form);
            var roleids = (from r in roles select r.ID).ToList();
            var rmas = rmadao.Query(new Role_Module_ActionQueryForm { RoleIDs = roleids });
            var mrs = mrdao.Query(new Menu_RoleQueryForm { RoleIDs = roleids });
            var menuids = (from mr in mrs select mr.MenuID).Distinct().ToList();
            var menus = menudao.Query(new MenuQueryForm { IDs = menuids, Enabled = 1 });
            AuthorityMapping mapping = XMLHelper.DeserializeFromFile<AuthorityMapping>(Common.AuthorityMappingFile);
            foreach (var role in roles)
            {
                var data = role.ConvertTo<FullRoleInfo>();
                var parentrole = roles.Find(t => t.ID == role.ParentID);
                if (parentrole != null) data.ParentRoleName = parentrole.Name;
                #region 查询权限
                var role_rmas = rmas.FindAll(t => t.RoleID.Equals(role.ID));
                data.Authority = new List<AuthorityNodeForCheck>();
                foreach (var auth in mapping.AuthNode)
                {
                    auth.Checked = (from au in auth.Item
                                    from r in role_rmas
                                    where au.ModuleID == r.ModuleID && au.ActionID == r.ActionID
                                    select au).Count() == auth.Item.Count;
                    data.Authority.Add(new AuthorityNodeForCheck { ID = auth.ID, Checked = auth.Checked, Name = auth.Name });
                }
                #endregion

                #region 查询菜单
                data.Menus = (from mr in mrs join m in menus on mr.MenuID equals m.ID where mr.RoleID.Equals(role.ID) select m).ToList();
                #endregion
                result.Add(data);
            }
            return result;
        }
示例#41
0
        public bool UpdateRole(AddRoleServiceForm form)
        {
            if (string.IsNullOrEmpty(form.ID)) throw new Exception("更新角色时没有ID");
            ISqlMapper mapper = MapperHelper.GetMapper();
            RoleDao dao = new RoleDao(mapper);
            Role_Module_ActionDao rmadao = new Role_Module_ActionDao(mapper);
            Menu_RoleDao mrdao = new Menu_RoleDao(mapper);
            rmadao.Delete(new Role_Module_ActionQueryForm { RoleID = form.ID });
            AddRoleAuth(mapper, form, form.ID);
            mrdao.Delete(new Menu_RoleQueryForm { RoleID = form.ID });
            if (form.Menus != null)
            {
                foreach (var menu in form.Menus)
                {
                    mrdao.Add(new Menu_Role { RoleID = form.ID, MenuID = menu.ID });
                }
            }

            return dao.Update(new RoleUpdateForm
            {
                Entity = new Role
                {
                    LastUpdator = form.LastUpdator,
                    Name = form.Name,
                    ParentID = form.ParentID,
                    Remark = form.Remark,
                    DataAccessType = form.DataAccessType,
                },
                RoleQueryForm = new RoleQueryForm { ID = form.ID },
            });
        }
示例#42
0
        public bool Update(Model.User user, UserInfo ui, List<string> roleidlist)
        {
            #region risk update
            ISqlMapper mapper = Common.GetMapperFromSession();
            UserDao udao = new UserDao(mapper);
            UserInfoDao uidao = new UserInfoDao(mapper);
            if (user != null)
            {
                Model.User entity = new User
                {
                    ID = user.ID,
                    Enabled = user.Enabled,
                };
                udao.Update(new UserUpdateForm { Entity = entity, UserQueryForm = new UserQueryForm { ID = user.ID } });
            }
            if (ui != null)
            {
                uidao.Update(new UserInfoUpdateForm { Entity = ui, UserInfoQueryForm = new UserInfoQueryForm { ID = ui.ID } });
            }
            if (roleidlist != null)
            {
                User_RoleDao urdao = new User_RoleDao(mapper);
                urdao.Delete(new User_RoleQueryForm { UserID = user.ID });
                foreach (var role in roleidlist)
                {
                    User_Role ur = new User_Role { RoleID = role, UserID = user.ID };
                    urdao.Add(ur);
                }
            }
            #endregion

            #region weixin api
            RoleDao roledao = new RoleDao(mapper);
            var roles = roledao.Query(new RoleQueryForm { IDs = roleidlist });
            var weixinids = (from r in roles
                             where !string.IsNullOrEmpty(r.WeiXinID)
                             select Convert.ToInt32(r.WeiXinID)).ToArray();
            var user_temp = udao.Query(new UserQueryForm { ID = user.ID }).FirstOrDefault();
            var ui_temp = uidao.Query(new UserInfoQueryForm { ID = user.ID }).FirstOrDefault();
            try
            {
                SOAFramework.Library.WeiXin.WeiXinApi.User.Update(new SOAFramework.Library.WeiXin.User
                {
                    department = weixinids,
                    mobile = ui_temp.Mobile,
                    name = ui_temp.CnName,
                    weixinid = ui_temp.WX,
                    userid = user_temp.Name,
                    enable = 1,
                });
            }
            catch (SOAFramework.Library.WeiXin.WeiXinException ex)
            {
                switch (ex.Code)
                {
                    case "60111"://如果微信上不存在用户,就新建
                        SOAFramework.Library.WeiXin.WeiXinApi.User.Create(new SOAFramework.Library.WeiXin.User
                        {
                            enable = 1,
                            userid = user_temp.Name,
                            name = ui_temp.CnName,
                            mobile = ui_temp.Mobile,
                            weixinid = ui_temp.WX,
                            department = weixinids,
                        });
                        break;
                    default:
                        throw ex;
                }
            }
            #endregion
            return true;
        }
示例#43
0
 public List<FullUser> Query(FullUserQueryForm form)
 {
     ISqlMapper mapper = MapperHelper.GetMapper();
     UserDao dao = new UserDao(mapper);
     User_RoleDao urdao = new User_RoleDao(mapper);
     RoleDao roledao = new RoleDao(mapper);
     var users = dao.QueryFullUser(form);
     var userids = (from u in users select u.ID).ToList();
     var urs = urdao.Query(new User_RoleQueryForm { UserIDs = userids });
     var roleids = (from ur in urs select ur.RoleID).Distinct().ToList();
     var roles = roledao.Query(new RoleQueryForm { IDs = roleids });
     foreach (var u in users)
     {
         u.Roles = (from ur in urs join role in roles on ur.RoleID equals role.ID
                    where ur.UserID.Equals(u.ID) select role).ToList();
     }
     return users;
 }
示例#44
0
 /// <summary>
 /// 查询所有用户
 /// </summary>
 /// <returns></returns>
 public List<FullUser> Query(FullUserQueryForm form)
 {
     ISqlMapper mapper = Common.GetMapperFromSession();
     FullUserDao dao = new FullUserDao(mapper);
     User_RoleDao urdao = new User_RoleDao(mapper);
     RoleDao roledao = new RoleDao(mapper);
     var userlist = dao.Query(form);
     var userids = (from u in userlist select u.ID).ToList();
     var urs = urdao.Query(new User_RoleQueryForm { UserIDs = userids });
     var roleids = (from ur in urs select ur.RoleID).Distinct().ToList();
     var roles = roledao.Query(new RoleQueryForm { IDs = roleids });
     foreach (var u in userlist)
     {
         var ur_temp = urs.FindAll(t => t.UserID == u.ID);
         var rolelist = (from ur in ur_temp join r in roles on ur.RoleID equals r.ID select r).ToList();
         u.RoleList = rolelist;
     }
     return userlist;
 }
 public UserRoleService()
 {
     RoleDao = new RoleDao(context);
     UserDao = new UserDao(context);
 }
示例#46
0
        public void IsUsersInRoleTest()
        {
            var target = new RoleDao();
            string roleName = "role1";
            bool expected = true;
            bool actual;
            actual = target.IsUsesInRole(roleName);
            Assert.AreEqual(expected, actual);

            roleName = "no_exist_role";
            expected = false;
            actual = target.IsUsesInRole(roleName);
            Assert.AreEqual(expected, actual);
        }
示例#47
0
 public UserEntireInfo GetCurrentUser(string token = null)
 {
     ISqlMapper mapper = MapperHelper.GetMapper();
     if (string.IsNullOrEmpty(token)) token = ServiceSession.Current.Context.Parameters["token"].ToString();
     var u = GetUserEntireInfoFromCache(token);
     if (u == null)
     {
         MonitorCache.GetInstance().PushMessage(new CacheMessage { Message = "user is null" }, SOAFramework.Library.CacheEnum.FormMonitor);
         UserDao userdao = new UserDao(mapper);
         RoleDao roledao = new RoleDao(mapper);
         UserInfoDao uidao = new UserInfoDao(mapper);
         LogonHistoryDao lhdao = new LogonHistoryDao(mapper);
         var logonhistory = lhdao.Query(new LogonHistoryQueryForm { Token = token }).FirstOrDefault();
         if (logonhistory == null) throw new Exception("获取当前用户信息时发生错误,用户不存在");
         string userid = logonhistory.UserID;
         var user = userdao.Query(new UserQueryForm { ID = userid }).FirstOrDefault();
         var userinfo = uidao.Query(new UserInfoQueryForm { ID = userid }).FirstOrDefault();
         var roles = roledao.QueryRoleByUserID(userid);
         u = new UserEntireInfo
         {
             User = user,
             Role = roles,
             UserInfo = userinfo,
         };
     }
     return u;
 }
示例#48
0
 public void GetAllTest()
 {
     var target = new RoleDao();
     ReadOnlyCollection<Role> actual;
     actual = target.GetAll();
     Assert.AreEqual(2, actual.Count);
 }
示例#49
0
 public RoleViewProxy()
 {
     RoleDao = new RoleDao(context);
     PermissionDao = new PermissionDao(context);
 }
示例#50
0
 /// <summary>
 /// Initializes a new instance of the RoleSvc class by creating a object of RoleDao class.
 /// </summary>
 public RoleSvc()
 {
     this.roleDao = new RoleDao();
 }
示例#51
0
        /// <summary>
        /// 获得用户角色子级下的所有用户
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public List<string> GetUserSubUserIDs(string userid)
        {
            UserBLL userbll = new UserBLL();
            ISqlMapper mapper = MapperHelper.GetMapper();
            User_RoleDao urdao = new User_RoleDao(mapper);
            RoleDao roledao = new RoleDao(mapper);
            var urs = urdao.Query(new User_RoleQueryForm { UserID = userid });
            List<string> useridlist = new List<string>();
            //检查用户的角色有没有全数据权限
            var roles = roledao.QueryRoleByUserID(userid);
            foreach (var role in roles)
            {
                if (role.DataAccessType == (int)DataAccesssEnum.All) return null;
            }

            useridlist.Add(userid);
            List<Role> list = new List<Role>();
            foreach (var ur in urs)
            {
                list.AddRange(GetAllSubRoles(ur.RoleID));
            }
            var roleids = (from r in list select r.ID).ToList();
            if (roleids.Count == 0) return useridlist;
            var users = urdao.Query(new User_RoleQueryForm { RoleIDs = roleids });
            useridlist.AddRange((from u in users select u.UserID).ToList());
            return useridlist;
        }
示例#52
0
 public void FindAllTest()
 {
     var target = new RoleDao();
     int startRow = 0;
     int pageSize = 1;
     IList<Role> actual;
     actual = target.FindAll(startRow, pageSize);
     Assert.AreEqual(1, actual.Count);
 }
示例#53
0
 public void GetRolesTest()
 {
     var target = new RoleDao();
     var roleId = new[] { "role1", "role2" };
     ReadOnlyCollection<Role> actual;
     actual = target.GetRoles(roleId);
     Assert.AreEqual(2, actual.Count);
 }
示例#54
0
        public string Add(Model.User user, UserInfo ui, List<string> roleidlist)
        {
            #region risk user
            ISqlMapper mapper = Common.GetMapperFromSession();
            if (user == null)
            {
                throw new Exception("user不能为null!");
            }
            UserDao dao = new UserDao(mapper);
            var exist = dao.Query(new UserQueryForm { Name = user.Name });
            if (exist.Count > 0) throw new Exception("已存在用户名:" + user.Name);
            if (string.IsNullOrEmpty(ui.WX) && string.IsNullOrEmpty(ui.Mobile)) throw new Exception("微信号或者手机不能为空");
            string id = dao.Add(user);
            if (ui == null)
            {
                ui = new UserInfo();
            }
            UserInfoDao infodao = new UserInfoDao(mapper);
            ui.ID = id;
            infodao.Add(ui);
            if (roleidlist == null) return id;
            User_RoleDao urdao = new User_RoleDao(mapper);
            foreach (var role in roleidlist)
            {
                User_Role ur = new User_Role { RoleID = role, UserID = user.ID };
                urdao.Add(ur);
            }
            #endregion

            #region weixin user
            RoleDao roledao = new RoleDao(mapper);
            var roles = roledao.Query(new RoleQueryForm { IDs = roleidlist });
            var weixinids = (from r in roles
                             where !string.IsNullOrEmpty(r.WeiXinID)
                             select Convert.ToInt32(r.WeiXinID)).ToArray();
            try
            {
                SOAFramework.Library.WeiXin.WeiXinApi.User.Create(new SOAFramework.Library.WeiXin.User
                {
                    department = weixinids,
                    enable = 1,
                    mobile = ui.Mobile,
                    name = ui.CnName,
                    weixinid = ui.WX,
                    userid = user.Name,
                });
            }
            catch (SOAFramework.Library.WeiXin.WeiXinException ex)
            {
                switch (ex.Code)
                {
                    case "60004":
                    case "60003":
                        foreach (var role in roles)
                        {
                            //部门不存在就新建部门
                            Role parentrole = null;
                            if (!string.IsNullOrEmpty(role.ParentID)) roledao.Query(new RoleQueryForm { ID = role.ParentID }).FirstOrDefault();
                            var department = new SOAFramework.Library.WeiXin.Department
                            {
                                name = role.Name,
                            };
                            if (parentrole != null) department.parentid = parentrole.WeiXinID;
                            var response = SOAFramework.Library.WeiXin.WeiXinApi.Department.Create(department);
                            roledao.Update(new RoleUpdateForm
                            {
                                Entity = new Role { WeiXinID = response.id },
                                RoleQueryForm = new RoleQueryForm { ID = role.ID },
                            });
                        }
                        SOAFramework.Library.WeiXin.WeiXinApi.User.Create(new SOAFramework.Library.WeiXin.User
                        {
                            department = weixinids,
                            enable = 1,
                            mobile = ui.Mobile,
                            name = ui.CnName,
                            weixinid = ui.WX,
                            userid = user.Name,
                        });
                        break;
                    case "60102"://用户已存在
                        SOAFramework.Library.WeiXin.WeiXinApi.User.Update(new SOAFramework.Library.WeiXin.User
                        {
                            department = weixinids,
                            mobile = ui.Mobile,
                            name = ui.CnName,
                            weixinid = ui.WX,
                            userid = user.Name,
                        });
                        break;
                    default:
                        throw ex;
                }
            }
            #endregion
            return id;
        }
示例#55
0
        public bool UpdateRole(AddRoleServiceForm form)
        {
            if (string.IsNullOrEmpty(form.ID))
            {
                throw new Exception("更新角色时没有ID");
            }
            ISqlMapper mapper = Common.GetMapperFromSession();
            RoleDao dao = new RoleDao(mapper);
            Role_Module_ActionDao rmadao = new Role_Module_ActionDao(mapper);
            rmadao.Delete(new Role_Module_ActionQueryForm { RoleID = form.ID });
            AddRoleAuth(mapper, form, form.ID);

            return dao.Update(new RoleUpdateForm
            {
                Entity = new Role
                {
                    LastUpdator = form.LastUpdator,
                    Name = form.Name,
                    ParentID = form.ParentID,
                    Remark = form.Remark,
                    DataAccessType = form.DataAccessType,
                },
                RoleQueryForm = new RoleQueryForm { ID = form.ID },
            });
        }
 public UserleaderWorkflowAuthority()
 {
     ISqlMapper mapper = Common.GetMapperFromSession();
     roledao = new RoleDao(mapper);
     urdao = new User_RoleDao(mapper);
 }
 public RoleViewService()
 {
     RoleDao = new RoleDao(context);
     PermissionDao = new PermissionDao(context);
 }
示例#58
0
 public void GeByNametTest()
 {
     var target = new RoleDao();
     string id = "role1";
     Role actual;
     actual = target.GetByName(id);
     Assert.AreEqual(id, actual.Name);
 }