private void VeifyApiClassesAssembly() { if (string.IsNullOrEmpty(ApiClassesFilesPath)) { CurrentStatus = $"API classes file path is empty!"; settings_valid = false; MessageBox.Show("Please specify the file path wher you stored the API classes!"); return; } try { CurrentStatus = $"Verifying the API classes, just a moment..."; Task.Factory.StartNew(() => { DEKafkaMessageParser.InitializeEntityClassesTypes(ApiClassesFilesPath); }).ContinueWith((result) => { if (result.IsCompleted) { CurrentStatus = $"Verification on the API classes has completed, all are good!"; } }); } catch (Exception ex) { settings_valid = false; CurrentStatus = $"API classes initialized failed!"; MessageBox.Show(CurrentStatus + ex.Message); } }
private void OnMessageConsumed(string message) { if (message.Trim().StartsWith($"<{DEKafkaMessageContract.DEKafkaMessage}>")) { var deKafkaMsg = DEKafkaMessageParser.DeSerializeDEKafkaMessage(message); ShowDEKafkaMessageInfo(deKafkaMsg, message); } }
public TableViewModel(string classifierName, string schemaName) { _classifierName = classifierName; _schemaName = schemaName; var propNames = DEKafkaMessageParser.GetPropertiesOfEntityClass(classifierName); columnNameToTypesDict = DEKafkaMessageParser.GetEntityPropertiesTypes(classifierName); foreach (var propName in propNames) { var typeString = columnNameToTypesDict[propName]; if (typeString == "list`1") { continue; } TableColumnViewModel column = new TableColumnViewModel(propName, columnNameToTypesDict[propName]); Columns.Add(column); } _rows.CollectionChanged += Rows_CollectionChanged; }
private Dictionary <string, CellValue> GetBeforeAfterImage(object msgUnit, bool isBefore) { var imageType = isBefore ? DEKafkaMessageContract.BeforeImage : DEKafkaMessageContract.AfterImage; var payload = msgUnit.GetType().GetProperty(DEKafkaMessageContract.Payload).GetValue(msgUnit); var payloadData = payload.GetType().GetProperty(imageType).GetValue(payload); var imageString = payloadData == null ? string.Empty : payloadData.ToString(); object imageData = null; if (!string.IsNullOrEmpty(imageString.Trim())) { imageData = DEKafkaMessageParser.DeserializePayloadData(ClassifierName, imageString); } if (imageData == null) { return(null); } else { Dictionary <string, CellValue> image = new Dictionary <string, CellValue>(); var columns = imageData.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public); foreach (var column in columns) { var dataType = columnNameToTypesDict[column.Name]; string columnValue = string.Empty; var columnValueObj = column.GetValue(imageData); if (columnValueObj != null) { columnValue = column.PropertyType.IsNested ? GetGroupPropertyValue(columnValueObj) : columnValueObj.ToString(); } image[column.Name] = new CellValue() { Value = columnValue.ToString(), ValueType = dataType }; } return(image); } }