Exemple #1
0
 public bool ESBIsSourceNameRepeat(IDbConnection cn, string sourceName, SourceTypeEnum sourceType, int sourceId)
 {
     using (SqlCommand cmd = new SqlCommand())
     {
         cmd.Connection = cn as SqlConnection;
         if (sourceId == 0)
         {
             cmd.CommandText = @"SELECT * FROM ESB_SourceInfo WHERE isvalid=1 and sourceType=@sourceType and sourceName=@sourceName";
             cmd.Parameters.Add("@sourceType", SqlDbType.NVarChar).Value = sourceType.ToString();
             cmd.Parameters.Add("@sourceName", SqlDbType.NVarChar).Value = sourceName;
         }
         else
         {
             cmd.CommandText = @"SELECT * FROM ESB_SourceInfo WHERE isvalid=1 and sourceType=@sourceType and sourceName=@sourceName and sourceId<>@sourceId";
             cmd.Parameters.Add("@sourceId", SqlDbType.Int).Value        = sourceId;
             cmd.Parameters.Add("@sourceType", SqlDbType.NVarChar).Value = sourceType.ToString();
             cmd.Parameters.Add("@sourceName", SqlDbType.NVarChar).Value = sourceName;
         }
         bool   flag = true;
         object obj  = cmd.ExecuteScalar();
         if (obj == null)
         {
             flag = false;
         }
         return(flag);
     }
 }
Exemple #2
0
 public Source(SourceTypeEnum typeEnum)
 {
     TypeEnum    = typeEnum;
     Description = string.Empty;
     Name        = string.Empty;
     Parameters  = ParametersDictionary[typeEnum];
 }
Exemple #3
0
        public virtual JObject GetESBObjectParams(HttpContext context)
        {
            YZRequest   request    = new YZRequest(context);
            String      objectName = request.GetString("ESB");
            FlowDataSet dataset    = new FlowDataSet();

            //获取参数
            string[]       strs       = objectName.Split(':');
            SourceTypeEnum sourceType = (SourceTypeEnum)Enum.Parse(typeof(SourceTypeEnum), strs[0]);
            SourceInfo     sourceInfo = SourceInfoManager.GetSourceInfo(sourceType, strs[1]);


            FlowDataTable table = new FlowDataTable();

            dataset.Tables.Add(table);
            SourceVisit       visit     = new SourceVisit(sourceInfo);
            List <ColumnInfo> paramList = visit.GetParameter();

            if (paramList != null && paramList.Count > 0)
            {
                foreach (var item in visit.GetParameter())
                {
                    table.Columns.Add(new FlowDataColumn(item.rename));
                }
            }
            JObject rv = YZJsonHelper.SerializeSchema(dataset, "", "DataType");

            rv["supportOp"] = false;
            return(rv);
        }
        /// <summary>
        /// Get sources by filtering criteria.
        /// </summary>
        public List <ComponentId> GetSources(SourceTypeEnum filteringSourceType, bool partialMatch)
        {
            List <ComponentId> result = new List <ComponentId>();

            SourcesUpdateMessage responce = this.SendAndReceive <SourcesUpdateMessage>(
                new RequestSourcesMessage(filteringSourceType, partialMatch));

            if (responce != null && responce.OperationResult != false && responce.SourcesIds.Count > 0)
            {
                result.AddRange(responce.SourcesIds);
            }

            // Add local sources last, since they are of less interest usually.
            if (_dataStoreSourceInfo.MatchesSearchCritera(filteringSourceType, partialMatch))
            {
                result.Add(_dataStoreSourceInfo.ComponentId);
            }

            if (_backtestingExecutionSourceInfo.MatchesSearchCritera(filteringSourceType, partialMatch))
            {
                result.Add(_backtestingExecutionSourceInfo.ComponentId);
            }

            return(result);
        }
