Esempio n. 1
0
        public PenguinProcessor(IPingConfiguration config, IPenguinRepository penguinRepoi, IPenguinResultsRepository resultsRepo, INotifierFactory notifierFactory, ITransformerFactory transformerfactory)
        {
            _httpClientPinger = new HttpClientPinger(config);
            _urlRepo          = penguinRepoi;
            _resultsRepo      = resultsRepo;

            _transformer = transformerfactory.CreateTransformer();
            _notifier    = notifierFactory.CreateNotifier();
        }
Esempio n. 2
0
        public RootModule(IPenguinRepository penguinRepository, IPenguinResultsRepository resultsRepo)
        {
            _resultsRepo = resultsRepo;
            Get["/"]     = x => new RedirectResponse("/pingowins", RedirectResponse.RedirectType.Temporary);

            Get["/pingowins", true] = async(x, t) =>
            {
                var all = await penguinRepository.GetAll();

                var allPenguinsModel = new PingOwinsModel();
                var pengs            = all.Select(c => new SinglePingOwin {
                    Url = c.Url
                });
                allPenguinsModel.Penguins = pengs;
                return(View["AllPingowins.sshtml", allPenguinsModel]);
            };

            Get["/results", true] = async(x, t) =>
            {
                var filter = this.Bind <ResultsQueryFilter>();

                if (filter == null || filter.Take <= 0)
                {
                    return(new RedirectResponse("/results?skip=0&take=20"));
                }
                var allResults = await _resultsRepo.GetAll(filter.Skip, filter.Take);

                var resultsModel = new PingResultsModel();
                var results      = allResults.Select(c => new SingleResult
                {
                    Url          = c.Url,
                    ResponseTime = c.ResponseTime.ToString(),
                    TimeStamp    = c.TimeStamp?.ToString("yyyy-MM-dd HH:mm:ss") ?? "Undefined"
                });
                resultsModel.Results = results;
                return(View["Results.sshtml", resultsModel]);
            };
        }
Esempio n. 3
0
 public PenguinController(IPenguinRepository penguinRepository)
 {
     _penguinList = penguinRepository ??
                    throw new ArgumentNullException(nameof(penguinRepository));
 }