public async Task <CertificateRequest> GenerateCertificate(CertificateRequest incomingCertificate) { bool isValid = incomingCertificate.IsValidForGeneration(); if (!isValid) { throw new Exception("Object is not valid"); } _sshService.CreateCertificateAllCommands(incomingCertificate); incomingCertificate.Expires = DateTime.Now.AddYears(incomingCertificate.Duration); incomingCertificate.AlreadyCreated = true; return(await _dataCtx.Certificates.Insert(incomingCertificate)); }