Exemple #5
0
        public bool ESBIsSourceNameRepeat(IDbConnection cn, string sourceName, SourceTypeEnum sourceType, int sourceId)
        {
            using (OracleCommand cmd = new OracleCommand())
            {
                cmd.Connection = cn as OracleConnection;
                cmd.BindByName = true;

                if (sourceId == 0)
                {
                    cmd.CommandText = @"SELECT * FROM ESB_SOURCEINFO WHERE ISVALID=1 AND SOURCETYPE=:SOURCETYPE AND SOURCENAME=:SOURCENAME";
                    cmd.Parameters.Add(":SOURCETYPE", OracleDbType.NVarchar2).Value = sourceType.ToString();
                    cmd.Parameters.Add(":SOURCENAME", OracleDbType.NVarchar2).Value = sourceName;
                }
                else
                {
                    cmd.CommandText = @"SELECT * FROM ESB_SOURCEINFO WHERE ISVALID=1 AND SOURCETYPE=:SOURCETYPE AND SOURCENAME=:SOURCENAME AND SOURCEID<>:SOURCEID";
                    cmd.Parameters.Add(":SOURCEID", OracleDbType.Int32).Value       = sourceId;
                    cmd.Parameters.Add(":SOURCETYPE", OracleDbType.NVarchar2).Value = sourceType.ToString();
                    cmd.Parameters.Add(":SOURCENAME", OracleDbType.NVarchar2).Value = sourceName;
                }
                bool   flag = true;
                object obj  = cmd.ExecuteScalar();
                if (obj == null)
                {
                    flag = false;
                }
                return(flag);
            }
        }
Exemple #6
0
        /// <summary>
        /// Returns an array of the available media types for the specified source type.
        /// </summary>
        /// <returns>An array of the available media types for the specified source type.</returns>
        /// <param name="sourceType">The source to use to pick an image.</param>
        public static NSArray <NSString> AvailableMediaTypesForSourceType(SourceTypeEnum sourceType)
        {
            var ptr     = C.UIImagePickerController_availableMediaTypesForSourceType(sourceType);
            var nsArray = InteropObjectFactory <NSArray <NSString> > .FromPointer(ptr, p => new NSArray <NSString>(p));

            CoreFoundation.CFFunctions.CFRelease(ptr);
            return(nsArray);
        }
Exemple #7
0
 public bool Equals(SourceTypeEnum obj)
 {
     if ((object)obj == null)
     {
         return(false);
     }
     return(StringComparer.OrdinalIgnoreCase.Equals(this.Value, obj.Value));
 }
Exemple #8
0
        /// <summary>
        /// 返回数据连接列表
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public JArray GetConnectList(HttpContext context)
        {
            YZRequest             request    = new YZRequest(context);
            SourceTypeEnum        sourceType = request.GetEnum <SourceTypeEnum>("sourceType");
            JArray                array      = new JArray();
            ConnectInfoCollection rv         = ConnectInfoManager.GetConnectList(sourceType);

            return(JArray.FromObject(rv));
        }
 public ConfigurationWindowViewModel(SourceTypeEnum type)
 {
     base.DisplayName     = Resources.ConfigurationWindowViewModel_DisplayName;
     _source              = new Source(type);
     _configuration       = new DbConnectionHelper();
     ListProviders        = _configuration.GetListProviders();
     _connectionMessenger = new NotificationConnectionMessenger();
     CreateCommand        = new ActionCommand(Create);
 }
Exemple #10
0
 public IDataReader GetESBSourceList(IDbConnection cn, SourceTypeEnum sourceType)
 {
     using (SqlCommand cmd = new SqlCommand())
     {
         cmd.Connection  = cn as SqlConnection;
         cmd.CommandText = @"select * from YZV_ESB_SourceView where isvalid=1 and sourceType=@sourceType order by updateTime desc";
         cmd.Parameters.Add("@sourceType", SqlDbType.NVarChar).Value = sourceType.ToString();
         return(cmd.ExecuteReader());
     }
 }
Exemple #11
0
 public IDataReader GetESBConnectList(IDbConnection cn, SourceTypeEnum connectType)
 {
     using (SqlCommand cmd = new SqlCommand())
     {
         cmd.Connection  = cn as SqlConnection;
         cmd.CommandText = @"SELECT * FROM ESB_ConnectInfo where isvalid=1 and connectType=@connectType";
         cmd.Parameters.Add("@connectType", SqlDbType.NVarChar).Value = connectType.ToString();
         return(cmd.ExecuteReader());
     }
 }
