Exemplo n.º 1
0
        public async Task <IActionResult> Zodiac(string key = "", int numberOfCalls = 50)
        {
            if (key != "112fbd24-5680-4c60-9a46-fa68c4b915e5")
            {
                throw new Exception("Zodiac requires an Api Key");
            }


            const string baseUrl    = "https://limone-api.azurewebsites.net/api/";
            const string scorpioUrl = "https://scorpio-api.azurewebsites.net/api/";
            var          vm         = new ZodiacViewModel();
            string       lastGuid   = "";

            string[]      pageMaster = { "aries", "cancer", "taurus", "gemini", "leo", "virgo", "libra", "scorpio", "sagittarius", "capricorn", "pisces", "aquarius" };
            List <string> pages      = new List <string>();

            for (int i = 0; i < numberOfCalls; i++)
            {
                int    min       = 1;
                int    max       = pageMaster.Length + 1;
                Random random    = new Random();
                int    index     = random.Next(min, max);
                var    traceGuid = Guid.NewGuid().ToString();
                lastGuid = traceGuid;
                var pageString = $"{pageMaster[index - 1]}?traceGuid=zodiac-{traceGuid}";
                if (pageMaster[index - 1] == "pisces")
                {
                    if (shouldMaxCPU())
                    {
                        pageString += "&cpumax=true";
                    }
                    else
                    {
                        pageString += "&cpumax=false";
                    }
                }
                pages.Add(pageString);

                Console.WriteLine($"Call will be {pageString}");
            }


            foreach (var page in pages)
            {
                Parameters p = new Parameters {
                    Operation = page, Url = baseUrl
                };
                if ((page.ToLower().StartsWith("scorpio")) || (page.ToLower().StartsWith("gemini")))
                {
                    p.Url = scorpioUrl;
                }
                Thread newThread = new Thread(HomeController.InvokeAsync);
                newThread.Start(p);
            }

            vm.ResponseData = "Zodiac completed sucessfully";
            vm.TraceGuid    = lastGuid;
            return(View("ZodiacResult", vm));
        }
Exemplo n.º 2
0
 public ZodiacView()
 {
     InitializeComponent();
     DataContext = _viewModel = new ZodiacViewModel();
 }
Exemplo n.º 3
0
 public MainWindow()
 {
     InitializeComponent();
     StationManager.Initialize(new SerializedDataStorage());
     DataContext = new ZodiacViewModel();
 }