public async Task <FormComponentModel> BuildCreateFormModelAsync(Guid siteId)
        {
            var result = new FormComponentModel();

            foreach (var roleModel in await _roleManager.GetRoleModelsAsync())
            {
                var permissionModel = new FormComponentModel.PermissionModel
                {
                    RoleId   = roleModel.Id,
                    RoleName = roleModel.Name
                };

                foreach (PermissionType permissionType in Enum.GetValues(typeof(PermissionType)))
                {
                    var disabled = roleModel.Name == Consts.RoleNameAdmin ||
                                   roleModel.Id == Consts.RoleIdAll && !IsReadingPermissionType(permissionType);

                    permissionModel.PermissionTypes.Add(new FormComponentModel.PermissionTypeModel
                    {
                        Type     = permissionType,
                        Selected = roleModel.Name == Consts.RoleNameAdmin,
                        Disabled = disabled
                    });
                }

                result.PermissionSet.Permissions.Add(permissionModel);
            }

            return(result);
        }
Exemplo n.º 2
0
        protected override async Task OnInitializedAsync()
        {
            var requestUri = CategoryId == null
                ? "api/admin/forums/create"
                : $"api/admin/forums/create/{CategoryId}";

            Model = await ApiService.GetFromJsonAsync <FormComponentModel>(requestUri);
        }
Exemplo n.º 3
0
        public async Task <FormComponentModel> BuildEditFormModelAsync(Guid siteId, Guid id)
        {
            var forum = await _dbContext.Forums
                        .FirstOrDefaultAsync(x =>
                                             x.Category.SiteId == siteId &&
                                             x.Id == id &&
                                             x.Status != ForumStatusType.Deleted);

            if (forum == null)
            {
                return(null);
            }

            var result = new FormComponentModel
            {
                Forum = new FormComponentModel.ForumModel
                {
                    Id              = forum.Id,
                    CategoryId      = forum.CategoryId,
                    Name            = forum.Name,
                    Slug            = forum.Slug,
                    Description     = forum.Description,
                    PermissionSetId = forum.PermissionSetId ?? Guid.Empty
                }
            };

            var categories = await _dbContext.Categories
                             .Where(x => x.SiteId == siteId && x.Status != CategoryStatusType.Deleted)
                             .OrderBy(x => x.SortOrder)
                             .ToListAsync();

            foreach (var category in categories)
            {
                result.Categories.Add(new FormComponentModel.CategoryModel
                {
                    Id   = category.Id,
                    Name = category.Name
                });
            }

            var permissionSets = await _dbContext.PermissionSets
                                 .Where(x => x.SiteId == siteId && x.Status == PermissionSetStatusType.Published)
                                 .ToListAsync();

            foreach (var permissionSet in permissionSets)
            {
                result.PermissionSets.Add(new FormComponentModel.PermissionSetModel
                {
                    Id   = permissionSet.Id,
                    Name = permissionSet.Name
                });
            }

            return(result);
        }
        public async Task <FormComponentModel> BuildEditFormModelAsync(Guid siteId, Guid id)
        {
            var result = new FormComponentModel();

            var permissionSet = await _dbContext.PermissionSets
                                .Include(x => x.Permissions)
                                .FirstOrDefaultAsync(x =>
                                                     x.SiteId == siteId &&
                                                     x.Id == id &&
                                                     x.Status != PermissionSetStatusType.Deleted);

            if (permissionSet == null)
            {
                return(null);
            }

            result.PermissionSet = new FormComponentModel.PermissionSetModel
            {
                Id   = permissionSet.Id,
                Name = permissionSet.Name
            };

            foreach (var roleModel in await _roleManager.GetRoleModelsAsync())
            {
                var permissionModel = new FormComponentModel.PermissionModel
                {
                    RoleId   = roleModel.Id,
                    RoleName = roleModel.Name
                };

                foreach (PermissionType permissionType in Enum.GetValues(typeof(PermissionType)))
                {
                    var selected = permissionSet.Permissions
                                   .FirstOrDefault(x => x.Type == permissionType &&
                                                   x.RoleId == roleModel.Id) != null ||
                                   roleModel.Name == Consts.RoleNameAdmin;

                    var disabled = roleModel.Name == Consts.RoleNameAdmin ||
                                   roleModel.Id == Consts.RoleIdAll && !IsReadingPermissionType(permissionType);

                    permissionModel.PermissionTypes.Add(new FormComponentModel.PermissionTypeModel
                    {
                        Type     = permissionType,
                        Selected = selected,
                        Disabled = disabled
                    });
                }

                result.PermissionSet.Permissions.Add(permissionModel);
            }

            return(result);
        }
