コード例 #1
0
        protected override async Task OnInitializedAsync()
        {
            try
            {
                _logId = Int32.Parse(PageState.QueryString["id"]);
                var log = await LogService.GetLogAsync(_logId);

                if (log != null)
                {
                    _logDate  = log.LogDate.ToString(CultureInfo.CurrentCulture);
                    _level    = log.Level;
                    _feature  = log.Feature;
                    _function = log.Function;
                    _category = log.Category;

                    if (log.PageId != null)
                    {
                        var page = await PageService.GetPageAsync(log.PageId.Value);

                        if (page != null)
                        {
                            _pageName = page.Name;
                        }
                    }

                    if (log.PageId != null && log.ModuleId != null)
                    {
                        var pagemodule = await PageModuleService.GetPageModuleAsync(log.PageId.Value, log.ModuleId.Value);

                        if (pagemodule != null)
                        {
                            _moduleTitle = pagemodule.Title;
                        }
                    }

                    if (log.UserId != null)
                    {
                        var user = await UserService.GetUserAsync(log.UserId.Value, PageState.Site.SiteId);

                        if (user != null)
                        {
                            _username = user.Username;
                        }
                    }

                    _url        = log.Url;
                    _template   = log.MessageTemplate;
                    _message    = log.Message;
                    _exception  = log.Exception;
                    _properties = log.Properties;
                    _server     = log.Server;
                }
            }
            catch (Exception ex)
            {
                await logger.LogError(ex, "Error Loading Log {LogId} {Error}", _logId, ex.Message);

                AddModuleMessage("Error Loading Log", MessageType.Error);
            }
        }
コード例 #2
0
        protected async Task ModuleAction(ActionViewModel action)
        {
            if (PageState.EditMode && UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, ModuleState.Permissions))
            {
                PageModule pagemodule = await PageModuleService.GetPageModuleAsync(ModuleState.PageModuleId);

                string url = NavigateUrl(true);

                if (action.Action != null)
                {
                    url = await action.Action(url, pagemodule);
                }

                NavigationManager.NavigateTo(url);
            }
        }
コード例 #3
0
        private async Task RestoreModule(Module module)
        {
            try
            {
                var pagemodule = await PageModuleService.GetPageModuleAsync(module.PageModuleId);

                pagemodule.IsDeleted = false;
                await PageModuleService.UpdatePageModuleAsync(pagemodule);

                await logger.LogInformation("Module Restored {Module}", module);
                await Load();

                StateHasChanged();
            }
            catch (Exception ex)
            {
                await logger.LogError(ex, "Error Restoring Deleted Module {Module} {Error}", module, ex.Message);

                AddModuleMessage("Error Restoring Deleted Module", MessageType.Error);
            }
        }
コード例 #4
0
        private async Task SaveModule()
        {
            var pagemodule = await PageModuleService.GetPageModuleAsync(ModuleState.PageModuleId);

            pagemodule.PageId        = int.Parse(_pageId);
            pagemodule.Title         = _title;
            pagemodule.ContainerType = (_containerType != "-") ? _containerType : string.Empty;
            if (!string.IsNullOrEmpty(pagemodule.ContainerType) && pagemodule.ContainerType == PageState.Page.DefaultContainerType)
            {
                pagemodule.ContainerType = string.Empty;
            }
            if (!string.IsNullOrEmpty(pagemodule.ContainerType) && pagemodule.ContainerType == PageState.Site.DefaultContainerType)
            {
                pagemodule.ContainerType = string.Empty;
            }
            await PageModuleService.UpdatePageModuleAsync(pagemodule);

            await PageModuleService.UpdatePageModuleOrderAsync(pagemodule.PageId, pagemodule.Pane);

            var module = ModuleState;

            module.AllPages    = bool.Parse(_allPages);
            module.Permissions = _permissionGrid.GetPermissions();
            await ModuleService.UpdateModuleAsync(module);

            if (_settingsModuleType != null)
            {
                var moduleType = Type.GetType(ModuleState.ModuleType);
                if (moduleType != null)
                {
                    moduleType.GetMethod("UpdateSettings")?.Invoke(_settings, null); // method must be public in settings component
                }
            }

            NavigationManager.NavigateTo(NavigateUrl());
        }