/// <summary> /// Create new navigation property to stages for identityGovernance /// <param name="body"></param> /// <param name="requestConfiguration">Configuration for the request such as headers, query parameters, and middleware options.</param> /// </summary> public RequestInformation CreatePostRequestInformation(ApprovalStage body, Action <StagesRequestBuilderPostRequestConfiguration> requestConfiguration = default) { _ = body ?? throw new ArgumentNullException(nameof(body)); var requestInfo = new RequestInformation { HttpMethod = Method.POST, UrlTemplate = UrlTemplate, PathParameters = PathParameters, }; requestInfo.SetContentFromParsable(RequestAdapter, "application/json", body); if (requestConfiguration != null) { var requestConfig = new StagesRequestBuilderPostRequestConfiguration(); requestConfiguration.Invoke(requestConfig); requestInfo.AddRequestOptions(requestConfig.Options); requestInfo.AddHeaders(requestConfig.Headers); } return(requestInfo); }
private void FixupApprovalStage(ApprovalStage previousValue, bool skipKeys = false) { if (IsDeserializing) { return; } if (previousValue != null && previousValue.Logs.Contains(this)) { previousValue.Logs.Remove(this); } if (ApprovalStage != null) { if (!ApprovalStage.Logs.Contains(this)) { ApprovalStage.Logs.Add(this); } ApprovalStageId = ApprovalStage.Id; } else if (!skipKeys) { ApprovalStageId = null; } if (ChangeTracker.ChangeTrackingEnabled) { if (ChangeTracker.OriginalValues.ContainsKey("ApprovalStage") && (ChangeTracker.OriginalValues["ApprovalStage"] == ApprovalStage)) { ChangeTracker.OriginalValues.Remove("ApprovalStage"); } else { ChangeTracker.RecordOriginalValue("ApprovalStage", previousValue); } if (ApprovalStage != null && !ApprovalStage.ChangeTracker.ChangeTrackingEnabled) { ApprovalStage.StartTracking(); } } }