Exemplo n.º 5
0
        public async Task <IActionResult> GetFormComponentProjects([FromBody] FormComponentModel model)
        {
            if (ModelState.IsValid)
            {
                FormComponent component = _repository.GetFormComponentbyName(model.FormComponentName);

                if (component == null)
                {
                    return(BadRequest("FormComponent doesn't Exist"));
                }

                return(Ok(component.FormComponentProjects));
            }
            return(BadRequest());
        }
Exemplo n.º 6
0
        public async Task <IActionResult> DeleteFormComponent([FromBody] FormComponentModel model)
        {
            if (ModelState.IsValid)
            {
                FormComponent component = _repository.GetFormComponentbyName(model.FormComponentName);

                if (component == null)
                {
                    return(BadRequest("FormComponent doesn't Exist"));
                }
                _repository.DeleteFormComponent(model.FormComponentName);

                return(Ok("FormComponent has been Deleted"));
            }
            return(BadRequest());
        }
Exemplo n.º 7
0
        public async Task <FormComponentModel> BuildFormModelAsync(Guid siteId, Guid?id = null)
        {
            var result = new FormComponentModel();

            var permissionSets = await _dbContext.PermissionSets
                                 .Where(x => x.SiteId == siteId && x.Status == StatusType.Published)
                                 .ToListAsync();

            if (id != null)
            {
                var category = await _dbContext.Categories
                               .FirstOrDefaultAsync(x =>
                                                    x.SiteId == siteId &&
                                                    x.Id == id &&
                                                    x.Status != StatusType.Deleted);

                if (category == null)
                {
                    return(null);
                }

                result.Category = new FormComponentModel.CategoryModel
                {
                    Id              = category.Id,
                    Name            = category.Name,
                    PermissionSetId = category.PermissionSetId
                };
            }
            else
            {
                result.Category = new FormComponentModel.CategoryModel
                {
                    PermissionSetId = permissionSets.FirstOrDefault()?.Id ?? Guid.Empty
                };
            }

            foreach (var permissionSet in permissionSets)
            {
                result.PermissionSets.Add(new FormComponentModel.PermissionSetModel
                {
                    Id   = permissionSet.Id,
                    Name = permissionSet.Name
                });
            }

            return(result);
        }
Exemplo n.º 8
0
        public async Task <FormComponentModel> BuildCreateFormModelAsync(Guid siteId, Guid?categoryId = null)
        {
            var result = new FormComponentModel();

            var categories = await _dbContext.Categories
                             .Where(x => x.SiteId == siteId && x.Status != CategoryStatusType.Deleted)
                             .OrderBy(x => x.SortOrder)
                             .ToListAsync();

            if (!categories.Any())
            {
                throw new ApplicationException("No Categories found.");
            }

            foreach (var category in categories)
            {
                result.Categories.Add(new FormComponentModel.CategoryModel
                {
                    Id   = category.Id,
                    Name = category.Name
                });
            }

            var selectedCategoryId = categoryId ?? categories.FirstOrDefault()?.Id ?? Guid.Empty;

            result.Forum = new FormComponentModel.ForumModel
            {
                CategoryId = selectedCategoryId
            };

            var permissionSets = await _dbContext.PermissionSets
                                 .Where(x => x.SiteId == siteId && x.Status == PermissionSetStatusType.Published)
                                 .ToListAsync();

            foreach (var permissionSet in permissionSets)
            {
                result.PermissionSets.Add(new FormComponentModel.PermissionSetModel
                {
                    Id   = permissionSet.Id,
                    Name = permissionSet.Name
                });
            }

            return(result);
        }
Exemplo n.º 9
0
        public async Task <IActionResult> AddFormComponent([FromBody] FormComponentModel model)
        {
            if (ModelState.IsValid)
            {
                FormComponentType type = _repository.GetFormComponentTypebyTypeName(model.FormComponentTypeName);

                if (type == null)
                {
                    return(BadRequest("Invalid FormComponent Type"));
                }

                FormComponent component = _repository.GetFormComponentbyName(model.FormComponentName);

                if (component != null)
                {
                    return(BadRequest("FormComponent with the same name already Exists"));
                }

                _repository.AddFormComponent(model.FormComponentName, model.FormComponentTypeName);

                return(Ok("FormComponent has been Created"));
            }
            return(BadRequest());
        }
Exemplo n.º 10
0
 protected override async Task OnInitializedAsync()
 {
     Model = await ApiService.GetFromJsonAsync <FormComponentModel>("api/admin/categories/create");
 }
Exemplo n.º 11
0
 protected override async Task OnParametersSetAsync()
 {
     Model = await ApiService.GetFromJsonAsync <FormComponentModel>($"api/admin/permission-sets/edit/{Id}");
 }