public static async Task<string> GenerateHashAsync(Guid diagramId) { var result = string.Empty; using (DocumentDBContext docdb = new DocumentDBContext()) { var id = diagramId.ToString().ToUpperInvariant(); // var doc = await docdb.GetItemAsync<dynamic>(id, DiagramCollection); var input = string.Format("{0}{1}", Guid.NewGuid().ToString(), id.ToString()); var sha = new SHA256CryptoServiceProvider(); var buffer = Encoding.ASCII.GetBytes(input); var hash = sha.ComputeHash(buffer); var hashString = string.Empty; foreach (var b in hash) { hashString += b.ToString("X2"); } var hashResult = new SharedDocumentResult() { Id = hashString, DiagramId = id }; var json = JsonConvert.SerializeObject(hashResult); dynamic success = await docdb.InsertOrUpdateItemAsync(DiagramCollection, json); result = hashResult.Id; } return result; }