Пример #1
0
        protected override void OnProcessOutputSchema(MutableObject newSchema)
        {
            var mut = new MutableObject
            {
                { "Teams", new List <int> {
                      0
                  } },
                { "CSID", 0 }
            };

            InfoTarget.SetValue(mut, newSchema);

            base.OnProcessOutputSchema(newSchema);
        }
Пример #2
0
        private Log()
        {
            var config = new LoggingConfiguration();
            var layout = @"${longdate} ${processid} ${threadid} ${assembly-version} ${level} ${message}${onexception:${newline}${exception:format=tostring}}";

            var fileTarget = new FileTarget();

            config.AddTarget("file", fileTarget);
            fileTarget.FileName                = @"${basedir}/${processname}.log";
            fileTarget.ArchiveFileName         = "${basedir}/logs/${processname}.{#}.log";
            fileTarget.ArchiveNumbering        = ArchiveNumberingMode.Date;
            fileTarget.ArchiveEvery            = FileArchivePeriod.Day;
            fileTarget.ArchiveOldFileOnStartup = true;
            fileTarget.CreateDirs              = true;
            fileTarget.Layout   = layout;
            fileTarget.Encoding = Encoding.UTF8;
            var rule = new LoggingRule("*", LogLevel.Debug, fileTarget);

            config.LoggingRules.Add(rule);

            var consoleTarget = new ColoredConsoleTarget();

            config.AddTarget("console", consoleTarget);
            consoleTarget.Layout = layout;
            var rule2 = new LoggingRule("*", LogLevel.Debug, consoleTarget);

            config.LoggingRules.Add(rule2);

            var viewerTarget = new InfoTarget();

            config.AddTarget("viewer", viewerTarget);
            var rule3 = new LoggingRule("*", LogLevel.Info, viewerTarget);

            config.LoggingRules.Add(rule3);

            LogManager.Configuration   = config;
            LogManager.ThrowExceptions = true;
            Logger = LogManager.GetLogger("default");
            SeparatorImpl("Initialized");
        }
Пример #3
0
        public override IEnumerator ReceivePayload(VisualPayload payload)
        {
            if (!SpoofData.GetFirstValue(payload.Data))
            {
                var binsetId = BinsetIdField.GetFirstValue(payload.Data);

                int        foundCsId;
                List <int> teams;

                if (binsetId > 0)
                {
                    var command = new GetBinsetInfoCommand(binsetId);

                    var commandIterator = CommandProcessor.Execute(command);
                    while (commandIterator.MoveNext())
                    {
                        yield return(null);
                    }


                    switch (command.Type)
                    {
                    case BinsetType.RefPatch:
                        teams = new List <int> {
                            8
                        };
                        break;

                    case BinsetType.Ref:
                        teams = new List <int> {
                            1, 2, 3, 4, 5, 6, 7, 8
                        };
                        break;

                    case BinsetType.Rcs:
                        teams = command.Submissions.Select(s => s.Team).Distinct().OrderBy(v => v).ToList();
                        break;

                    default:
                        throw new Exception("Unknown binset type!");
                    }

                    foundCsId = command.CsId;
                }
                else
                {
                    teams = new List <int> {
                        8
                    };
                    foundCsId = -1;
                }

                var mut = new MutableObject
                {
                    { "Teams", teams },
                    { "CSID", foundCsId }
                };

                InfoTarget.SetValue(mut, payload.Data);
            }
            else
            {
                InfoTarget.SetValue(new List <int> {
                    8
                }, payload.Data);
            }

            var routerIterator = Router.TransmitAll(payload);

            while (routerIterator.MoveNext())
            {
                yield return(null);
            }
        }