Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
    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);
      }
    }
Esempio n. 4
0
        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);
        }