public async Task<Guid> UpdateTaskAsync(TaskModel task)
{
var client = CreateHttpClient();
var jsonFormatter = new JsonMediaTypeFormatter();
var content = new ObjectContent<TaskModel>(task, jsonFormatter);
var response = client.PutAsync(_uri.ToString() + task.Id.ToString(), content).Result;
if (response.StatusCode == HttpStatusCode.Accepted)
return GetOperationId(response);
if (response.StatusCode == HttpStatusCode.BadRequest)
{
//check for model state errors
string responseMessage = await response.Content.ReadAsStringAsync();
//Json Message received from server
//{"Message":"The request is invalid.","ModelState":{"task.Start":["Time must be in the future"],
//"task.End":["Time must be in the future"],"task.CronExpression":["Cron expression is invalid"]}}
if (responseMessage.Contains(SchedulerConstants.Modelstate))
{
throw CreateSchedulerException(responseMessage);
}
else
{
throw new SchedulerException(responseMessage);
}
}
//TODO Is there any scenario code block will reach this?
return Guid.Empty;
}