Example #1
0
        public async Task <ActionResult> GetTextTemplate(string name, string company, string email)
        {
            if (Request.Cookies.AllKeys.Contains("token"))
            {
                _apiHttpClient.Token = Request.Cookies["token"].Value;
            }

            var sys           = _systemInformationService.GetBasicInformation();
            var systemInfoStr = LocalizedStrings.GetStringFormat("Web_Controller_License_TextTemplate_SystemInfos",
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_MachineName"),
                                                                 sys.MachineName,
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_OperatingSystem"),
                                                                 string.Format("{0} {1} {2}", sys.OperatingSystem, sys.OperatingSystemArchitecture, sys.OperatingSystemVersion),
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_Language"),
                                                                 sys.OperatingSystemLanguage.ToString(),
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_SystemManufacturer"),
                                                                 sys.Manufacturer,
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_SystemModel"),
                                                                 sys.Model,
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_Processors"),
                                                                 sys.Processors != null ? string.Join("|", sys.Processors) : null,
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_Memory"),
                                                                 string.Format("{0} MB", (int)(sys.Memory / 1048576d)),
                                                                 LocalizedStrings.GetString("Web_Controller_License_TextTemplate_AvailableOSMemory"),
                                                                 string.Format("{0} MB", (int)(sys.OSVisibleMemory / 1024d)));

            if (sys.VideoControllers != null)
            {
                foreach (var vc in sys.VideoControllers)
                {
                    if (!string.IsNullOrEmpty(vc.Resolution))
                    {
                        systemInfoStr += string.Format("\r\n{0}: {1}, {2}", LocalizedStrings.GetString("Web_Controller_License_TextTemplate_VideoController"), vc.Name, vc.Resolution);
                    }
                }
            }

            var version = Assembly.GetExecutingAssembly().FullName
                          .Split(',')
                          .Single(_ => _.Contains("Version="))
                          .Split('=')
                          .Last();

            var productLicense = await LicenseMapper.GetLicense();

            var content = string.Format(LocalizedStrings.GetString("Web_Controller_License_TextTemplate"),
                                        name,
                                        company,
                                        email,
                                        await LicenseMapper.GetMachineHash(),
                                        //On n'affiche plus le statut TrialVersion, on Licensed à la place.
                                        string.Format("{0} - {1}", productLicense.Status == WebLicenseStatus.TrialVersion ? WebLicenseStatus.Licensed : productLicense.Status, LocalizedStrings.GetStringFormat(productLicense.StatusReason, productLicense.StatusReasonParams?.Select(_ => _.ToString()).ToArray())),
                                        version,
                                        systemInfoStr
                                        );

            return(Content(content));
        }