예제 #1
0
        /// <summary>
        /// 请求 所有用户的 信息
        /// </summary>
        /// <param name="users"></param>
        /// <returns></returns>
        public Status getAll(out List <User> users)
        {
            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            users = new List <User>();

            PersonDAO      personDao      = Factory.getInstance <PersonDAO>();
            Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>();

            List <PersonVO> personVolist = personDao.getAll <PersonVO>();

            if (personVolist == null)
            {
                return(Status.NONFOUND);
            }

            //如果角色列表找不到,返回error
            List <RoleForUser> roles;
            Status             rolesForUser_Error = new RoleService().getAllForUser(out roles);

            if (rolesForUser_Error == Status.NONFOUND)
            {
                return(Status.NONFOUND);
            }

            foreach (PersonVO vo in personVolist)
            {
                //如果用户角色关联找不到,返回error
                wherelist.Clear();
                wherelist.Add("personID", vo.personID);
                List <Person_RoleVO> person_roleVolist = person_roleDao.getAll <Person_RoleVO>(wherelist);
                if (person_roleVolist == null)
                {
                    return(Status.DATABASE_CONTENT_ERROR);
                }
                try
                {
                    users.Add(new User
                    {
                        userID         = vo.personID,
                        userName       = vo.personName,
                        userDepartment = vo.personDepartment,
                        userJob        = vo.personJob,
                        //从角色列表中查询对应的角色名称
                        roleName = (roles.Where(role =>
                                                role.roleID == person_roleVolist[0].roleID)
                                    .Select(p => p.roleName))
                                   .ToList().First(),
                        userLevel       = vo.personLevel,
                        userFreezeState = vo.personState
                    });
                }
                catch (Exception e)
                {
                    Log.LogInfo("查询用户列表,填充列表", e);
                    return(Status.SERVER_EXCEPTION);
                }
            }
            return(Status.SUCCESS);
        }
예제 #2
0
        /// <summary>
        /// 更新时,提交 更新用户的 信息
        /// </summary>
        /// <param name="person"></param>
        /// <returns></returns>
        public Status update(UpdateUser user)
        {
            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            PersonDAO      personDao      = Factory.getInstance <PersonDAO>();
            Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>();

            PersonVO personVo = personDao.getOne <PersonVO>(user.userID);

            if (personVo == null)
            {
                return(Status.NONFOUND);
            }

            if (personVo.isAdmin) //不允许修改超级管理员
            {
                return(Status.PERMISSION_DENIED);
            }

            personVo.personName        = user.userName;
            personVo.personDepartment  = user.userDepartment;
            personVo.personJob         = user.userJob;
            personVo.personDescription = user.userDescription;
            personVo.personLevel       = user.userLevel;

            wherelist.Clear();
            wherelist.Add("personName", user.userName);
            wherelist.Add("personDepartment", user.userDepartment);
            wherelist.Add("personJob", user.userJob);
            wherelist.Add("personDescription", user.userDescription);
            wherelist.Add("personLevel", user.userLevel);


            //更新user表
            if (personDao.update(wherelist, user.userID) < 0)//如果失败
            {
                return(Status.NAME_EXIST);
            }

            //更新user_role关联表
            Dictionary <string, object> setlist = new Dictionary <string, object>();

            setlist.Add("roleID", user.roleID);
            wherelist.Clear();
            wherelist.Add("personID", user.userID);
            if (person_roleDao.update(setlist, wherelist) < 0)//如果更新原来的关联失败
            {
                return(Status.DATABASE_OPERATOR_ERROR);
            }

            return(Status.SUCCESS);
        }
예제 #3
0
        /// <summary>
        /// 创建用户
        /// </summary>
        /// <param name="newUser"></param>
        /// <returns></returns>
        public Status create(CreateUser newUser)
        {
            PersonDAO personDao = Factory.getInstance <PersonDAO>();
            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            PersonVO personVo = new PersonVO();

            personVo.personID         = PersonDAO.getID();
            personVo.personName       = newUser.userName;
            personVo.personDepartment = newUser.userDepartment;
            personVo.personJob        = newUser.userJob;
            //默认密码:"123456"
            personVo.personPassword    = "******";
            personVo.personDescription = newUser.userDescription;
            personVo.personLevel       = newUser.userLevel;

            //如果插入用户失败,返回error
            if (personDao.insert <PersonVO>(personVo) < 0)
            {
                return(Status.NAME_EXIST);
            }

            //如果插入用户角色关联失败,则删除之前添加的数据,并返回error
            Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>();

            if (person_roleDao.insert <Person_RoleVO>(
                    new Person_RoleVO
            {
                person_roleID = Person_RoleDAO.getID(),
                personID = personVo.personID,
                roleID = newUser.roleID
            }) < 0)
            {
                personDao.delete(personVo.personID);
                return(Status.NAME_EXIST);
            }

            return(Status.SUCCESS);
        }
