Ejemplo n.º 1
0
        private void TakeRequiredSnapshots()
        {
            try
            {
                if (SnapshotProvider != null)
                {
                    if (SnapshotProvider.EndOfDay.Date == DateTime.Today)   // don't take snapshots on a non-trading day
                    {
                        var snapshotRows = GetStartOfTradingSnapshotsDue();
                        foreach (var row in snapshotRows)
                        {
                            row.StartOfTradingSnapshotTaken = 1;
                            SnapshotProvider.TakeSnapshot(row.AcctName, "StartOfTrading");
                        }

                        snapshotRows = GetEndOfTradingSnapshotsDue();
                        foreach (var row in snapshotRows)
                        {
                            row.EndOfTradingSnapshotTaken = 1;
                            SnapshotProvider.TakeSnapshot(row.AcctName, "EndOfTrading");
                        }

                        if (DateTime.Now > SnapshotProvider.EndOfDay)
                        {
                            snapshotRows = GetEndOfDaySnapshotsDue();
                            foreach (var row in snapshotRows)
                            {
                                row.EndOfDaySnapshotTaken = 1;
                                SnapshotProvider.TakeSnapshot(row.AcctName, "EndOfDay");
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Error("Exception in TakeRequiredSnapshots method", ex);
            }
        }