private void CustomerReportGenerateLive()
        {
            using (MyPowerShell ps = new MyPowerShell())
            {
                ps.GetCustomerReportLive(model.CustomerReport.Organization);
                var result       = ps.Invoke().Single();
                var aduser       = (PSObject)result.Properties["ADUser"].Value;
                var server       = (PSObject)result.Properties["Server"].Value;
                var office365    = (PSObject)result.Properties["Office365"].Value;
                var fileserver   = (PSObject)result.Properties["FileServer"].Value;
                var totalstorage = (PSObject)result.Properties["Totalstorage"].Value;
                var users        = (Object[])aduser.Properties["Users"].Value;
                var servers      = (Object[])server.Properties["Servers"].Value;
                var info365s     = (Object[])office365.Properties["Info"].Value;

                var database = (PSObject)result.Properties["Database"].Value;


                model.CustomerReport.DatabasefUsage = double.Parse(database.Properties["TotalUsage"].Value.ToString()) / 1024 / 1024 / 1024;
                model.CustomerReport.DatabaseUsage  = model.CustomerReport.DatabasefUsage.ToString("F1") + " GB";

                model.CustomerReport.TotalfUsage = double.Parse(totalstorage.Properties["TotalAllocated"].Value.ToString());
                model.CustomerReport.TotalUsage  = model.CustomerReport.TotalfUsage.ToString("F1") + " GB";

                model.CustomerReport.FileServerfTotal = double.Parse(fileserver.Properties["Allocated"].Value.ToString());
                model.CustomerReport.FileServerTotal  = model.CustomerReport.FileServerfTotal.ToString("F1") + " GB";
                model.CustomerReport.FileServerfFree  = double.Parse(fileserver.Properties["FreeSpace"].Value.ToString());
                model.CustomerReport.FileServerFree   = model.CustomerReport.FileServerfFree.ToString("F1") + " GB";
                model.CustomerReport.FileServerfUsed  = double.Parse(fileserver.Properties["Used"].Value.ToString());
                model.CustomerReport.FileServerUsed   = model.CustomerReport.FileServerfUsed.ToString("F1") + " GB";


                model.CustomerReport.ADUsersCount      = 0;
                model.CustomerReport.ADFullUsersCount  = 0;
                model.CustomerReport.ADLightUsersCount = 0;
                model.CustomerReport.ENTServersCount   = 0;


                foreach (PSObject user in users)
                {
                    model.CustomerReport.ADUsersCount++;
                    model.CustomerReport.ADUsers.Add(new ADUser
                    {
                        Email     = user.Properties["PrimarySmtpAddress"].Value.ToString(),
                        Name      = user.Properties["DisplayName"].Value.ToString(),
                        LightUser = user.Properties["LightUser"].Value.ToString(),
                    });

                    string testUser    = user.Properties["TestUser"].Value.ToString();
                    string type        = user.Properties["Type"].Value.ToString();
                    string disabled    = user.Properties["Disabled"].Value.ToString();
                    string displayName = user.Properties["DisplayName"].Value.ToString();
                    string lightuser   = user.Properties["LightUser"].Value.ToString();


                    // Do not add MailOnly accounts to Windows nor Office.
                    if (lightuser.Equals("True"))
                    {
                        model.CustomerReport.Licenses.LightUser.Add(displayName);
                        model.CustomerReport.ADLightUsersCount++;
                    }
                    else
                    {
                        model.CustomerReport.ADFullUsersCount++;
                        model.CustomerReport.Licenses.FullUser.Add(displayName);
                    }
                }

                model.CustomerReport.ADUsers.OrderBy(x => x);

                foreach (PSObject ent in servers)
                {
                    model.CustomerReport.ENTServers.Add(new ENTServer
                    {
                        OS   = ent.Properties["OperatingSystem"].Value.ToString(),
                        Name = ent.Properties["Name"].Value.ToString(),
                        CPU  = ent.Properties["CPUCount"].Value.ToString(),
                        RAM  = (double.Parse(ent.Properties["Memory"].Value.ToString()) / 1024).ToString("F1") + " GB"
                    });
                    model.CustomerReport.ENTServersCount++;
                }

                foreach (PSObject info in info365s)
                {
                    model.CustomerReport.Info365s.Add(new Info365
                    {
                        License       = info.Properties["License"].Value.ToString(),
                        PartnerName   = info.Properties["PartnerName"].Value.ToString(),
                        ActiveUnits   = info.Properties["ActiveUnits"].Value.ToString(),
                        ConsumedUnits = info.Properties["ConsumedUnits"].Value.ToString(),
                        FreeUnits     = info.Properties["FreeUnits"].Value.ToString(),
                    });
                }


                //throw new Exception(mailbox.Properties["TotalAllocated"].Value.ToString());
            }
        }