コード例 #1
0
        public async Task <OperationResult> UpdateInstalledPlugins(InstalledPluginUpdateModel updateModel)
        {
            try
            {
                var eformPlugin = await _dbContext.EformPlugins
                                  .FirstOrDefaultAsync(x => x.Id == updateModel.Id &&
                                                       x.PluginId == updateModel.PluginId);

                if (eformPlugin == null)
                {
                    return(new OperationDataResult <InstalledPluginsModel>(false,
                                                                           _localizationService.GetString("PluginNotFound")));
                }

                eformPlugin.Status = (int)updateModel.Status;
                _dbContext.EformPlugins.Update(eformPlugin);

                await _dbContext.SaveChangesAsync();

                if (updateModel.Status == PluginStatus.Enabled)
                {
                    await LoadNavigationMenuOfPlugin(updateModel.PluginId);
                }
                else
                {
                    await RemoveNavigationMenuOfPlugin(updateModel.PluginId);
                }

                Program.Restart();

                return(new OperationResult(true));
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                return(new OperationDataResult <InstalledPluginsModel>(false,
                                                                       _localizationService.GetString("ErrorWhileUpdatingPluginSettings")));
            }
        }
コード例 #2
0
 public async Task <OperationResult> UpdateInstalledPlugin([FromBody] InstalledPluginUpdateModel model)
 {
     return(await _pluginsManagementService.UpdateInstalledPlugins(model));
 }