public IActionResult PostCertArchivo(int id, [FromForm] ArchivoCertificado archivos) { try { string mensaje = ""; var certificadoService = new CertificadoService(); if (!certificadoService.procesarArchivos(id, archivos)) { mensaje = "Uno o mas archivos no fueron procesados correctamente"; } else { mensaje = "Archivo(s) procesado(s) correctamente"; } return(Ok(new { Message = mensaje })); } catch (Exception e) { if (e is InvalidCertificateExtensionType) { return(BadRequest(new { Message = e.Message })); } return(StatusCode(500, new { Message = "Error en el servidor" })); } }
public bool procesarArchivos(int idCertificado, ArchivoCertificado archivos) { bool valorRetorno = true; var certificadoDAO = new CertificadoDAO(); var certificado = certificadoDAO.GetCertificado(idCertificado); try { if (!Directory.Exists(certificado.rutaCert)) { Directory.CreateDirectory(certificado.rutaCert); } if (archivos.certificado != null) { valorRetorno = procesarArchivo(certificado.rutaCert, certificado.cert, archivos.certificado, ".cer"); if (valorRetorno) { var firmaSatService = new FirmaSatService(certificado.rutaCert + "\\", certificado.cert, "", ""); certificado.fechaExpiracion = firmaSatService.GetCertificateExpiryDate(); certificadoDAO.UpdateCertificado(certificado); } } if (archivos.llave != null) { valorRetorno = procesarArchivo(certificado.rutaCert, certificado.key, archivos.llave, ".key"); } if (archivos.logo != null) { valorRetorno = procesarArchivo(certificado.rutaCert, "logo_" + certificado.cert.Substring(0, certificado.cert.Length - 4) + ".jpg", archivos.logo, ".jpg"); } } catch (Exception e) { logger.Error(e, e.Message); } return(valorRetorno); }