Exemple #12
0
        internal ModulatorType(ushort raw)
        {
            polarity  = ((raw & 0x0200) == 0x0200);
            direction = ((raw & 0x0100) == 0x0100);
            midiContinuousController = ((raw & 0x0080) == 0x0080);
            sourceType = (SourceTypeEnum)((raw & (0xFC00)) >> 10);

            controllerSource = (ControllerSourceEnum)(raw & 0x007F);
            midiContinuousControllerNumber = (ushort)(raw & 0x007F);
        }
Exemple #13
0
 public IDataReader GetESBConnectList(IDbConnection cn, SourceTypeEnum connectType)
 {
     using (OracleCommand cmd = new OracleCommand())
     {
         cmd.Connection  = cn as OracleConnection;
         cmd.BindByName  = true;
         cmd.CommandText = @"SELECT * FROM ESB_CONNECTINFO WHERE ISVALID=1 AND CONNECTTYPE=:CONNECTTYPE";
         cmd.Parameters.Add(":CONNECTTYPE", OracleDbType.NVarchar2).Value = connectType.ToString();
         return(cmd.ExecuteReader());
     }
 }
 public void AddRule(string pattern, DestinationTypeEnum destinationType, SourceTypeEnum sourceType, params object[] parameters)
 {
     addRuleParameters.Add(
         new AddRuleParameters
     {
         Pattern         = pattern,
         DestinationType = destinationType,
         SourceType      = sourceType,
         Parameters      = parameters
     });
 }
Exemple #15
0
		internal ModulatorType(ushort raw)
		{
			// TODO: map this to fields
			polarity = ((raw & 0x0200) == 0x0200);
			direction = ((raw & 0x0100) == 0x0100);
			midiContinuousController = ((raw & 0x0080) == 0x0080);
			sourceType = (SourceTypeEnum) ((raw & (0xFC00)) >> 10);

			controllerSource = (ControllerSourceEnum) (raw & 0x007F);
			midiContinuousControllerNumber = (ushort) (raw & 0x007F);
		}
Exemple #16
0
        /// <summary>
        /// Создает окно для создания нового источника
        /// </summary>

        public void CreateConfigurationView(SourceTypeEnum type)
        {
            var view      = new ConfigurationWindow();
            var viewModel = new ConfigurationWindowViewModel(type);

            if (viewModel.CloseAction == null)
            {
                viewModel.CloseAction = new Action(view.Close);
            }
            view.DataContext = viewModel;
            view.ShowDialog();
        }
Exemple #17
0
        public IDataReader GetESBSourceList(IDbConnection cn, SourceTypeEnum sourceType)
        {
            using (OracleCommand cmd = new OracleCommand())
            {
                cmd.Connection = cn as OracleConnection;
                cmd.BindByName = true;

                cmd.CommandText = @"SELECT * FROM YZV_ESB_SOURCEVIEW WHERE ISVALID=1 AND SOURCETYPE=:SOURCETYPE ORDER BY UPDATETIME DESC";
                cmd.Parameters.Add(":SOURCETYPE", OracleDbType.NVarchar2).Value = sourceType.ToString();
                return(cmd.ExecuteReader());
            }
        }
Exemple #18
0
        /// <summary>
        /// Helper, return information for the modes of a given source.
        /// </summary>
        public SourceTypeEnum GetSourceTypeFlags(ComponentId sourceId)
        {
            SourceTypeEnum result = SourceTypeEnum.None;

            lock (this)
            {
                SourceInfo?info = GetSourceById(sourceId);
                if (info.HasValue)
                {
                    return(info.Value.SourceType);
                }
            }

            return(result);
        }
