private bool UpdateViewBindings(ComponentInfoModel model, ComponentModel component) { try { string basePathToComp = _componentSettings.BaseComponentFullDir + "\\" + model.name; string baseViewJson = _componentSettings.BaseComponentFullDir + "\\viewBindings.json"; string readViewSettings = File.ReadAllText(baseViewJson); var info = JsonConvert.DeserializeObject <List <ComponentInfoModel> >(readViewSettings); info.Add(new ComponentInfoModel() { name = component.name, view = component.view }); string newJsonViewSettings = JsonConvert.SerializeObject(info); File.WriteAllText(baseViewJson, newJsonViewSettings); return(true); } catch (Exception ex) { return(false); } }
public ComponentModel GetComponentSettings(ComponentInfoModel component) { string jsonText = File.ReadAllText($"{_componentSettings.BaseComponentFullDir}/{component.name}/settings.json"); var model = Newtonsoft.Json.JsonConvert.DeserializeObject <ComponentModel>(jsonText); return(model); }
public void CopyFrom (TModelAction alias) { if (alias.NotNull ()) { SettingsModel.CopyFrom (alias.SettingsModel); CategoryRelationModel.CopyFrom (alias.CategoryRelationModel); ComponentDescriptorModel.CopyFrom (alias.ComponentDescriptorModel); ComponentInfoModel.CopyFrom (alias.ComponentInfoModel); ComponentStatusModel.CopyFrom (alias.ComponentStatusModel); ComponentRelationModel.CopyFrom (alias.ComponentRelationModel); ExtensionGeometryModel.CopyFrom (alias.ExtensionGeometryModel); ExtensionImageModel.CopyFrom (alias.ExtensionImageModel); ExtensionLayoutModel.CopyFrom (alias.ExtensionLayoutModel); ExtensionNodeModel.CopyFrom (alias.ExtensionNodeModel); ExtensionTextModel.CopyFrom (alias.ExtensionTextModel); ExtensionContentModel.CopyFrom (alias.ExtensionContentModel); } }
public async Task <bool> AddComponentAsync(IFormFile zipFile) { string extractPath = _componentSettings.BaseComponentFullDir + "\\" + Path.GetFileNameWithoutExtension(zipFile.FileName); if (!Directory.Exists(extractPath)) { Directory.CreateDirectory(extractPath); } string zipPath = extractPath + "\\comp.zip"; using (var fileStream = new FileStream(zipPath, FileMode.Create)) { await zipFile.CopyToAsync(fileStream); } using (ZipArchive archive = ZipFile.OpenRead(zipPath)) { foreach (ZipArchiveEntry entry in archive.Entries) { string destinationPath = Path.GetFullPath(Path.Combine(extractPath, entry.FullName)); entry.ExtractToFile(destinationPath, true); } } var compModel = GetComponentSettingsFromFile(extractPath + "\\settings.json"); var compInfo = new ComponentInfoModel() { name = compModel.name, view = compModel.view }; bool infoUpdated = UpdateViewBindings(compInfo, compModel); File.Delete(zipPath); return(true); }