예제 #4
0
        /// <summary>
        /// 更新时,请求 指定用户的 信息
        /// </summary>
        /// <param name="person"></param>
        /// <param name="userID"></param>
        /// <returns></returns>
        public Status getOneUpdate(out UpdateUser user, int userID)
        {
            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            user = new UpdateUser();

            PersonDAO      personDao      = Factory.getInstance <PersonDAO>();
            Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>();

            PersonVO personVo = personDao.getOne <PersonVO>(userID);

            if (personVo == null)
            {
                return(Status.NONFOUND);
            }

            //如果用户角色关联找不到,返回error
            wherelist.Clear();
            wherelist.Add("personID", personVo.personID);
            List <Person_RoleVO> person_roleVolist = person_roleDao.getAll <Person_RoleVO>(wherelist);

            if (person_roleVolist == null)
            {
                return(Status.DATABASE_CONTENT_ERROR);
            }


            user.userID          = personVo.personID;
            user.userName        = personVo.personName;
            user.userDepartment  = personVo.personDepartment;
            user.userJob         = personVo.personJob;
            user.userDescription = personVo.personDescription;
            user.roleID          = person_roleVolist[0].roleID; // 现在,用户与角色为 多对一 关系
            user.userLevel       = personVo.personLevel;

            return(Status.SUCCESS);
        }
예제 #5
0
        private void GetDatabaseUserRolesPermissions()
        {
            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            //根据用户名从数据库中填充角色列表和权限列表
            PersonDAO personDao = Factory.getInstance <PersonDAO>();

            wherelist.Add("personName", this.userName);
            PersonVO personVo = personDao.getOne <PersonVO>(wherelist);

            if (personVo == null)
            {
                return;
            }
            this.userID = personVo.personID;

            Person_RoleDAO person_roleDao = Factory.getInstance <Person_RoleDAO>();

            wherelist.Clear();
            wherelist.Add("personID", userID);
            //获取用户、角色关联
            List <Person_RoleVO> person_roleVolist = person_roleDao.getAll <Person_RoleVO>(wherelist);

            if (person_roleVolist == null)
            {
                return;
            }

            foreach (Person_RoleVO person_roleVo in person_roleVolist)
            {
                UserRole userRole = new UserRole();

                userRole.roleID = person_roleVo.roleID;
                RoleDAO roleDAO = Factory.getInstance <RoleDAO>();
                //获取角色信息
                RoleVO roleVo = roleDAO.getOne <RoleVO>(userRole.roleID);
                if (roleVo == null)
                {
                    continue;
                }
                userRole.roleID   = roleVo.roleID;
                userRole.roleName = roleVo.roleName;

                Role_PermissionDAO rolePermissionDAO = Factory.getInstance <Role_PermissionDAO>();

                wherelist.Clear();
                wherelist.Add("roleID", roleVo.roleID);
                //获取角色、权限关联
                List <Role_PermissionVO> role_permissionVolist = rolePermissionDAO.getAll <Role_PermissionVO>(wherelist);
                if (role_permissionVolist == null)
                {
                    continue;
                }

                foreach (Role_PermissionVO role_permissionVo in role_permissionVolist)
                {
                    RolePermission rolePermission = new RolePermission();

                    rolePermission.permissionID = role_permissionVo.permissionID;
                    PermissionDAO permissionDAO = Factory.getInstance <PermissionDAO>();
                    //获取权限信息
                    PermissionVO permissionVo = permissionDAO.getOne <PermissionVO>(role_permissionVo.permissionID);
                    if (permissionVo == null)
                    {
                        continue;
                    }

                    rolePermission.PermissionDescription = permissionVo.permissionDescription;

                    userRole.permissions.Add(rolePermission);
                }
                roles.Add(userRole);
            }
        }
