private void UpdateDesignParameters(DesignParameters designParameters) { var settings = new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }; File.WriteAllText("design.settings", JsonConvert.SerializeObject(designParameters, settings)); if (parameters == designParameters) { return; } parameters.HorizontalLever = designParameters.HorizontalLever; parameters.L1 = designParameters.L1; parameters.L2 = designParameters.L2; parameters.Lc = designParameters.Lc; parameters.Lever1 = designParameters.Lever1; parameters.Lever2 = designParameters.Lever2; GetSavedCurrentPositionFromDesignParameters(designParameters); workspaceManager.DesignParametersWorkspace = workspaceManager.RobotWorkspaces.First(); view.SetWorkspaces(workspaceManager.RobotWorkspaces, workspaceManager.ActiveWorkspace != null ? workspaceManager.RobotWorkspaces.IndexOf(workspaceManager.ActiveWorkspace) : 0); SetCurrentPositionOnView(); view.SetZeroPositionState(movement.IsOnZeroPosition(LeverType.Horizontal), movement.IsOnZeroPosition(LeverType.Lever1) && movement.IsOnZeroPosition(LeverType.Lever2)); movement.UpdateLocation(); }