Exemple #19
0
        private static double CalculateModulator(SourceTypeEnum s, TransformEnum t, DirectionEnum d, PolarityEnum p, int value, int min, int max)
        {
            double output = 0;
            int    i;

            value = value - min;
            max   = max - min;
            if (d == DirectionEnum.MaxToMin)
            {
                value = max - value;
            }
            switch (s)
            {
            case SourceTypeEnum.Linear:
                output = value / max;
                break;

            case SourceTypeEnum.Concave:
                i      = 127 - value;
                output = -(20.0 / 96.0) * Math.Log10((i * i) / (double)(max * max));
                break;

            case SourceTypeEnum.Convex:
                i      = value;
                output = 1 + (20.0 / 96.0) * Math.Log10((i * i) / (double)(max * max));
                break;

            case SourceTypeEnum.Switch:
                if (value <= (max / 2))
                {
                    output = 0;
                }
                else
                {
                    output = 1;
                }
                break;
            }
            if (p == PolarityEnum.Bipolar)
            {
                output = (output * 2) - 1;
            }
            if (t == TransformEnum.AbsoluteValue)
            {
                output = Math.Abs(output);
            }
            return(output);
        }
        /// <summary>
        /// 
        /// </summary>
        public bool MatchesSearchCritera(SourceTypeEnum? filteringSourceType, bool partialMatch)
        {
            if (filteringSourceType.HasValue == false || SourceType == filteringSourceType)
            {// Full match.
                return true;
            }
            else if (partialMatch)
            {// Look for partial match.
                if ((SourceType & filteringSourceType) != 0)
                {
                    return true;
                }
            }

            return false;
        }
        public ModulatorType(BinaryReader reader)
        {
            ushort raw = reader.ReadUInt16();

            if ((raw & 0x0200) == 0x0200)
                polarity = PolarityEnum.Bipolar;
            else
                polarity = PolarityEnum.Unipolar;
            if ((raw & 0x0100) == 0x0100)
                direction = DirectionEnum.MaxToMin;
            else
                direction = DirectionEnum.MinToMax;
            midiContinuousController = ((raw & 0x0080) == 0x0080);
            sourceType = (SourceTypeEnum)((raw & (0xFC00)) >> 10);
            controllerSource = (ushort)(raw & 0x007F);
        }
Exemple #22
0
 /// <summary>
 /// 判断是否有同名数据源
 /// </summary>
 /// <param name="provider"></param>
 /// <param name="cn"></param>
 /// <param name="sourceName"></param>
 /// <param name="sourceType"></param>
 /// <param name="sourceId"></param>
 /// <returns></returns>
 public static bool IsSourceNameRepeat(string sourceName, SourceTypeEnum sourceType, int sourceId)
 {
     try
     {
         using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
         {
             using (IDbConnection cn = provider.OpenConnection())
             {
                 return(provider.ESBIsSourceNameRepeat(cn, sourceName, sourceType, sourceId));
             }
         }
     }
     catch (Exception ex)
     {
         throw new BPMException(BPMExceptionType.DBLoadDataErr, "ESB_SourceInfo", ex.Message);
     }
 }
Exemple #23
0
 public bool ESBIsConnectRepeat(IDbConnection cn, string connectName, SourceTypeEnum connectType)
 {
     using (SqlCommand cmd = new SqlCommand())
     {
         cmd.Connection  = cn as SqlConnection;
         cmd.CommandText = @"SELECT * FROM ESB_ConnectInfo WHERE isvalid=1 and connectType=@connectType and connectName=@connectName";
         cmd.Parameters.Add("@connectType", SqlDbType.NVarChar).Value = connectType.ToString();
         cmd.Parameters.Add("@connectName", SqlDbType.NVarChar).Value = connectName;
         bool   flag = true;
         object obj  = cmd.ExecuteScalar();
         if (obj == null)
         {
             flag = false;
         }
         return(flag);
     }
 }
Exemple #24
0
 public bool ESBIsConnectRepeat(IDbConnection cn, string connectName, SourceTypeEnum connectType)
 {
     using (OracleCommand cmd = new OracleCommand())
     {
         cmd.Connection  = cn as OracleConnection;
         cmd.BindByName  = true;
         cmd.CommandText = @"SELECT * FROM ESB_CONNECTINFO WHERE ISVALID=1 AND CONNECTTYPE=:CONNECTTYPE AND CONNECTNAME=:CONNECTNAME";
         cmd.Parameters.Add(":CONNECTTYPE", OracleDbType.NVarchar2).Value = connectType.ToString();
         cmd.Parameters.Add(":CONNECTNAME", OracleDbType.NVarchar2).Value = connectName;
         bool   flag = true;
         object obj  = cmd.ExecuteScalar();
         if (obj == null)
         {
             flag = false;
         }
         return(flag);
     }
 }
