/// <summary>
/// Renames the Device.
/// </summary>
/// <param name="newName">The new name.</param>
/// <returns></returns>
public async Task <Result> RenameAsync(String newName)
{
if (String.IsNullOrWhiteSpace(newName))
{
throw new ArgumentNullException(nameof(newName));
}
try
{
var result = await cloud.MakePutRequestWithAuthTestAsync($"devices/{Id}", new KeyValuePair <string, string>("name", newName));
if (result.StatusCode == System.Net.HttpStatusCode.OK)
{
var r = result.AsResult();
if (String.IsNullOrWhiteSpace(r.Error))
{
r.Success = true;
ParticleCloud.SyncContext.InvokeIfRequired(() =>
{
Name = newName;
});
}
return(r);
}
else
{
return(result.AsResult());
}
}
catch (HttpRequestException re)
{
return(new Result
{
Success = false,
Error = re.Message,
Exception = re
});
}
}