Skip to content

Commit

Permalink
Fixed controller dispatching for IterationsController
Browse files Browse the repository at this point in the history
  • Loading branch information
analogrelay committed May 19, 2012
1 parent f5972d6 commit dd3100f
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions ReviewR.Web/Api/IterationsController.cs
Expand Up @@ -90,8 +90,23 @@ public HttpResponseMessage Delete(int id)
return NoContent();
}

[AcceptVerbs("PUT", "PATCH")]
public HttpResponseMessage PutPublished(int id, bool published)
public HttpResponseMessage Put(int id, bool? published, string diff)
{
if(published != null && !String.IsNullOrEmpty(diff)) {
return BadRequest();
}
else if (published != null)
{
return PutPublished(id, published.Value);
}
else if (!String.IsNullOrEmpty(diff))
{
return PutDiff(id, diff);
}
return BadRequest();
}

internal HttpResponseMessage PutPublished(int id, bool published)
{
Requires.InRange(id >= 0, "id");

Expand All @@ -104,7 +119,7 @@ public HttpResponseMessage PutPublished(int id, bool published)
{
return Forbidden();
}
return Ok(new IterationModel()
return NoContent(new IterationModel()
{
Id = result.Object.Id,
Description = result.Object.Description,
Expand All @@ -113,8 +128,7 @@ public HttpResponseMessage PutPublished(int id, bool published)
});
}

[AcceptVerbs("PUT", "PATCH")]
public HttpResponseMessage PutDiff(int id, string diff)
internal HttpResponseMessage PutDiff(int id, string diff)
{
Requires.InRange(id >= 0, "id");
Requires.NotNullOrEmpty(diff, "diff");
Expand All @@ -128,7 +142,7 @@ public HttpResponseMessage PutDiff(int id, string diff)
{
return Forbidden();
}
return Ok(new IterationModel()
return NoContent(new IterationModel()
{
Id = result.Object.Id,
Description = result.Object.Description,
Expand Down

0 comments on commit dd3100f

Please sign in to comment.