public ActionResult FederationSettings(string id, FederationMeta model)
        {
            var env = reader.GetEnvironment(id);

            ViewBag.Name          = env.ConfigSet.Name;
            ViewBag.System        = env.ConfigSet.System;
            ViewBag.EnvironmentId = env.Id;
            ViewBag.Trail         = env.GetTrail();
            env.SubstitutionParameters.Single(p => p.Name == "Thumbprint").ItemValue            = model.Thumbprint;
            env.SubstitutionParameters.Single(p => p.Name == "IssuerAddress").ItemValue         = model.IssuerHostName;
            env.SubstitutionParameters.Single(p => p.Name == "IssuerActAsAddress").ItemValue    = model.IssuerHostName;
            env.SubstitutionParameters.Single(p => p.Name == "IssuerMetadataAddress").ItemValue = model.IssuerHostName;
            env.SubstitutionParameters.Single(p => p.Name == "IssuerName").ItemValue            = "http://" + model.IssuerHostName + "/adfs/services/trust";
            env.SubstitutionParameters.Single(p => p.Name == "StsAddress").ItemValue            = "https://" + model.IssuerHostName + "/adfs/ls/";
            if (env.SubstitutionParameters.Single(p => p.Name == "CertificateValidationMode").ItemValue.IsNullOrWhiteSpace())
            {
                env.SubstitutionParameters.Single(p => p.Name == "CertificateValidationMode").ItemValue = "None";
            }
            if (env.SubstitutionParameters.Single(p => p.Name == "EnforceCertificateValidation").ItemValue.IsNullOrWhiteSpace())
            {
                env.SubstitutionParameters.Single(p => p.Name == "EnforceCertificateValidation").ItemValue = "true";
            }
            if (env.SubstitutionParameters.Single(p => p.Name == "RequireHttps").ItemValue.IsNullOrWhiteSpace())
            {
                env.SubstitutionParameters.Single(p => p.Name == "RequireHttps").ItemValue = "true";
            }
            reader.UpdateEnvironment(env);
            return(RedirectToAction("Details", new { id = "edit", item = env.Id }));
        }
 public ActionResult FederationSettings(string id, FederationMeta model)
 {
     var env = reader.GetEnvironment(id);
     ViewBag.Name = env.ConfigSet.Name;
     ViewBag.System = env.ConfigSet.System;
     ViewBag.EnvironmentId = env.Id;
     ViewBag.Trail = env.GetTrail();
     env.SubstitutionParameters.Single(p => p.Name == "Thumbprint").ItemValue = model.Thumbprint;
     env.SubstitutionParameters.Single(p => p.Name == "IssuerAddress").ItemValue = model.IssuerHostName;
     env.SubstitutionParameters.Single(p => p.Name == "IssuerActAsAddress").ItemValue = model.IssuerHostName;
     env.SubstitutionParameters.Single(p => p.Name == "IssuerMetadataAddress").ItemValue = model.IssuerHostName;
     env.SubstitutionParameters.Single(p => p.Name == "IssuerName").ItemValue = "http://" + model.IssuerHostName + "/adfs/services/trust";
     env.SubstitutionParameters.Single(p => p.Name == "StsAddress").ItemValue = "https://" + model.IssuerHostName + "/adfs/ls/";
     if (env.SubstitutionParameters.Single(p => p.Name == "CertificateValidationMode").ItemValue.IsNullOrWhiteSpace())
         env.SubstitutionParameters.Single(p => p.Name == "CertificateValidationMode").ItemValue = "None";
     if (env.SubstitutionParameters.Single(p => p.Name == "EnforceCertificateValidation").ItemValue.IsNullOrWhiteSpace())
         env.SubstitutionParameters.Single(p => p.Name == "EnforceCertificateValidation").ItemValue = "true";
     if (env.SubstitutionParameters.Single(p => p.Name == "RequireHttps").ItemValue.IsNullOrWhiteSpace())
         env.SubstitutionParameters.Single(p => p.Name == "RequireHttps").ItemValue = "true";
     reader.UpdateEnvironment(env);
     return RedirectToAction("Details", new { id = "edit", item = env.Id });
 }