Exemplo n.º 1
0
        public void OnOperationRecordsUpdate(Win32.OperationRecord win32Record)
        {
            try
            {
                OperationRecord record = new OperationRecord();

                record.RecordID = win32Record.iRecordId;
                record.Symbol   = win32Record.caSymbol;
                DateTime time;
                bool     succ = DateTime.TryParse(win32Record.caRectPeriodBegin, out time);
                if (succ)
                {
                    record.RectPeriodBegin = time;
                }
                succ = DateTime.TryParse(win32Record.caRectPeriodEnd, out time);
                if (succ)
                {
                    record.RectPeriodEnd = time;
                }

                record.UpperBoundary = win32Record.dUpperBoundary;
                record.LowerBoundary = win32Record.dLowerBoundary;
                record.Range         = win32Record.dRange;
                record.Direction     = GetDirection(win32Record.iDirection);

                record.EntryPoint = win32Record.dEntryPoint;
                succ = DateTime.TryParse(win32Record.caEntryTime, out time);
                if (succ)
                {
                    record.EntryTime = time;
                }
                record.EntryReason   = GetEntryReason(win32Record.iEntryReason);
                record.EntryType     = GetEntryExitType(win32Record.iEntryType);
                record.EntryQuantity = win32Record.iEntryQuantity;
                record.EntryStatus   = GetEntryExitStatus(win32Record.iEntryStatus);

                record.ExitPoint = win32Record.dExitPoint;
                succ             = DateTime.TryParse(win32Record.caExitTime, out time);
                if (succ)
                {
                    record.ExitTime = time;
                }
                record.ExitReason   = GetExitReason(win32Record.iExitReason);
                record.ExitType     = GetEntryExitType(win32Record.iExitType);
                record.ExitQuantity = win32Record.iExitQuantity;
                record.ExitStatus   = GetEntryExitStatus(win32Record.iExitStatus);

                record.ProfitLoss = win32Record.ProfitLoss;

                EventAggregator.GetEvent <OperRecordUpdateEvent>().Publish(record);
            }
            catch (System.Exception ex)
            {
                LogManager.Logger.ErrorFormat("Operation Record updating error:{0}", ex.Message);
            }
        }
Exemplo n.º 2
0
        public void UpdateOperationRecord(OperationRecord record)
        {
            OperationRecord existingRec = _records.FirstOrDefault(r => r.RecordID == record.RecordID);

            if (existingRec != null)
            {
                // update
                existingRec.Symbol = record.Symbol;

                existingRec.RectPeriodBegin = record.RectPeriodBegin;
                existingRec.RectPeriodEnd   = record.RectPeriodEnd;
                existingRec.UpperBoundary   = record.UpperBoundary;
                existingRec.LowerBoundary   = record.LowerBoundary;
                existingRec.Range           = record.Range;
                existingRec.Direction       = record.Direction;

                existingRec.EntryPoint    = record.EntryPoint;
                existingRec.EntryTime     = record.EntryTime;
                existingRec.EntryReason   = record.EntryReason;
                existingRec.EntryType     = record.EntryType;
                existingRec.EntryQuantity = record.EntryQuantity;
                existingRec.EntryStatus   = record.EntryStatus;

                existingRec.ExitPoint    = record.ExitPoint;
                existingRec.ExitTime     = record.ExitTime;
                existingRec.ExitReason   = record.ExitReason;
                existingRec.ExitType     = record.ExitType;
                existingRec.ExitQuantity = record.ExitQuantity;
                existingRec.ExitStatus   = record.ExitStatus;

                existingRec.ProfitLoss = record.ProfitLoss;
            }
            else
            {
                // add new one
                _records.Add(record);
            }
        }