Exemplo n.º 1
0
        public Request PrepareStepForPlay()
        {
            if (PlayAssociations.Count == 0 && Associations.NonIgnorableCount > 0)
            {
                foreach (int LogId in Associations.LogIds)
                {
                    LogAssociation Asso = Associations.GetAssociation(LogId);
                    if (!Asso.IsIgnorable)
                    {
                        LogReplayAssociation PlayAsso = new LogReplayAssociation(Asso);
                        PlayAssociations.Add(PlayAsso);
                    }
                }
            }

            //LogReplayAssociation PlayAsso = PlayAssociations[CurrentPlayIndex];

            CurrentAssociationBeingPlayed = PlayAssociations[CurrentPlayIndex];

            //LogReplayAssociation PreviousAsso = null;

            PreviousAssociationToOneBeingPlayed = null;
            foreach (LogReplayAssociation PrePlayAsso in PlayAssociations)
            {
                if (PrePlayAsso.OriginalAssociation != null &&
                    PrePlayAsso.OriginalAssociation.DestinationLog != null &&
                    CurrentAssociationBeingPlayed.OriginalAssociation.SourceLog != null &&
                    CurrentAssociationBeingPlayed.OriginalAssociation.SourceLog.LogId == PrePlayAsso.OriginalAssociation.DestinationLog.LogId)
                {
                    PreviousAssociationToOneBeingPlayed = PrePlayAsso;
                }
            }
            //Request Req = GetRequest(CurrentAsso, PreviousAsso);
            CurrentRequestBeingPlayed = GetRequest(CurrentAssociationBeingPlayed, PreviousAssociationToOneBeingPlayed);

            CurrentRequestBeingPlayed.Cookie.RemoveAll();
            CurrentRequestBeingPlayed.SetCookie(Cookies);
            CurrentRequestBeingPlayed.SetSource("LogReplayer");
            if (ReqUpdater != null)
            {
                CurrentRequestBeingPlayed = ReqUpdater(CurrentRequestBeingPlayed, CurrentAssociationBeingPlayed.OriginalAssociation);
            }

            return(CurrentRequestBeingPlayed);
        }