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.");
            }
        }