internal async Task <RespuestaDatos> SubirDocumentosEmprendedor(DocumentosDemografiaCor documentosDemografiaCor) { using FeContext context = new FeContext(); RespuestaDatos respuestaDatos; try { context.Add(documentosDemografiaCor); context.SaveChanges(); respuestaDatos = new RespuestaDatos { Codigo = COCodigoRespuesta.OK, Mensaje = "Documentos guardados exitosamente." }; } catch (Exception e) { throw new COExcepcion("Ocurrió un problema al intentar guardar los documentos del emprendedor."); } return(respuestaDatos); }
internal async Task <RespuestaDatos> SubirDocumentosEmprendedor(DemografiaCor demografiaCor, string RazonsSocial, IFormFileCollection files) { if (demografiaCor != null) { try { DocumentosDemografiaCor documentosDemografiaCor = new DocumentosDemografiaCor(); documentosDemografiaCor.Iddemografia = demografiaCor.Id; documentosDemografiaCor.Razonsocial = RazonsSocial; documentosDemografiaCor.Creacion = DateTime.Now; string directorio = _configuration["ImageDocumentos:DirectorioDocumentos"]; directorio = directorio + "/" + "Documentos"; if (string.IsNullOrEmpty(directorio)) { RepoErrorLog.AddErrorLog(new ErrorLog { Mensaje = "No se encuentra definida la ruta para las imagenes de evidencia. ", Traza = null, Usuario = demografiaCor.Email, Creacion = DateTime.Now, Tipoerror = COErrorLog.RUTA_NO_ENCONTRADA }); throw new COExcepcion("Problema con las rutas. Por favor contacte a servicio al cliente. "); } var folderName = Path.Combine(directorio); if (files.Count == 0) { throw new COExcepcion("No hay documento a subir. "); } if (files.Count > 4) { throw new COExcepcion("Solo se puede subir un máximo de 4 documento. "); } string[] permittedExtensions = { ".jpg", ".jpeg", ".png" }; List <string> listadoDeRutaFotos = new List <string>(); var folderDocument = directorio; var indexDocumentos = 1; foreach (var file in files) { var ext = Path.GetExtension(file.FileName).ToLowerInvariant(); if (string.IsNullOrEmpty(ext) || !permittedExtensions.Contains(ext)) { throw new COExcepcion("Solo se aceptan imágenes JPG y PNG. "); } var fileName = $@"imagen-documento-{demografiaCor.Id}-{indexDocumentos}{ext}"; documentosDemografiaCor.Urlimagen = fileName; var fullPath = Path.Combine(folderName, fileName); using var stream = new FileStream(fullPath, FileMode.Create); file.CopyTo(stream); listadoDeRutaFotos.Add(fullPath); indexDocumentos += 1; } if (listadoDeRutaFotos.Count == 0) { throw new COExcepcion("No se almacenó ninguna imagen."); } await _repoDocumentosEmprendedor.SubirDocumentosEmprendedor(documentosDemografiaCor); return(new RespuestaDatos { Codigo = COCodigoRespuesta.OK, Mensaje = "Se guardo correctamente la publicación." }); } catch (COExcepcion e) { throw e; } } else { throw new COExcepcion("El usuario ingresado no existe."); } }