예제 #6
0
        /// <summary>
        /// 须其他程序调用,不能在本程序调用
        /// 添加测试数据
        /// </summary>
        public static void init()
        {
            Log.DebugInfo("测试数据初始化...");

            PersonDAO          personDao          = Factory.getInstance <PersonDAO>();
            RoleDAO            roleDao            = Factory.getInstance <RoleDAO>();
            Person_RoleDAO     person_roleDao     = Factory.getInstance <Person_RoleDAO>();
            PermissionDAO      permissionDao      = Factory.getInstance <PermissionDAO>();
            Role_PermissionDAO role_permissionDao = Factory.getInstance <Role_PermissionDAO>();

            DeviceDAO       deviceDao       = Factory.getInstance <DeviceDAO>();
            MeetingPlaceDAO meetingPlaceDao = Factory.getInstance <MeetingPlaceDAO>();

            MeetingDAO meetingDao = Factory.getInstance <MeetingDAO>();

            DelegateDAO delegateDao = Factory.getInstance <DelegateDAO>();

            AgendaDAO agendaDao = Factory.getInstance <AgendaDAO>();

            FileDAO fileDao = Factory.getInstance <FileDAO>();

            VoteDAO voteDao = Factory.getInstance <VoteDAO>();

            VoteOptionDAO voteOptionDao = Factory.getInstance <VoteOptionDAO>();

            VoteOptionPersonResultDAO voteOptionPersonResultDao = Factory.getInstance <VoteOptionPersonResultDAO>();

            //============================

            voteOptionPersonResultDao.deleteAll_test("voteOptionPersonResult");
            voteOptionDao.deleteAll_test("voteOption");
            voteDao.deleteAll_test("vote");
            fileDao.deleteAll_test("file");
            agendaDao.deleteAll_test("agenda");
            delegateDao.deleteAll_test("delegate");
            meetingDao.deleteAll_test("meeting");

            deviceDao.deleteAll_test("device");
            meetingPlaceDao.deleteAll_test("meetingPlace");

            person_roleDao.deleteAll();
            personDao.deleteAll();

            #region 会议测试数据
            Dictionary <string, object> wherelist = new Dictionary <string, object>();

            Dictionary <string, DeviceVO> devices = new Dictionary <String, DeviceVO>();
            int      deviceNum = 4;
            int[]    deviceIDs = new int[deviceNum];
            string[] IMEIs     = new string[deviceNum];
            for (int i = 0; i < deviceNum; i++)
            {
                deviceIDs[i] = DeviceDAO.getID();
            }
            IMEIs[0] = "862823023300520";
            IMEIs[1] = "862823023301916";
            IMEIs[2] = "359365002515686";
            IMEIs[3] = "862823023300546";

            for (int i = 0; i < deviceNum; i++)
            {
                devices.Add(IMEIs[i],
                            new DeviceVO
                {
                    deviceID    = deviceIDs[i],
                    IMEI        = IMEIs[i],
                    deviceIndex = i + 1,
                    deviceState = 0
                });
            }

            Console.WriteLine("添加设备");

            for (int i = 0; i < devices.Count; i++)
            {
                wherelist.Clear();
                wherelist.Add("IMEI", IMEIs[i]);
                DeviceVO tempVo = deviceDao.getOne <DeviceVO>(wherelist);
                if (tempVo != null)
                {
                    devices[IMEIs[i]] = tempVo;
                    deviceIDs[i]      = tempVo.deviceID;
                    continue;
                }
                Console.WriteLine(deviceDao.insert <DeviceVO>(devices[IMEIs[i]]));
            }



            Dictionary <String, MeetingPlaceVO> meetingPlaces = new Dictionary <string, MeetingPlaceVO>();

            int   meetingPlaceNum = 2;
            int[] meetingPlaceIDs = new int[meetingPlaceNum];

            string[] meetingPlaceNames = new string[meetingPlaceNum];
            for (int i = 0; i < meetingPlaceNum; i++)
            {
                meetingPlaceIDs[i] = MeetingPlaceDAO.getID();
            }
            meetingPlaceNames[0] = "学术会议室";
            meetingPlaceNames[1] = "决策室";

            for (int i = 0; i < meetingPlaceNum; i++)
            {
                meetingPlaces.Add(meetingPlaceNames[i],
                                  new MeetingPlaceVO
                {
                    meetingPlaceID       = meetingPlaceIDs[i],
                    meetingPlaceName     = meetingPlaceNames[i],
                    meetingPlaceCapacity = 200,
                    meetingPlaceState    = 0,
                    seatType             = 0
                });
            }

            //////////////////////////////////
            Console.WriteLine("添加会场及对应的会场类型");
            for (int i = 0; i < meetingPlaceNum; i++)
            {
                Console.WriteLine(meetingPlaceDao.insert <MeetingPlaceVO>(meetingPlaces[meetingPlaceNames[i]]));
            }


            int[]    personIDs   = new int[deviceNum];
            string[] personNames = new string[deviceNum];
            Dictionary <string, PersonVO> persons = new Dictionary <string, PersonVO>();
            for (int i = 0; i < deviceNum; i++)
            {
                personIDs[i] = PersonDAO.getID();
            }
            personNames[0] = "张丰";
            personNames[1] = "李志强";
            personNames[2] = "欧阳致远";
            personNames[3] = "杨棠";

            int personIndex = 0;
            persons.Add(personNames[personIndex],
                        new PersonVO
            {
                personID          = personIDs[personIndex],
                personName        = personNames[personIndex],
                personDepartment  = "董事",
                personJob         = "董事长",
                personDescription = "测试",
                personPassword    = "******",
                personState       = 0,
                personLevel       = 1
            });
            personIndex++;
            persons.Add(personNames[personIndex],
                        new PersonVO
            {
                personID          = personIDs[personIndex],
                personName        = personNames[personIndex],
                personDepartment  = "电子商务部",
                personJob         = "股东",
                personDescription = "测试",
                personPassword    = "******",
                personState       = 0,
                personLevel       = 3
            });
            personIndex++;
            persons.Add(personNames[personIndex],
                        new PersonVO
            {
                personID          = personIDs[personIndex],
                personName        = personNames[personIndex],
                personDepartment  = "财务部",
                personJob         = "股东",
                personDescription = "测试",
                personPassword    = "******",
                personState       = 0,
                personLevel       = 4
            });
            personIndex++;
            persons.Add(personNames[personIndex],
                        new PersonVO
            {
                personID          = personIDs[personIndex],
                personName        = personNames[personIndex],
                personDepartment  = "研发一部",
                personJob         = "股东",
                personDescription = "测试",
                personPassword    = "******",
                personState       = 0,
                personLevel       = 2
            });
            personIndex++;

            //////////////////////////////////////
            Console.WriteLine("添加用户");
            for (int i = 0; i < deviceNum; i++)
            {
                wherelist.Clear();
                wherelist.Add("personName", personNames[i]);
                PersonVO tempVo = personDao.getOne <PersonVO>(wherelist);
                if (tempVo != null)
                {
                    persons[personNames[i]] = tempVo;
                    personIDs[i]            = tempVo.personID;
                    continue;
                }
                Console.WriteLine(personDao.insert <PersonVO>(persons[personNames[i]]));
            }

            int[] person_roleIDs = new int[deviceNum];
            for (int i = 0; i < deviceNum; i++)
            {
                person_roleIDs[i] = Person_RoleDAO.getID();
            }

            List <Person_RoleVO> person_roles = new List <Person_RoleVO>();
            //默认为无权限角色:"成员"角色,roleID=3
            for (int i = 0; i < deviceNum; i++)
            {
                if (i == 3)
                {
                    person_roles.Add(new Person_RoleVO {
                        person_roleID = person_roleIDs[i], roleID = 2, personID = personIDs[i]
                    });
                }
                else
                {
                    person_roles.Add(new Person_RoleVO {
                        person_roleID = person_roleIDs[i], roleID = 3, personID = personIDs[i]
                    });
                }
            }
            Console.WriteLine("添加用户角色关联");
            for (int i = 0; i < deviceNum; i++)
            {
                wherelist.Clear();
                wherelist.Add("personID", personIDs[i]);
                Person_RoleVO tempVo = person_roleDao.getOne <Person_RoleVO>(wherelist);
                if (tempVo != null)
                {
                    continue;
                }
                Console.WriteLine(person_roleDao.insert <Person_RoleVO>(person_roles[i]));
            }

            ///////////////////////////////////////
            Console.WriteLine("添加会议");

            int       meetingID = MeetingDAO.getID();
            MeetingVO meeting   = new MeetingVO();
            meeting.meetingID          = meetingID;
            meeting.meetingPlaceID     = meetingPlaceIDs[0];
            meeting.meetingName        = "二零一六年年度股东大会暨股东扩大会议";
            meeting.meetingSummary     = "";
            meeting.meetingStatus      = 1;
            meeting.meetingStartedTime = (new DateTime(DateTime.Now.AddDays(6).Ticks));
            meeting.meetingToStartTime = (new DateTime(DateTime.Now.AddDays(5).Ticks));
            meeting.meetingDuration    = 150;
            meeting.personID           = 1;

            do
            {
                wherelist.Clear();
                wherelist.Add("meetingName", meeting.meetingName);
                MeetingVO tempVo = meetingDao.getOne <MeetingVO>(wherelist);
                if (tempVo != null)
                {
                    meetingID = tempVo.meetingID;
                    break;
                }
                Console.WriteLine(meetingDao.insert <MeetingVO>(meeting));
            } while (false);

            ////////////////////////////////////////////
            Console.WriteLine("添加参会人员");
            List <DelegateVO> delegates   = new List <DelegateVO>();
            int[]             delegateIDs = new int[deviceNum];

            for (int i = 0; i < deviceNum; i++)
            {
                delegateIDs[i] = DelegateDAO.getID();
            }
            int delegateIndex = 0;
            delegates.Add(
                new DelegateVO
            {
                delegateID        = delegateIDs[delegateIndex],
                deviceID          = deviceIDs[delegateIndex],
                personID          = personIDs[delegateIndex],
                meetingID         = meetingID,
                personMeetingRole = 1,
                isSignIn          = false
            });
            delegateIndex++;
            delegates.Add(
                new DelegateVO
            {
                delegateID        = delegateIDs[delegateIndex],
                deviceID          = deviceIDs[delegateIndex],
                personID          = personIDs[delegateIndex],
                meetingID         = meetingID,
                personMeetingRole = 0,
                isSignIn          = false
            });
            delegateIndex++;
            delegates.Add(
                new DelegateVO
            {
                delegateID        = delegateIDs[delegateIndex],
                deviceID          = deviceIDs[delegateIndex],
                personID          = personIDs[delegateIndex],
                meetingID         = meetingID,
                personMeetingRole = 0,
                isSignIn          = false
            });
            delegateIndex++;
            delegates.Add(
                new DelegateVO
            {
                delegateID        = delegateIDs[delegateIndex],
                deviceID          = deviceIDs[delegateIndex],
                personID          = personIDs[delegateIndex],
                meetingID         = meetingID,
                personMeetingRole = 2,
                isSignIn          = false
            });
            delegateIndex++;
            foreach (DelegateVO vo in delegates)
            {
                Console.WriteLine(delegateDao.insert <DelegateVO>(vo));
            }

            //////////////////////////////////////////
            Console.WriteLine("添加议程");
            int agendaNum = 3;
            Dictionary <int, AgendaVO> agendas = new Dictionary <int, AgendaVO>();
            int[] agendaIDs = new int[agendaNum];
            for (int i = 0; i < agendaNum; i++)
            {
                agendaIDs[i] = AgendaDAO.getID();
            }

            int agendaIndex = 0;
            agendas.Add(agendaIDs[agendaIndex],
                        new AgendaVO
            {
                agendaID       = agendaIDs[agendaIndex],
                agendaIndex    = agendaIndex + 1,
                agendaName     = "普通决议案",
                agendaDuration = 50,
                meetingID      = meetingID,
                personID       = personIDs[3],//主讲人
                isUpdate       = false
            });
            agendaIndex++;
            agendas.Add(agendaIDs[agendaIndex],
                        new AgendaVO
            {
                agendaID       = agendaIDs[agendaIndex],
                agendaIndex    = agendaIndex + 1,
                agendaName     = "具体项目负责人汇报",
                agendaDuration = 50,
                meetingID      = meetingID,
                personID       = personIDs[0],
                isUpdate       = false
            });
            agendaIndex++;
            agendas.Add(agendaIDs[agendaIndex],
                        new AgendaVO
            {
                agendaID       = agendaIDs[agendaIndex],
                agendaIndex    = agendaIndex + 1,
                agendaName     = "特别决议案",
                agendaDuration = 50,
                meetingID      = meetingID,
                personID       = personIDs[0],
                isUpdate       = false
            });
            agendaIndex++;
            for (int i = 0; i < agendaNum; i++)
            {
                Console.WriteLine(agendaDao.insert <AgendaVO>(agendas[agendaIDs[i]]));
            }

            //////////////////////////////////////////
            Console.WriteLine("添加附件");

            //////////////////////////////////////////


            List <VoteVO>       votes        = new List <VoteVO>();
            List <VoteOptionVO> vote1Options = new List <VoteOptionVO>();
            List <VoteOptionVO> vote2Options = new List <VoteOptionVO>();

            int   voteNum = 2;
            int[] voteIDs = new int[voteNum];
            for (int i = 0; i < voteNum; i++)
            {
                voteIDs[i] = VoteDAO.getID();
            }

            int   voteOptionNum  = 4;
            int[] vote1OptionIDs = new int[voteOptionNum];
            int[] vote2OptionIDs = new int[voteOptionNum];
            for (int i = 0; i < 4; i++)
            {
                vote1OptionIDs[i] = VoteOptionDAO.getID();
                vote2OptionIDs[i] = VoteOptionDAO.getID();
            }

            Console.WriteLine("添加表决");
            //表决
            int voteStatus = 0;
            votes.Add(
                new VoteVO
            {
                agendaID        = agendaIDs[2],
                voteID          = voteIDs[0],
                voteName        = "选举董事会成员、监事会成员",
                voteDescription = "选举本公司第二届董事会成员、第二届监事会成员",
                voteIndex       = 1,
                voteStatus      = voteStatus,
                voteType        = 2 //双选
            });

            votes.Add(
                new VoteVO
            {
                agendaID        = agendaIDs[2],
                voteID          = voteIDs[1],
                voteName        = "提请人选的决议",
                voteDescription = "提请公司董事会关于董事长人选的决议",
                voteIndex       = 1,
                voteStatus      = voteStatus,
                voteType        = 1
            });
            vote1Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[0],
                voteOptionID    = vote1OptionIDs[0],
                voteOptionIndex = 0,
                voteOptionName  = "张丰"
            });
            vote1Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[0],
                voteOptionID    = vote1OptionIDs[1],
                voteOptionIndex = 0,
                voteOptionName  = "欧阳致远"
            });
            vote1Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[0],
                voteOptionID    = vote1OptionIDs[2],
                voteOptionIndex = 0,
                voteOptionName  = "杨棠"
            });
            vote1Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[0],
                voteOptionID    = vote1OptionIDs[3],
                voteOptionIndex = 0,
                voteOptionName  = "李志强"
            });

            vote2Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[1],
                voteOptionID    = vote2OptionIDs[0],
                voteOptionIndex = 0,
                voteOptionName  = "张丰"
            });
            vote2Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[1],
                voteOptionID    = vote2OptionIDs[1],
                voteOptionIndex = 0,
                voteOptionName  = "李志强"
            });
            vote2Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[1],
                voteOptionID    = vote2OptionIDs[2],
                voteOptionIndex = 0,
                voteOptionName  = "欧阳致远"
            });
            vote2Options.Add(
                new VoteOptionVO
            {
                voteID          = voteIDs[1],
                voteOptionID    = vote2OptionIDs[3],
                voteOptionIndex = 0,
                voteOptionName  = "杨棠"
            });

            foreach (VoteVO vo in votes)
            {
                Console.WriteLine(voteDao.insert <VoteVO>(vo));
            }

            foreach (VoteOptionVO vo in vote1Options)
            {
                Console.WriteLine(voteOptionDao.insert <VoteOptionVO>(vo));
            }

            foreach (VoteOptionVO vo in vote2Options)
            {
                Console.WriteLine(voteOptionDao.insert <VoteOptionVO>(vo));
            }

            #endregion

            Log.DebugInfo("测试数据初始化结束");
        }
