public AdcsTemplateGetModel UpdateTemplate(AdcsTemplateUpdateModel updateEntity)
        {
            if (updateEntity.Name == "error")
            {
                throw new PrivateCertificateAuthorityDoesNotExistException("A certificate authority must exist before adding a template");
            }

            AdcsTemplate template = configurationRepository.Get <AdcsTemplate>(updateEntity.Id);

            template.Name = updateEntity.Name;
            template.RolesAllowedToIssue = dataTransform.ParseGuidList(updateEntity.RolesAllowedToIssue);
            template.KeyUsage            = updateEntity.KeyUsage;
            template.WindowsApi          = updateEntity.WindowsApi;
            template.Cipher = updateEntity.Cipher;

            configurationRepository.Update <AdcsTemplate>(template);


            AdcsTemplateGetModel response = new AdcsTemplateGetModel();

            response.Name       = template.Name;
            response.Cipher     = template.Cipher;
            response.KeyUsage   = template.KeyUsage;
            response.WindowsApi = template.WindowsApi;
            response.Id         = template.Id;

            response.RolesAllowedToIssueSelectView = new List <SecurityRoleSelectView>();
            foreach (Guid roleId in template.RolesAllowedToIssue)
            {
                var role = configurationRepository.Get <SecurityRole>(roleId);

                response.RolesAllowedToIssueSelectView.Add(
                    new SecurityRoleSelectView()
                {
                    Id   = roleId,
                    Name = role.Name
                });
            }

            return(response);
        }
 public JsonResult UpdateAdcsTemplate(AdcsTemplateUpdateModel updateEntity)
 {
     return(http.RespondSuccess(adcsTemplateLogic.UpdateTemplate(updateEntity)));
 }