Skip to content

Commit a62a959

Browse files
committed
Update the logic associated with the mustUseAdvisory flag in Providers.
1 parent 0e79a93 commit a62a959

3 files changed

Lines changed: 12 additions & 37 deletions

File tree

Code/Sif3Framework/Sif.Framework/Providers/BasicProvider.cs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public override IHttpActionResult Post(List<T> objs, [MatrixParameter] string[]
7070

7171
try
7272
{
73+
bool? mustUseAdvisory = HttpUtils.GetMustUseAdvisory(Request.Headers);
7374

7475
foreach (T obj in objs)
7576
{
@@ -79,37 +80,26 @@ public override IHttpActionResult Post(List<T> objs, [MatrixParameter] string[]
7980

8081
try
8182
{
82-
bool? mustUseAdvisory = HttpUtils.GetMustUseAdvisory(Request.Headers);
8383

84-
if (hasAdvisoryId)
84+
if (mustUseAdvisory.HasValue && mustUseAdvisory.Value == true)
8585
{
8686

87-
if (mustUseAdvisory.HasValue && mustUseAdvisory.Value == true)
87+
if (hasAdvisoryId)
8888
{
8989
status.id = service.Create(obj, mustUseAdvisory, zoneId: (zoneId == null ? null : zoneId[0]), contextId: (contextId == null ? null : contextId[0])).RefId;
9090
status.statusCode = ((int)HttpStatusCode.Created).ToString();
9191
}
9292
else
9393
{
94-
status.error = ProviderUtils.CreateError(HttpStatusCode.BadRequest, typeof(T).Name, "Create request failed as object ID provided (" + obj.RefId + "), but mustUseAdvisory is not specified or is false.");
94+
status.error = ProviderUtils.CreateError(HttpStatusCode.BadRequest, typeof(T).Name, "Create request failed as object ID is not provided, but mustUseAdvisory is true.");
9595
status.statusCode = ((int)HttpStatusCode.BadRequest).ToString();
9696
}
9797

9898
}
9999
else
100100
{
101-
102-
if (mustUseAdvisory.HasValue && mustUseAdvisory.Value == true)
103-
{
104-
status.error = ProviderUtils.CreateError(HttpStatusCode.BadRequest, typeof(T).Name, "Create request failed as object ID is not provided, but mustUseAdvisory is true.");
105-
status.statusCode = ((int)HttpStatusCode.BadRequest).ToString();
106-
}
107-
else
108-
{
109-
status.id = service.Create(obj, zoneId: (zoneId == null ? null : zoneId[0]), contextId: (contextId == null ? null : contextId[0])).RefId;
110-
status.statusCode = ((int)HttpStatusCode.Created).ToString();
111-
}
112-
101+
status.id = service.Create(obj, zoneId: (zoneId == null ? null : zoneId[0]), contextId: (contextId == null ? null : contextId[0])).RefId;
102+
status.statusCode = ((int)HttpStatusCode.Created).ToString();
113103
}
114104

115105
}

Code/Sif3Framework/Sif.Framework/Providers/FunctionalServiceProvider.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,6 @@ public virtual HttpResponseMessage Post([FromUri] string serviceName, [FromUri]
9191
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Service " + serviceName + " does not handle jobs named " + jobName);
9292
}
9393

94-
if (hasAdvisoryId && !mustUseAdvisory)
95-
{
96-
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Request failed for creating job for " + serviceName + " as object ID provided (" + item.id + "), but mustUseAdvisory is not specified or is false.\n" +
97-
!Guid.Empty.ToString().Equals(item.id));
98-
}
99-
10094
if (!hasAdvisoryId && mustUseAdvisory)
10195
{
10296
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Request requires use of advisory id, but none has been supplied.");

Code/Sif3Framework/Sif.Framework/Providers/Provider.cs

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -108,35 +108,26 @@ public virtual IHttpActionResult Post(TSingle obj, [MatrixParameter] string[] zo
108108
bool hasAdvisoryId = !string.IsNullOrWhiteSpace(obj.RefId);
109109
bool? mustUseAdvisory = HttpUtils.GetMustUseAdvisory(Request.Headers);
110110

111-
if (hasAdvisoryId)
111+
if (mustUseAdvisory.HasValue && mustUseAdvisory.Value == true)
112112
{
113113

114-
if (mustUseAdvisory.HasValue && mustUseAdvisory.Value == true)
114+
if (hasAdvisoryId)
115115
{
116116
TSingle createdObject = service.Create(obj, mustUseAdvisory, zoneId: (zoneId == null ? null : zoneId[0]), contextId: (contextId == null ? null : contextId[0]));
117117
string uri = Url.Link("DefaultApi", new { controller = typeof(TSingle).Name, id = createdObject.RefId });
118118
result = Created(uri, createdObject);
119119
}
120120
else
121121
{
122-
result = BadRequest("Request failed for object " + typeof(TSingle).Name + " as object ID provided (" + obj.RefId + "), but mustUseAdvisory is not specified or is false.");
122+
result = BadRequest("Request failed for object " + typeof(TSingle).Name + " as object ID is not provided, but mustUseAdvisory is true.");
123123
}
124124

125125
}
126126
else
127127
{
128-
129-
if (mustUseAdvisory.HasValue && mustUseAdvisory.Value == true)
130-
{
131-
result = BadRequest("Request failed for object " + typeof(TSingle).Name + " as object ID is not provided, but mustUseAdvisory is true.");
132-
}
133-
else
134-
{
135-
TSingle createdObject = service.Create(obj, zoneId: (zoneId == null ? null : zoneId[0]), contextId: (contextId == null ? null : contextId[0]));
136-
string uri = Url.Link("DefaultApi", new { controller = typeof(TSingle).Name, id = createdObject.RefId });
137-
result = Created(uri, createdObject);
138-
}
139-
128+
TSingle createdObject = service.Create(obj, zoneId: (zoneId == null ? null : zoneId[0]), contextId: (contextId == null ? null : contextId[0]));
129+
string uri = Url.Link("DefaultApi", new { controller = typeof(TSingle).Name, id = createdObject.RefId });
130+
result = Created(uri, createdObject);
140131
}
141132

142133
}

0 commit comments

Comments
 (0)