public Definition RegisterParameter(Application application, ISharedParameter parameter) { if (application == null) { throw new ArgumentNullException(nameof(application)); } if (parameter == null) { throw new ArgumentNullException(nameof(parameter)); } Definition result; //TODO: Move to config file string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\JPP Consulting\\Cedar\\SharedParameters.txt"; string directory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\JPP Consulting\\Cedar"; if (!File.Exists(path)) { Directory.CreateDirectory(directory); FileStream fs = File.Create(path); fs.Close(); } string currentPath = application.SharedParametersFilename; application.SharedParametersFilename = path; //Why does disposing the file throw an invalid exception?!?!?!?!?!? /*using (DefinitionFile defFile = _application.OpenSharedParameterFile()) * {*/ DefinitionFile defFile = application.OpenSharedParameterFile(); DefinitionGroup pilingGroup = defFile.Groups.get_Item(parameter.GroupName); if (pilingGroup == null) { pilingGroup = defFile.Groups.Create(parameter.GroupName); } result = pilingGroup.Definitions.get_Item(parameter.Name); if (result == null) { ExternalDefinitionCreationOptions newDefinition = new ExternalDefinitionCreationOptions(parameter.Name, parameter.Type); newDefinition.UserModifiable = parameter.Editable; newDefinition.Description = parameter.Description; newDefinition.GUID = parameter.Id; result = pilingGroup.Definitions.Create(newDefinition); } application.SharedParametersFilename = currentPath; return(result); //} }
private PilingCoordinator(ISharedParameterManager spManager) { _easting = PilingParameter.Easting(spManager); _northing = PilingParameter.Northing(spManager); _cutOff = PilingParameter.CutOff(spManager); _permanentLoad = PilingParameter.PermanentLoad(spManager); _variableLoad = PilingParameter.VariableLoad(spManager); _verticalWindLoad = PilingParameter.VerticalWindLoad(spManager); _horizontalWindLoad = PilingParameter.HorizontalWindLoad(spManager); _warnIsFamilyDocumentId = new FailureDefinitionId(new Guid("2c644284-59fe-4f5c-b8b3-e89977af7d15")); _warnIsFamilyDocumentDef = FailureDefinition.CreateFailureDefinition(_warnIsFamilyDocumentId, FailureSeverity.Warning, Resources.FailureDefinition_WarnIsFamilyMessage); }