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);
            }
        }