示例#1
0
        public void delete(MasterFormUserRoleData userRoleView)
        {
            using (var ctx = new ConXContext())
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    UserRole userRole = ctx.UserRoles
                                        .Where(z => z.userRoleId == userRoleView.userRoleId)
                                        .SingleOrDefault();

                    List <UserRoleFunctionAuthorization> functions = ctx.UserRoleFunctionAuthorizations
                                                                     .Where(z => z.userRoleId == userRoleView.userRoleId)
                                                                     .ToList();


                    foreach (UserRoleFunctionAuthorization function in functions)
                    {
                        ctx.UserRoleFunctionAccesses.RemoveRange(ctx.UserRoleFunctionAccesses
                                                                 .Where(z => z.userRoleFunctionAuthorizationId == function.userRoleFunctionAuthorizationId));
                        ctx.SaveChanges();
                    }


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

                    ctx.UserRoles.Remove(userRole);

                    ctx.SaveChanges();

                    scope.Complete();
                }
            }
        }
示例#2
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();
                }
            }
        }
示例#3
0
        public HttpResponseMessage update(MasterFormUserRoleData model)
        {
            try
            {
                userRoleService.updateUserRole(model);

                CommonResponseView res = new CommonResponseView()
                {
                    status  = CommonStatus.SUCCESS,
                    message = "บันทึกข้อมูลสำเร็จ"
                };

                return(Request.CreateResponse(HttpStatusCode.OK, res));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.ToString()));
            }
        }
示例#4
0
        public HttpResponseMessage postDelete(MasterFormUserRoleData model)
        {
            try
            {
                userRoleService.delete(model);

                CommonResponseView res = new CommonResponseView()
                {
                    status  = CommonStatus.SUCCESS,
                    message = "ลบข้อมูลสำเร็จ"
                };

                return(Request.CreateResponse(HttpStatusCode.OK, res));
            }
            catch
            {
                return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "ไม่สามารถลบข้อมูลนี้ได้เนื่องจากถูกใช้งานไปแล้ว"));
            }
        }
示例#5
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();
                }
            }
        }