Exemplo n.º 1
0
        private async Task InitiateAsync()
        {
            IsMainViewerInitiating = true;

            await PowerCompany.LoadFromApplicationUriAsync();

            foreach (var company in Enumerable.Range(0, PowerCompany.Companies.Count).Select(index => new PowerCompanyViewModel(index)))
            {
                CompanyCollection.Add(company);
            }

            await Site.LoadFromApplicationUriAsync();

            CheckAreaCoordinates(Site.Sites, MainViewerSize);

            RaisePropertyChanged(nameof(MainViewerZoomFactor));
            RaisePropertyChanged(nameof(MainCanvasCenterPosition));

            foreach (var site in Site.Sites.Select((x, index) => new SiteViewModel(index)
            {
                Location = ConvertPositionFromReal(x.Longitude, x.Latitude)
            }))
            {
                SiteCollection.Add(site);
            }

            // Wait for all site members being loaded. Otherwise, subsequent restoring position
            // may not work correctly.
            while (SiteCollection.Any(x => !x.IsLoaded))
            {
                await Task.Delay(TimeSpan.FromMilliseconds(50));
            }

            IsMainViewerInitiating = false;
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Debug.WriteLine(PowerCompany.ExportList(true));

            if (File.Exists(PowerCompany.CompanyFileName))
            {
                var source = File.ReadAllText(PowerCompany.CompanyFileName);
                if (PowerCompany.ImportList(source))
                {
                    Debug.WriteLine("Loaded company list.");
                }
            }

            if (PowerCompany.UpdateListAsnyc().Result)
            {
                File.WriteAllText(PowerCompany.CompanyFileName, PowerCompany.ExportList());
                Debug.WriteLine("Saved company list.");
            }

            foreach (var company in PowerCompany.Companies)
            {
                Debug.WriteLine(company.Name);
            }

            Task.WhenAll(PowerCompany.Companies.Select(async x => await x.CheckAsync())).Wait();

            foreach (var company in PowerCompany.Companies.Where(x => x.Data.IsLoaded))
            {
                Debug.WriteLine($"{company.Name}: {company.Data.UsageAmount} ({company.Data.DataTime:HH:mm}) / {company.Data.PeakSupply} -> {company.Data.UsagePercentage:f1}%");
            }
        }
Exemplo n.º 3
0
 public CompanyViewModel(PowerCompany company)
 {
     this._company = company;
 }