public void Firmar_FirmaCorrectaDelDocumento() { var recursos = Herramientas.GetResourcesPath(); var pathCertificado = Path.Combine(recursos, "certificado.pfx"); var pathDocumentoSinFirma = Path.Combine(recursos, "documento.pdf"); var pathDocumentoConFirma = Path.Combine(recursos, "documento-con-firma-test.pdf"); var certificado = new Certificado(pathCertificado); var firmante = new Firmante(certificado); firmante.Firmar(pathDocumentoSinFirma, pathDocumentoConFirma); Assert.IsTrue(File.Exists(pathDocumentoConFirma)); }
public async Task AddFirmante(Firmante firmante) { Expression <Func <Firmante, bool> > exprFirmante = item => item.NombreF == firmante.NombreF; var firmantes = _unitOfWork.FirmanteRepository.FindByCondition(exprFirmante); //if (animals.Any(item => item.NombreArchivo == documento.NombreArchivo)) //throw new BusinessException("This animal name already exist."); /*var older = DateTime.Now - (documento?.FechaCreacion ?? DateTime.Now); * * if (older.TotalDays > 45) * throw new BusinessException("The animal's capture date is older than 45 days"); * Expression<Func<Documento, bool>> expressionTag = => tag.Tag == animal.RfidTag.Tag; * if (animal.RfidTag != null) * { * Expression<Func<RfidTag, bool>> exprTag = item => item.Tag == animal.RfidTag.Tag; * var tags = _unitOfWork.RfifTagRepository.FindByCondition(exprTag); * }*/ await _unitOfWork.FirmanteRepository.Add(firmante); }
public static eAjax fnFirmaDocumento(string sCodigo, string sRuta, string sNombre, string sFormato) { eAjax oeAjax = new eAjax(); System.Web.HttpContext context = System.Web.HttpContext.Current; context.Response.ContentType = "application/json"; if (HttpContext.Current.Session["leSeguridad"] == null) { oeAjax.iTipoResultado = 99; oeAjax.sMensajeError = "Fin Session"; return(oeAjax); } try { List <eSeguridad> lstSeguridad = new List <eSeguridad>(); lstSeguridad = (List <eSeguridad>)HttpContext.Current.Session["leSeguridad"]; string sUsuarioAuditoria = lstSeguridad[0].strUsuario; int iIdEmpres = Convert.ToInt32(lstSeguridad[0].iIdEmpresa); int iIdTrabajador = Convert.ToInt32(lstSeguridad[0].iIdTrabajador); string sCertificado = Convert.ToString(lstSeguridad[0].sRutaCertificado); PlanesDAO daoplan = new PlanesDAO(); int iresult = daoplan.fnListafirmaDisponibles(iIdEmpres); if (iresult == 0) { oeAjax.iTipoResultado = -1; oeAjax.sMensajeError = "No Cuenta Con Firmas Disponibles"; } else { if (sCertificado != "") { DocumentosDAO dao = new DocumentosDAO(); var vresult = DownloadFileNODELETE("ftp://ftp.site4now.net//documentos//cargados//", sNombre, "xxeguxx-001", "tornadesco.1", @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\"); //Si Descargo El Documento if (vresult != "") { var certificado = new Certificado(sCertificado); var firmante = new Firmante(certificado); var vrutaDocOriginal = @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\" + sNombre; var vrutaDocFirma = @AppDomain.CurrentDomain.BaseDirectory + "Documentos\\Firmados\\" + sNombre; //firmante.Firmar(@"c:\demos\documento.pdf", @"c:\demos\documento-firmado.pdf"); firmante.Firmar(vrutaDocOriginal, vrutaDocFirma); var notario = new Notario(certificado); var documentoValido = notario.CertificarDocumento(vrutaDocFirma); if (documentoValido == true) { //transfiere el documento firmado UploadFTP(vrutaDocFirma, "ftp://ftp.site4now.net/", "firmante", "tornadesco.1"); var i = dao.fnFirmaDocumento(Convert.ToInt32(sCodigo), @"\\documentos\\firmados\\" + sNombre); File.Delete(vrutaDocOriginal); File.Delete(vrutaDocFirma); oeAjax.iTipoResultado = 1; } } } else { oeAjax.iTipoResultado = -1; oeAjax.sMensajeError = "No Cuenta Con Un Certificado Asignado"; } } //string sresult = dao.fnListaDocumentoPendientes(iIdEmpres, iIdTrabajador); //oeAjax.iTipoResultado = 1; //oeAjax.sValor1 = sresult; } catch (Exception ex) { oeAjax.sMensajeError = ex.Message; } return(oeAjax); }
public void UpdateFirmante(Firmante firmante) { _unitOfWork.FirmanteRepository.Update(firmante); _unitOfWork.SaveChangesAsync(); }