private static async Task WriteAsync(AdminProject project, Stream stream, CancellationToken cancellationToken)
{
var stringWriter = new StringWriter();
await stringWriter.WriteLineAsync(string.Format("{0},{1},{2},{3},{4},{5},{6}",
project.Id.ToCsvValue(),
project.Name.ToCsvValue(),
project.Created.ToCsvValue(),
project.UserId.ToCsvValue(),
project.UserName.ToCsvValue(),
project.ProductType.ToCsvValue(),
project.Product.ToCsvValue()));
byte[] bytes = Encoding.UTF8.GetBytes(stringWriter.ToString());
await stream.WriteAsync(bytes, 0, bytes.Length, cancellationToken);
await stream.FlushAsync(cancellationToken);
}