public object ParseRequestData(string rawData, string operationName, DataFromat format) { if (format == DataFromat.Json) { var info = metaInfo.Get(operationName); var data = JsonConvert.DeserializeObject(rawData, info.DataType, jsonSettings); return(data); } throw new NotSupportedException(); }
public Operation Create(string operationName, object data, UserInfo user) { var metaInfo = metaInfoProvider.Get(operationName); var operationInstance = CreateInstance(metaInfo.ClassType); operationInstance.User = user; var dataProperty = metaInfo.ClassType.GetTypeInfo().GetProperty("Data"); dataProperty.SetValue(operationInstance, data); return(operationInstance); }
public object Execute(string operationName, object data, UserInfo user) { try { var meta = metaInfoProvider.Get(operationName); var operationInstance = activator.Create(meta.ClassType); operationInstance.User = user; var dataProperty = meta.ClassType.GetProperty("Data"); dataProperty.SetValue(operationInstance, data); return(ExecuteOperation(operationInstance, meta)); } catch (OperationExecutionException error) { throw error; } catch (Exception error) { log.Error(error); throw new OperationExecutionException(new Error(error), OperationExecutionStatus.InfrastructureErrors); } }