Example #1
0
        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;
        }