Exemple #25
0
        /// <summary>
        /// 判断数据源名称是否唯一
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public JObject IsSourceNameOnly(HttpContext context)
        {
            YZRequest      request    = new YZRequest(context);
            string         sourceName = request.GetString("sourceName");
            SourceTypeEnum sourceType = request.GetEnum <SourceTypeEnum>("sourceType");
            JObject        obj        = new JObject();
            bool           falg       = SourceInfoManager.IsSourceRepeat(sourceName, sourceType);

            if (falg)
            {
                obj[YZJsonProperty.success]      = false;
                obj[YZJsonProperty.errorMessage] = "已存在同名的数据源,请重命名数据源名称!";
            }
            else
            {
                obj[YZJsonProperty.success] = true;
            }
            return(obj);
        }
Exemple #26
0
        public virtual JObject GetUserDataESB(BPMConnection cn, JObject request)
        {
            string esbObjectName         = (string)request["ESB"];
            YZDSFilterCollection filters = request["Filter"] != null ? request["Filter"].ToObject <YZDSFilterCollection>() : null;

            //获取参数
            string[]                strs       = esbObjectName.Split(':');
            SourceTypeEnum          sourceType = (SourceTypeEnum)Enum.Parse(typeof(SourceTypeEnum), strs[0]);
            SourceInfo              sourceInfo = SourceInfoManager.GetSourceInfo(sourceType, strs[1]);
            SourceVisit             visit      = new SourceVisit(sourceInfo);
            BPMObjectNameCollection names      = new BPMObjectNameCollection();
            List <ColumnInfo>       values     = new List <ColumnInfo>();

            if (filters != null)
            {
                foreach (KeyValuePair <string, YZDSFilter> filter in filters)
                {
                    names.Add(filter.Key);
                    values.Add(new ColumnInfo()
                    {
                        columnName   = filter.Key,
                        defaultValue = filter.Value.value
                    });
                }

                foreach (ColumnInfo column in visit.GetParameter())
                {
                    if (!names.Contains(column.rename))
                    {
                        names.Add(column.rename);
                        values.Add(new ColumnInfo()
                        {
                            columnName   = column.rename,
                            defaultValue = column.defaultValue
                        });
                    }
                }
            }
            DataTable     dt    = visit.GetResult(values);
            FlowDataTable table = new FlowDataTable(dt);

            return(this.ToResult(table, false));
        }
Exemple #27
0
        public virtual DataTable GetESBDataNoPaged(HttpContext context)
        {
            YZRequest            request       = new YZRequest(context);
            string               esbObjectName = request.GetString("ESB");
            YZDSFilterCollection filters       = JObject.Parse(request.GetString("Filter", "{}")).ToObject <YZDSFilterCollection>();

            //获取参数
            string[]                strs       = esbObjectName.Split(':');
            SourceTypeEnum          sourceType = (SourceTypeEnum)Enum.Parse(typeof(SourceTypeEnum), strs[0]);
            SourceInfo              sourceInfo = SourceInfoManager.GetSourceInfo(sourceType, strs[1]);
            SourceVisit             visit      = new SourceVisit(sourceInfo);
            BPMObjectNameCollection names      = new BPMObjectNameCollection();
            List <ColumnInfo>       values     = new List <ColumnInfo>();

            if (filters != null)
            {
                foreach (KeyValuePair <string, YZDSFilter> filter in filters)
                {
                    names.Add(filter.Key);
                    values.Add(new ColumnInfo()
                    {
                        columnName   = filter.Key,
                        defaultValue = filter.Value.value
                    });
                }

                foreach (ColumnInfo column in visit.GetParameter())
                {
                    if (!names.Contains(column.rename))
                    {
                        names.Add(column.rename);
                        values.Add(new ColumnInfo()
                        {
                            columnName   = column.rename,
                            defaultValue = column.defaultValue
                        });
                    }
                }
            }

            return(visit.GetResult(values));
        }
