private T Deserialize <T>(Message message) { var reader = new StreamReader(message.BodyStream, Encoding.UTF8); var json = reader.ReadToEnd(); return(OneTrueSerializer.Deserialize <T>(json)); }
public SimilaritiesReport FindForIncident(int incidentId) { using (var cmd = _uow.CreateCommand()) { cmd.CommandText = @"select Id, Name, Properties from IncidentContextCollections where IncidentId = @incidentId"; cmd.AddParameter("incidentId", incidentId); var collections = new List <App.Modules.Similarities.Domain.SimilarityCollection>(); using (var reader = cmd.ExecuteReader()) { while (reader.Read()) { var json = (string)reader["Properties"]; var properties = OneTrueSerializer.Deserialize <ContextCollectionPropertyDbEntity[]>(json); var col = new App.Modules.Similarities.Domain.SimilarityCollection(incidentId, reader.GetString(1)); col.SetId(reader.GetInt32(0)); foreach (var entity in properties) { var prop = new Similarity(entity.Name); prop.LoadValues( entity.Values.Select(x => new SimilarityValue(x.Value, x.Percentage, x.Count)).ToArray()); col.Properties.Add(prop); } collections.Add(col); } } return(collections.Count == 0 ? null : new SimilaritiesReport(incidentId, collections)); } }
public object Receive() { var msg = _queue.Receive(); var reader = new StreamReader(msg.BodyStream, Encoding.UTF8); var json = reader.ReadToEnd(); var metadata = MetadataHeader.Deserialize(msg); var type = Type.GetType(metadata.AssemblyQualifiedTypeName); if (type == null) { throw new NotSupportedException("Failed to get type class from string '" + metadata.AssemblyQualifiedTypeName + "'."); } return(OneTrueSerializer.Deserialize(json, type)); }
public async Task <GetSimilaritiesResult> ExecuteAsync(GetSimilarities query) { using (var cmd = _unitOfWork.CreateDbCommand()) { cmd.CommandText = @"select Name, Properties from IncidentContextCollections where IncidentId = @incidentId"; cmd.AddParameter("incidentId", query.IncidentId); var collections = new List <GetSimilaritiesCollection>(); using (var reader = await cmd.ExecuteReaderAsync()) { while (await reader.ReadAsync()) { var json = (string)reader["Properties"]; var properties = OneTrueSerializer.Deserialize <ContextCollectionPropertyDbEntity[]>(json); var col = new GetSimilaritiesCollection { Name = reader.GetString(0) }; col.Similarities = (from prop in properties let values = prop.Values.Select(x => new GetSimilaritiesValue(x.Value, x.Percentage, x.Count)) select new GetSimilaritiesSimilarity(prop.Name) { Values = values.ToArray() } ).ToArray(); collections.Add(col); } } return(new GetSimilaritiesResult { Collections = collections.ToArray() }); } }