private void UpdateServiceConfigurations(AzureService service, string forwarderName, ServiceConfigurationSchema.Certificate certElement, string encryptedPassword) { foreach (ServiceConfiguration config in new[] { service.Components.LocalConfig, service.Components.CloudConfig }) { foreach (ServiceConfigurationSchema.RoleSettings role in config.Role) { if (role.Certificates == null) { role.Certificates = new ServiceConfigurationSchema.Certificate[0]; } ServiceConfigurationSchema.Certificate existingCert = role.Certificates.FirstOrDefault(c => c.name == certElement.name); if (existingCert != null) { // ensure we're referencing the right cert existingCert.thumbprint = certElement.thumbprint; } else { role.Certificates = role.Certificates.Concat(new[] { certElement }).ToArray(); } Dictionary<string, string> settings = new Dictionary<string, string>(); foreach (ServiceConfigurationSchema.ConfigurationSetting setting in role.ConfigurationSettings) { settings[setting.name] = setting.value; } settings["Microsoft.WindowsAzure.Plugins.RemoteAccess.Enabled"] = "true"; settings["Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountUsername"] = Username; settings["Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountEncryptedPassword"] = encryptedPassword; settings["Microsoft.WindowsAzure.Plugins.RemoteAccess.AccountExpiration"] = (DateTime.Now + TimeSpan.FromDays(365)).ToString("o"); if (role.name == forwarderName) { settings["Microsoft.WindowsAzure.Plugins.RemoteForwarder.Enabled"] = "true"; } role.ConfigurationSettings = settings.Select(pair => new ServiceConfigurationSchema.ConfigurationSetting { name = pair.Key, value = pair.Value }).ToArray(); } } }
internal Purchase(PurchaseEntity purchaseEntity) { Date = purchaseEntity.Date; Goods = ConvertToModelType(purchaseEntity.Goods); Types = Goods.Select(x => x.Key.Type).Distinct().ToList(); }