Exemple #1
0
        public void createUserRole(MasterFormUserRoleData data)
        {
            using (var ctx = new ConXContext())
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    UserRole userRole = new UserRole()
                    {
                        roleName       = data.roleName,
                        isPC           = data.isPC,
                        createUser     = data.createUser,
                        createDatetime = DateTime.Now,
                        updateDatetime = DateTime.Now,
                        updateUser     = data.createUser,
                        status         = "A"
                    };

                    userRole.userRoleFunctionAuthorizationList = new List <UserRoleFunctionAuthorization>();

                    string functionId = "";
                    UserRoleFunctionAuthorization functionAuth = new UserRoleFunctionAuthorization();

                    foreach (MasterFormUserRoleFunctionData function in data.functions)
                    {
                        if (!functionId.Equals(function.functionId))
                        {
                            functionId = function.functionId;

                            functionAuth = new UserRoleFunctionAuthorization()
                            {
                                menuFunctionId = function.functionId,
                                createDatetime = DateTime.Now,
                                createUser     = data.createUser
                            };

                            functionAuth.userRoleFunctionAccessList = new List <UserRoleFunctionAccess>();

                            userRole.userRoleFunctionAuthorizationList.Add(functionAuth);
                        }

                        UserRoleFunctionAccess action = new UserRoleFunctionAccess()
                        {
                            menuFunctionActionId = function.actionId,
                            createDatetime       = DateTime.Now,
                            createUser           = data.createUser
                        };

                        functionAuth.userRoleFunctionAccessList.Add(action);
                    }

                    ctx.UserRoles.Add(userRole);
                    ctx.SaveChanges();
                    scope.Complete();
                }
            }
        }
Exemple #2
0
        public void updateUserRole(MasterFormUserRoleData data)
        {
            using (var ctx = new ConXContext())
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    ctx.UserRoleFunctionAccesses.RemoveRange(
                        ctx.UserRoleFunctionAccesses
                        .Include("userRoleFunctionAuthorization")
                        .Where(z => z.userRoleFunctionAuthorization.userRoleId == data.userRoleId)
                        );

                    ctx.UserRoleFunctionAuthorizations.RemoveRange(ctx.UserRoleFunctionAuthorizations.Where(z => z.userRoleId == data.userRoleId));
                    ctx.SaveChanges();


                    UserRole userRole = ctx.UserRoles.Where(z => z.userRoleId == data.userRoleId).SingleOrDefault();


                    string functionId = "";
                    List <UserRoleFunctionAuthorization> functionAuthList = new List <UserRoleFunctionAuthorization>();
                    UserRoleFunctionAuthorization        functionAuth     = new UserRoleFunctionAuthorization();

                    foreach (MasterFormUserRoleFunctionData function in data.functions)
                    {
                        if (!functionId.Equals(function.functionId))
                        {
                            functionId = function.functionId;

                            functionAuth = new UserRoleFunctionAuthorization()
                            {
                                userRoleId     = userRole.userRoleId,
                                menuFunctionId = function.functionId,
                                createDatetime = DateTime.Now,
                                createUser     = data.createUser
                            };

                            functionAuth.userRoleFunctionAccessList = new List <UserRoleFunctionAccess>();

                            ctx.UserRoleFunctionAuthorizations.Add(functionAuth);
                        }

                        UserRoleFunctionAccess action = new UserRoleFunctionAccess()
                        {
                            menuFunctionActionId = function.actionId,
                            createDatetime       = DateTime.Now,
                            createUser           = data.createUser
                        };

                        functionAuth.userRoleFunctionAccessList.Add(action);
                    }


                    userRole.roleName       = data.roleName;
                    userRole.updateDatetime = DateTime.Now;
                    userRole.updateUser     = data.createUser;
                    userRole.status         = data.status;

                    ctx.SaveChanges();

                    scope.Complete();
                }
            }
        }