Exemple #28
0
 /// <summary>
 /// 根据名称获取数据源
 /// </summary>
 /// <param name="provider"></param>
 /// <param name="cn"></param>
 /// <param name="sourceId"></param>
 /// <returns></returns>
 public static SourceInfo GetSourceInfo(SourceTypeEnum sourceType, string sourceName)
 {
     try
     {
         using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
         {
             using (IDbConnection cn = provider.OpenConnection())
             {
                 using (YZReader reader = new YZReader(provider.GetESBSourceInfo(cn, sourceType, sourceName)))
                 {
                     return(ReaderToEntity(reader));
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw new BPMException(BPMExceptionType.DBLoadDataErr, "YZV_ESB_SourceView", ex.Message);
     }
 }
Exemple #29
0
 /// <summary>
 /// 返回一个数据连接
 /// </summary>
 /// <param name="provider"></param>
 /// <param name="cn"></param>
 /// <returns></returns>
 public static ConnectInfoCollection GetConnectList(SourceTypeEnum connectType)
 {
     try
     {
         using (IYZDbProvider provider = YZDbProviderManager.DefaultProvider)
         {
             using (IDbConnection cn = provider.OpenConnection())
             {
                 using (YZReader reader = new YZReader(provider.GetESBConnectList(cn, connectType)))
                 {
                     return(ReaderToEntityList(reader));
                 }
             }
         }
     }
     catch (Exception ex)
     {
         throw new BPMException(BPMExceptionType.DBLoadDataErr, "ESB_ConnectInfo", ex.Message);
     }
 }
        public static IAssignment Create(SourceTypeEnum source)
        {
            switch (source)
            {
            case SourceTypeEnum.Value:
                return(new ValueAssignment());

            case SourceTypeEnum.Random:
                return(new RandomAssignment());

            case SourceTypeEnum.Sequence:
                return(new SequenceAssignment());

            case SourceTypeEnum.Array:
                return(new ArrayAssignment());

            default:
                throw new InvalidDataException();
            }
        }
Exemple #31
0
        public virtual JObject GetESBObjectSchema(HttpContext context)
        {
            YZRequest   request    = new YZRequest(context);
            String      objectName = request.GetString("ESB");
            FlowDataSet dataset    = new FlowDataSet();

            //获取参数
            string[]       strs       = objectName.Split(':');
            SourceTypeEnum sourceType = (SourceTypeEnum)Enum.Parse(typeof(SourceTypeEnum), strs[0]);
            SourceInfo     sourceInfo = SourceInfoManager.GetSourceInfo(sourceType, strs[1]);

            FlowDataTable table = new FlowDataTable();

            dataset.Tables.Add(table);
            SourceVisit visit = new SourceVisit(sourceInfo);

            foreach (var item in visit.GetSchema())
            {
                table.Columns.Add(new FlowDataColumn(item.rename, typeof(string)));
            }

            return(YZJsonHelper.SerializeSchema(dataset, "", "DataType"));
        }
        public void FromXml(XmlReader reader)
        {
            var sourceTypeConverter = TypeDescriptor.GetConverter(typeof(SourceTypeEnum));

            if (reader.HasAttributes)
            {
                var text = reader.GetAttribute("index");

                if (!string.IsNullOrEmpty(text))
                {
                    _index = int.Parse(text);
                }

                text = reader.GetAttribute("sourcetype");

                if (!string.IsNullOrEmpty(text))
                {
                    if (sourceTypeConverter.IsValid(text))
                    {
                        _srcType = ( SourceTypeEnum )sourceTypeConverter.ConvertFromString(text);
                    }
                }
            }
        }
Exemple #33
0
        public async Task <Guid> CreatAsync(Guid groupId, int index, string pattern, SourceTypeEnum sourceType, DestinationTypeEnum destinationType = DestinationTypeEnum.Any)
        {
            CreateRuleRequest request = new CreateRuleRequest
            {
                Index           = index,
                Pattern         = pattern,
                SourceType      = sourceType,
                DestinationType = destinationType,
                GroupId         = groupId
            };
            HttpResponseMessage response = await client.PostAsJsonAsync(
                controllerPath, request);

            if (response.IsSuccessStatusCode)
            {
                CreateRuleResponse rule = await response.Content.ReadAsAsync <CreateRuleResponse>();

                return(rule.Id);
            }
            else
            {
                throw new UnauthorizedAccessException($"Unauthorized rule creation at index '{index}' for group '{groupId}'");
            }
        }
 /// <summary>
 /// 
 /// </summary>
 public RequestSourcesMessage(SourceTypeEnum? sourceType, bool partialMatch)
 {
     _sourceType = sourceType;
     _partialMatch = partialMatch;
 }
 /// <summary>
 /// 
 /// </summary>
 public SourceStub(SerializationInfo info, StreamingContext context)
     : base(info, context)
 {
     _sourceType = (SourceTypeEnum)info.GetValue("sourceType", typeof(SourceTypeEnum));
 }
        /// <summary>
        /// Get sources by filtering criteria.
        /// </summary>
        public List<ComponentId> GetSources(SourceTypeEnum filteringSourceType, bool partialMatch)
        {
            List<ComponentId> result = new List<ComponentId>();

            SourcesUpdateMessage responce = this.SendAndReceive<SourcesUpdateMessage>(
               new RequestSourcesMessage(filteringSourceType, partialMatch));

            if (responce != null && responce.OperationResult != false && responce.SourcesIds.Count > 0)
            {
                result.AddRange(responce.SourcesIds);
            }

            // Add local sources last, since they are of less interest usually.
            if (_dataStoreSourceInfo.MatchesSearchCritera(filteringSourceType, partialMatch))
            {
                result.Add(_dataStoreSourceInfo.ComponentId);
            }

            if (_backtestingExecutionSourceInfo.MatchesSearchCritera(filteringSourceType, partialMatch))
            {
                result.Add(_backtestingExecutionSourceInfo.ComponentId);
            }

            return result;
        }
 /// <summary>
 /// 
 /// </summary>
 public RegisterSourceMessage(SourceTypeEnum type, bool register)
 {
     _type = type;
     _register = register;
 }
 /// <summary>
 /// 
 /// </summary>
 public SourceStub(string name, SourceTypeEnum sourceType)
     : base(name, false)
 {
     _sourceType = sourceType;
 }
        /// <summary>
        /// Get source orderInfo, by aplying filter, since more than one source may be on same id, but always from different type.
        /// </summary>
        /// <returns></returns>
        public SourceInfo? GetSourceInfo(ComponentId sourceId, SourceTypeEnum? filter)
        {
            if (sourceId == _dataStoreSourceInfo.ComponentId)
            {
                return _dataStoreSourceInfo;
            }

            if (sourceId == _backtestingExecutionSourceInfo.ComponentId)
            {
                return _backtestingExecutionSourceInfo;
            }

            SourcesUpdateMessage responce = this.SendAndReceive<SourcesUpdateMessage>(
               new GetSourceInfoMessage(sourceId));

            if (responce == null || responce.OperationResult == false
                || responce.Sources.Count < 1)
            {
                return null;
            }

            List<SourceTypeEnum> types = new List<SourceTypeEnum>();
            foreach (SourceInfo info in responce.Sources)
            {
                if (filter.HasValue == false || (info.SourceType & filter.Value) != 0)
                {
                    return info;
                }
            }

            return null;
        }
        /// <summary>
        /// Get the source type for source id, by aplpying filter, since more than one source may be on same id, but always from different type.
        /// </summary>
        public SourceTypeEnum? GetSourceTypeFlags(ComponentId sourceId, SourceTypeEnum? filter)
        {
            SourceInfo? info = GetSourceInfo(sourceId, filter);
            if (info.HasValue)
            {
                return info.Value.SourceType;
            }

            return null;
        }
Exemple #41
0
 private static double CalculateModulator(SourceTypeEnum s, TransformEnum t, DirectionEnum d, PolarityEnum p, int value, int min, int max)
 {
     double output = 0;
     int i;
     value = value - min;
     max = max - min;
     if (d == DirectionEnum.MaxToMin)
         value = max - value;
     switch (s)
     {
         case SourceTypeEnum.Linear:
             output = value / max;
             break;
         case SourceTypeEnum.Concave:
             i = 127 - value;
             output = -(20.0 / 96.0) * Math.Log10((i * i) / (double)(max * max));
             break;
         case SourceTypeEnum.Convex:
             i = value;
             output = 1 + (20.0 / 96.0) * Math.Log10((i * i) / (double)(max * max));
             break;
         case SourceTypeEnum.Switch:
             if (value <= (max / 2))
                 output = 0;
             else
                 output = 1;
             break;
     }
     if (p == PolarityEnum.Bipolar)
         output = (output * 2) - 1;
     if (t == TransformEnum.AbsoluteValue)
         output = Math.Abs(output);
     return output;
 }
        /// <summary>
        /// 
        /// </summary>
        public List<SourceInfo> SearchSources(SourceTypeEnum? filteringSourceType, bool partialMatch)
        {
            List<SourceInfo> result = new List<SourceInfo>();
            lock (this)
            {
                foreach(SourceInfo source in _sources)
                {
                    if (source.MatchesSearchCritera(filteringSourceType, partialMatch))
                    {
                        result.Add(source);
                    }
                }
            }

            return result;
        }
        /// <summary>
        /// 
        /// </summary>
        public bool UnRegister(SourceTypeEnum? sourceType, TransportInfo info)
        {
            lock (this)
            {
                for (int i = _sources.Count - 1; i >= 0; i--)
                {
                    if (_sources[i].ComponentId == info.OriginalSenderId.Value.Id)
                    {
                        if (sourceType.HasValue == false || sourceType.Value == _sources[i].SourceType)
                        {
                            _sources.RemoveAt(i);
                        }
                    }
                }
            }

            return true;
        }
Exemple #44
0
 public EventItem(SourceEnum source, SourceTypeEnum sourceType, string data)
 {
     Data = data;
     Source = source;
     SourceType = sourceType;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 public SourceInfo(ComponentId componentId, SourceTypeEnum sourceType)
 {
     _componentId = componentId;
     _transportInfo = null;
     _sourceType = sourceType;
 }
        public SortedDictionary<int, List<ComponentId>> GetCompatibleOrderExecutionSources(ComponentId dataSourceId, Symbol symbol, SourceTypeEnum sourceType)
        {
            SortedDictionary<int, List<ComponentId>> result = new SortedDictionary<int, List<ComponentId>>();

            if (symbol.IsEmpty || dataSourceId.IsEmpty)
            {
                return result;
            }

            List<ComponentId> candidatesSources = GetSources(sourceType, false);

            foreach (ComponentId id in candidatesSources)
            {
                int compatibilityLevel = 0;
                bool compatible = false;

                SourceTypeEnum? type = GetSourceTypeFlags(id, SourceTypeEnum.OrderExecution);
                if (type.HasValue == false)
                {
                    continue;
                }

                type = type & SourceTypeEnum.BackTesting;
                if (type == SourceTypeEnum.BackTesting)
                {
                    compatibilityLevel = 1;
                    compatible = true;
                }
                else
                {
                    compatible = IsDataSourceSymbolCompatible(id, dataSourceId,
                        symbol, out compatibilityLevel);
                }

                // If componentId has not matched any continue condition, remote it from list.
                if (compatible)
                {
                    if (result.ContainsKey(compatibilityLevel) == false)
                    {
                        result[compatibilityLevel] = new List<ComponentId>();
                    }
                    result[compatibilityLevel].Add(id);
                }
            }

            return result;
        }
 /// <summary>
 /// Constructor.
 /// </summary>
 public SourceInfo(SourceTypeEnum sourceType, TransportInfo info)
 {
     _sourceType = sourceType;
     _transportInfo = info;
     _componentId = _transportInfo.OriginalSenderId.Value.Id;
 }