예제 #1
0
파일: Alert.cs 프로젝트: dreamsql/Outter
        internal void Update(XmlNode node, IQuotationSetterProvider quotationSetterProvider)
        {
            //if (node.Attributes["UserID"] != null)
            //{
            //    this.UserId = Guid.Parse(node.Attributes["UserID"].Value);
            //    AppDebug.LogEvent("TransactionServer", string.Format("Alert.Update new userid={0}", node.Attributes["UserID"].Value), EventLogEntryType.Information);
            //}
            if (node.Attributes["InstrumentID"] != null)
            {
                this.InstrumentId = new Guid(node.Attributes["InstrumentID"].Value);
            }
            if (node.Attributes["Condition"] != null)
            {
                this.Condition = (AlertCondition)(int.Parse(node.Attributes["Condition"].Value));
            }
            if (node.Attributes["ExpirationTime"] != null)
            {
                this.ExpireTime = DateTime.Parse(node.Attributes["ExpirationTime"].Value);
            }

            if (node.Attributes["QuotePolicyID"] != null)
            {
                this.QuotePolicyId = Guid.Parse(node.Attributes["QuotePolicyID"].Value);
            }

            if (node.Attributes["Price"] != null)
            {
                IQuotationSetter setter = quotationSetterProvider.Get(this.InstrumentId);
                this.Price = new Price(node.Attributes["Price"].Value, setter.NumeratorUnit, setter.Denominator);
            }
            this.State = AlertState.Pending;
        }
예제 #2
0
파일: Alert.cs 프로젝트: dreamsql/Outter
        public static Alert Create(IDBRow row, IQuotationSetterProvider quotationSetterProvider)
        {
            Alert alert = new Alert();

            alert.Id            = (Guid)row["ID"];
            alert.UserId        = (Guid)row["UserID"];
            alert.QuotePolicyId = row.GetColumn <Guid?>("QuotePolicyID");
            alert.InstrumentId  = (Guid)row["InstrumentID"];
            alert.Condition     = (AlertCondition)((int)row["Condition"]);
            alert.ExpireTime    = (DateTime)row["ExpirationTime"];
            IQuotationSetter setter = quotationSetterProvider.Get(alert.InstrumentId);

            alert.Price = new Price((string)row["Price"], setter.NumeratorUnit, setter.Denominator);
            alert.State = (AlertState)((int)row["State"]);

            return(alert);
        }
예제 #3
0
파일: Alert.cs 프로젝트: dreamsql/Outter
        public static Alert Create(Guid userId, XmlNode node, IQuotationSetterProvider quotationSetterProvider)
        {
            Alert alert = new Alert();

            alert.Id            = Guid.Parse(node.Attributes["ID"].Value);
            alert.UserId        = userId;
            alert.InstrumentId  = Guid.Parse(node.Attributes["InstrumentID"].Value);
            alert.Condition     = (AlertCondition)(int.Parse(node.Attributes["Condition"].Value));
            alert.ExpireTime    = DateTime.Parse(node.Attributes["ExpirationTime"].Value);
            alert.QuotePolicyId = Guid.Parse(node.Attributes["QuotePolicyID"].Value);
            IQuotationSetter setter = quotationSetterProvider.Get(alert.InstrumentId);

            alert.Price = new Price(node.Attributes["Price"].Value, setter.NumeratorUnit, setter.Denominator);
            alert.State = AlertState.Pending;

            return(alert);
        }
예제 #4
0
 public void Initialize()
 {
     this.quotationSetterProvider = QuoteProvider.Default;
     this.InitializeThreadAndTimer();
 }