예제 #7
0
        /// <summary>
        /// 此函数必须单独运行,同时停止其他持有数据库的程序的运行,
        /// 防止其他程序对数据库主键产生冲突。
        /// 初始化过程,表中主键ID为人为直接制定
        /// </summary>
        static void reset()
        {
            //==================

            #region  除所有数据
            Queue <String> tableNames = new Queue <string>();
            tableNames.Enqueue("person_role");
            tableNames.Enqueue("role_permission");
            tableNames.Enqueue("role");
            tableNames.Enqueue("permission");
            tableNames.Enqueue("voteOptionPersonResult");
            tableNames.Enqueue("voteOption");
            tableNames.Enqueue("vote");
            tableNames.Enqueue("file");
            tableNames.Enqueue("agenda");
            tableNames.Enqueue("delegate");
            tableNames.Enqueue("meeting");
            tableNames.Enqueue("meetingPlace");
            tableNames.Enqueue("person");
            tableNames.Enqueue("device");
            tableNames.Enqueue("person");
            while (tableNames.Count != 0)
            {
                //删除数据库数据,不使用DAO
                string commandText = "delete from " + tableNames.Dequeue() + ";";
                DBFactory.GetInstance().ExecuteNonQuery(commandText, null);
            }
            #endregion
            /////////////////////////////////////////////////////////////////////////

            #region 初始化数据库表操作对象
            PersonDAO          personDao          = Factory.getInstance <PersonDAO>();
            RoleDAO            roleDao            = Factory.getInstance <RoleDAO>();
            Person_RoleDAO     person_roleDao     = Factory.getInstance <Person_RoleDAO>();
            PermissionDAO      permissionDao      = Factory.getInstance <PermissionDAO>();
            Role_PermissionDAO role_permissionDao = Factory.getInstance <Role_PermissionDAO>();

            DeviceDAO       deviceDao       = Factory.getInstance <DeviceDAO>();
            MeetingPlaceDAO meetingPlaceDao = Factory.getInstance <MeetingPlaceDAO>();

            MeetingDAO meetingDao = Factory.getInstance <MeetingDAO>();

            DelegateDAO delegateDao = Factory.getInstance <DelegateDAO>();

            AgendaDAO agendaDao = Factory.getInstance <AgendaDAO>();

            FileDAO fileDao = Factory.getInstance <FileDAO>();

            VoteDAO voteDao = Factory.getInstance <VoteDAO>();

            VoteOptionDAO voteOptionDao = Factory.getInstance <VoteOptionDAO>();

            VoteOptionPersonResultDAO voteOptionPersonResultDao = Factory.getInstance <VoteOptionPersonResultDAO>();

            #endregion

            #region webServer 系统初始化数据

            #region 添加超级管理员用户
            Console.WriteLine("添加超级管理员用户");

            PersonVO admin   = new PersonVO();
            int      adminID = 1;//超级管理员用户ID固定为1

            admin.personID          = adminID;
            admin.personName        = "超级管理员";
            admin.personDepartment  = "##";
            admin.personJob         = "##";
            admin.personDescription = "***";
            admin.personPassword    = "******";
            admin.personState       = 1;
            admin.isAdmin           = true;

            Console.WriteLine(personDao.insert <PersonVO>(admin));
            #endregion

            #region 角色、权限

            #region 添加系统基本角色 1-超级管理员,2-会议组织者,3-成员
            Console.WriteLine("添加系统基本角色");
            //系统角色,超级管理员角色ID=1,会议组织者=2,成员=3
            int[] roleIDs = new int[3];
            roleIDs[0] = 1;
            roleIDs[1] = 2;
            roleIDs[2] = 3;

            List <RoleVO> roles = new List <RoleVO>();
            roles.Add(new RoleVO {
                roleID = roleIDs[0], roleName = "超级管理员", isIntegrant = true
            });
            roles.Add(new RoleVO {
                roleID = roleIDs[1], roleName = "会议组织者", isIntegrant = true
            });
            roles.Add(new RoleVO {
                roleID = roleIDs[2], roleName = "成员", isIntegrant = true
            });

            foreach (RoleVO vo in roles)
            {
                Console.WriteLine(roleDao.insert <RoleVO>(vo));
            }
            #endregion

            #region 添加权限(超级管理员角色)
            Console.WriteLine("添加权限(超级管理员角色)");

            List <PermissionVO> permissions_admin = new List <PermissionVO>();

            #region 超级管理员角色的权限列表
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "进入管理员首页",
                permissionDescription = "Account-Admin"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "查看会场",
                permissionDescription = "MeetingPlace-GetMeetingPlaces"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "添加会场",
                permissionDescription = "MeetingPlace-CreateMeetingPlace"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新前获取会场",
                permissionDescription = "MeetingPlace-GetMeetingPlaceForUpdate"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新会场",
                permissionDescription = "MeetingPlace-UpdateMeetingPlace"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新会场状态",
                permissionDescription = "MeetingPlace-UpdateMeetingPlaceAvailable"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "查看设备",
                permissionDescription = "Device-GetDevices"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "添加设备",
                permissionDescription = "Device-CreateDevice"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新前获取设备",
                permissionDescription = "Device-GetDeviceForUpdate"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新设备",
                permissionDescription = "Device-UpdateDevice"
            });

            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新设备状态",
                permissionDescription = "Device-UpdateDeviceAvailable"
            });

            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "查看用户",
                permissionDescription = "User-GetUsers"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "添加用户",
                permissionDescription = "User-CreateUser"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新前获取用户",
                permissionDescription = "User-GetUserForUpdate"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新用户",
                permissionDescription = "User-UpdateUser"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "更新用户状态",
                permissionDescription = "User-UpdateUserAvailable"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "导入用户信息",
                permissionDescription = "User-Upload"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "查看权限",
                permissionDescription = "Role-GetPermissions"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "查看角色",
                permissionDescription = "Role-GetRoles"
            });
            //
            permissions_admin.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "创建角色",
                permissionDescription = "Role-CreateRole"
            });



            foreach (PermissionVO vo in permissions_admin)
            {
                Console.WriteLine(permissionDao.insert <PermissionVO>(vo));
            }

            #endregion

            #region 建立超级管理员角色与权限关联
            Console.WriteLine("建立超级管理员角色与权限关联");

            //管理员角色、权限
            List <Role_PermissionVO> role_permissions_admin = new System.Collections.Generic.List <Role_PermissionVO>();
            foreach (PermissionVO permissionVo in permissions_admin)
            {
                role_permissions_admin.Add(
                    new Role_PermissionVO
                {
                    role_permissionID = Role_PermissionDAO.getID(),
                    roleID            = roleIDs[0],
                    permissionID      = permissionVo.permissionID
                });
            }

            foreach (Role_PermissionVO vo in role_permissions_admin)
            {
                Console.WriteLine(role_permissionDao.insert <Role_PermissionVO>(vo));
            }
            #endregion
            #endregion

            #region 添加权限(组织者角色)
            Console.WriteLine("建立权限(组织者角色)");

            List <PermissionVO> permissions_org = new List <PermissionVO>();

            #region 组织者角色的权限列表
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "进入组织者首页",
                permissionDescription = "Account-Organizor"
            });
            #region 会议
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "展示会议",
                permissionDescription = "Meeting-Show_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "添加会议",
                permissionDescription = "Meeting-Add_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "编辑会议",
                permissionDescription = "Meeting-Edit_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "删除会议",
                permissionDescription = "Meeting-Delete_organizor"
            });
            #endregion
            ///=================================================
            #region 参会人员
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "参会人员首页",
                permissionDescription = "Delegate-Index_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "编辑参会人员",
                permissionDescription = "Delegate-Edit_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "添加参会人员",
                permissionDescription = "Delegate-Add_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "删除参会人员",
                permissionDescription = "Delegate-Delete_organizor"
            });
            #endregion
            //===========================================
            #region 议程
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "议程首页",
                permissionDescription = "Agenda-Index_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "添加议程",
                permissionDescription = "Agenda-Add_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "编辑议程",
                permissionDescription = "Agenda-Edit_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "删除议程",
                permissionDescription = "Agenda-Delete_organizor"
            });
            #endregion
            //===========================================
            #region 附件
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "附件首页",
                permissionDescription = "Document-Index_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "上传附件",
                permissionDescription = "Document-Add_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "转换附件",
                permissionDescription = "Document-StartConvert"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "下载附件",
                permissionDescription = "Document-Download"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "删除附件",
                permissionDescription = "Document-Delete_organizor"
            });
            #endregion
            //================================================
            #region 表决
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "表决首页",
                permissionDescription = "Vote-Index_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "添加表决",
                permissionDescription = "Vote-Add_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "编辑表决",
                permissionDescription = "Vote-Edit_organizor"
            });
            //
            permissions_org.Add(
                new PermissionVO
            {
                permissionID          = PermissionDAO.getID(),
                permissionName        = "删除表决",
                permissionDescription = "Vote-Delete_organizor"
            });
            #endregion
            foreach (PermissionVO vo in permissions_org)
            {
                Console.WriteLine(permissionDao.insert <PermissionVO>(vo));
            }

            #endregion
            //==============================================

            #region 组织者角色与权限关联
            Console.WriteLine("建立组织者角色与权限关联");

            //组织者角色、权限
            List <Role_PermissionVO> role_permissions_org = new System.Collections.Generic.List <Role_PermissionVO>();
            foreach (PermissionVO permissionVo in permissions_org)
            {
                role_permissions_org.Add(
                    new Role_PermissionVO
                {
                    role_permissionID = Role_PermissionDAO.getID(),
                    roleID            = roleIDs[1],
                    permissionID      = permissionVo.permissionID
                });
            }

            foreach (Role_PermissionVO vo in role_permissions_org)
            {
                Console.WriteLine(role_permissionDao.insert <Role_PermissionVO>(vo));
            }
            #endregion
            #endregion

            #region 超级管理员用户与超级管理员角色关联
            Console.WriteLine("建立超级管理员用户与超级管理员角色关联");

            int           person_roleID = Person_RoleDAO.getID();
            Person_RoleVO adminPR       = new Person_RoleVO
            {
                person_roleID = person_roleID,
                personID      = adminID,
                roleID        = roleIDs[0]
            };

            Console.WriteLine(person_roleDao.insert <Person_RoleVO>(adminPR));
            #endregion
            #endregion

            #endregion
        }