diff --git a/Templates/CSharp/Base/EntityRequest.Base.template.tt b/Templates/CSharp/Base/EntityRequest.Base.template.tt index e42fe0416..f9de59105 100644 --- a/Templates/CSharp/Base/EntityRequest.Base.template.tt +++ b/Templates/CSharp/Base/EntityRequest.Base.template.tt @@ -350,7 +350,9 @@ public void AppendUpdateAsyncHeader(string entityName, string lowerCaseEntityNam { stringBuilder.Append(Environment.NewLine); stringBuilder.Append(" /// The for the request."); - } + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" /// Thrown when an object returned in a response is used for updating an object in Microsoft Graph."); + } stringBuilder.Append(Environment.NewLine); stringBuilder.AppendFormat(" /// The updated {0}.", entityName); @@ -390,6 +392,32 @@ public string GetEntityUpdateAsyncMethod(OdcmClass odcmClass, bool initializeCol stringBuilder.AppendFormat(" public async System.Threading.Tasks.Task<{0}> UpdateAsync({0} {1}ToUpdate, CancellationToken cancellationToken)", entityName, lowerCaseEntityName); stringBuilder.Append(Environment.NewLine); stringBuilder.Append(" {"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.AppendFormat(" if ({0}ToUpdate.AdditionalData != null)", lowerCaseEntityName); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" {"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.AppendFormat(" if ({0}ToUpdate.AdditionalData.ContainsKey(Constants.HttpPropertyNames.ResponseHeaders) ||", lowerCaseEntityName); + stringBuilder.Append(Environment.NewLine); + stringBuilder.AppendFormat(" {0}ToUpdate.AdditionalData.ContainsKey(Constants.HttpPropertyNames.StatusCode))", lowerCaseEntityName); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" {"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" throw new ClientException("); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" new Error"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" {"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" Code = GeneratedErrorConstants.Codes.NotAllowed,"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.AppendFormat(" Message = String.Format(GeneratedErrorConstants.Messages.ResponseObjectUsedForUpdate, {0}ToUpdate.GetType().Name)", lowerCaseEntityName); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" });"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" }"); + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" }"); stringBuilder.Append(Environment.NewLine); stringBuilder.AppendFormat(" this.ContentType = \"{0}\";", templateWriter.jsonContentType); stringBuilder.Append(Environment.NewLine); diff --git a/Templates/CSharp/Base/IEntityRequest.Base.template.tt b/Templates/CSharp/Base/IEntityRequest.Base.template.tt index 7e90ae5f0..f5e1b9e49 100644 --- a/Templates/CSharp/Base/IEntityRequest.Base.template.tt +++ b/Templates/CSharp/Base/IEntityRequest.Base.template.tt @@ -274,7 +274,9 @@ public void AppendUpdateAsyncMethodHeader(string entityName, string lowerCaseEnt { stringBuilder.Append(Environment.NewLine); stringBuilder.Append(" /// The for the request."); - } + stringBuilder.Append(Environment.NewLine); + stringBuilder.Append(" /// Thrown when an object returned in a response is used for updating an object in Microsoft Graph."); + } stringBuilder.Append(Environment.NewLine); stringBuilder.AppendFormat(" /// The updated {0}.", entityName);