public IActionResult PutFrontendRole(int?id, [FromBody] FrontendRole frontendRole)
        {
            var frontendRoleFound = this.entityCRUD.GetAll <FrontendRole>(x => x.Id == id).FirstOrDefault();

            if (id != frontendRole.Id || frontendRoleFound.FrontendCode != frontendRole.FrontendCode)
            {
                return(BadRequest());
            }
            if (frontendRoleFound is null)
            {
                return(BadRequest(new ErrorModel
                {
                    Messege = "Không tìm thấy nhóm quyền"
                }));
            }
            else
            {
                frontendRoleFound.Description = frontendRole.Description;
                if (this.entityCRUD.Update <FrontendRole, FrontendRole>(frontendRoleFound, frontendRole).Result)
                {
                    return(Ok(id));
                }
                else
                {
                    return(BadRequest(new ErrorModel
                    {
                        Messege = "Có lỗi xảy ra vui lòng thử lại"
                    }));
                }
            }
        }
        public IActionResult PostFrontendRole([FromBody] FrontendRole frontendRole)
        {
            var frontendRoleFound = this.entityCRUD.GetAll <FrontendRole>(x => x.FrontendCode == frontendRole.FrontendCode).
                                    FirstOrDefault();

            if (frontendRoleFound != null)
            {
                return(BadRequest(new ErrorModel
                {
                    Messege = "Mã quyền FrontEnd đã tồn tại"
                }));
            }
            else
            {
                frontendRole.Id = null;
                if (frontendRole.FrontendCode == 0 || frontendRole.FrontendCode < 0)
                {
                    return(BadRequest(new ErrorModel {
                        Messege = "Mã quyền front end không hợp lệ"
                    }));
                }
                if (this.entityCRUD.Add <FrontendRole>(frontendRole).Result)
                {
                    // Nếu add thành công nhóm quyền frontend mới, thì đồng bộ nhóm quyền Admin
                    var result = this.entityCRUD.Add <RoleActive>(new RoleActive
                    {
                        Id             = null,
                        GroupRoleId    = 2,
                        FrontendRoleId = frontendRole.Id.Value,
                        IsCreate       = true,
                        IsPut          = true,
                        IsDelete       = true,
                        IsView         = true,
                        IsActive       = true
                    }).Result;
                    if (result)
                    {
                        // Nếu thành công khi đồng bộ nhóm admin, thì động bộ tiếp những nhóm quyền còn lại ( quyền false )
                        var listGroupRoleNoAdmin = this.entityCRUD.GetAll <GroupRole>(x => x.Id != 2).ToList();

                        List <RoleActive> newRoleActive = new List <RoleActive>();
                        listGroupRoleNoAdmin.ForEach(item =>
                        {
                            newRoleActive.Add(new RoleActive
                            {
                                FrontendRoleId = frontendRole.Id.Value,
                                GroupRoleId    = item.Id.Value,
                                IsCreate       = false,
                                IsDelete       = false,
                                IsPut          = false,
                                IsView         = false,
                                IsActive       = false
                            });;
                        });
                        if (this.entityCRUD.AddRange <RoleActive>(newRoleActive).Result)
                        {
                            return(Ok());
                        }
                        else
                        {
                            return(BadRequest(new ErrorModel
                            {
                                Messege = "Có lỗi xảy ra vui lòng thử lại"
                            }));
                        }
                    }
                    else
                    {
                        return(BadRequest(new ErrorModel
                        {
                            Messege = "Có lỗi xảy ra vui lòng thử lại"
                        }));
                    }
                }
                else
                {
                    return(BadRequest(new ErrorModel {
                        Messege = "Có lỗi xảy ra vui lòng thử lại"
                    }));
                }
            }
        }