public IActionResult Documentos([FromBody] dynamic value) { try { int idObjeto = value.idObjeto != null ? (int)value.idObjeto : default(int); int idTipoObjeto = value.idTipoObjeto != null ? (int)value.idTipoObjeto : default(int); List <Documento> documentos = DocumentosAdjuntosDAO.getDocumentos(idObjeto, idTipoObjeto); List <datos> datos_ = new List <datos>(); foreach (Documento documento in documentos) { datos dato = new datos(); dato.id = documento.id; dato.nombre = documento.nombre; dato.extension = documento.extension; datos_.Add(dato); } return(Ok(new { success = true, documentos = datos_ })); } catch (Exception e) { CLogger.write("2", "DocumentoAdjuntoController.class", e); return(BadRequest(500)); } }
public IActionResult Documento(int idDocumento) { try { Documento documento = DocumentosAdjuntosDAO.getDocumentoById(idDocumento); documento.usuarioActualizo = User.Identity.Name; bool eliminar = DocumentosAdjuntosDAO.eliminarDocumentoAdjunto(documento); return(Ok(new { success = eliminar })); } catch (Exception e) { CLogger.write("4", "DocumentoAdjuntoController.class", e); return(BadRequest(500)); } }
public async Task <IActionResult> Descarga(int idDocumento) { try { Documento documento = DocumentosAdjuntosDAO.getDocumentoById(idDocumento); String directorioTemporal = @"\SIPRO\archivos\documentos\"; String filePath = directorioTemporal + @"\" + documento.idTipoObjeto + @"\" + documento.idObjeto + @"\" + documento.nombre; var memory = new MemoryStream(); using (var stream = new FileStream(filePath, FileMode.Open)) { await stream.CopyToAsync(memory); } memory.Position = 0; return(File(memory, GetContentType(filePath), Path.GetFileName(filePath))); } catch (Exception e) { CLogger.write("3", "DocumentoAdjuntoController.class", e); return(BadRequest(500)); } }
public async Task <IActionResult> Documento([FromForm] IFormFile file, int objetoId, int tipoObjetoId) { try { bool guardado = false; bool existe = false; List <datos> datos_ = new List <datos>(); FileStream documento; String directorioTemporal = @"\SIPRO\archivos\documentos\"; if (objetoId > 0) { directorioTemporal = directorioTemporal + tipoObjetoId + @"\"; } if (tipoObjetoId >= -1) { directorioTemporal = directorioTemporal + objetoId + @"\"; } String nombreDocumento = file.FileName; String[] tipo = nombreDocumento.Split('.'); String tipoContenido = tipo[tipo.Length - 1]; Documento documentoAdjunto = new Documento(); documentoAdjunto.nombre = nombreDocumento; documentoAdjunto.extension = tipoContenido; documentoAdjunto.idObjeto = objetoId; documentoAdjunto.idTipoObjeto = tipoObjetoId; documentoAdjunto.usuarioCreo = User.Identity.Name; documentoAdjunto.fechaCreacion = DateTime.Now; documentoAdjunto.estado = 1; if (!Directory.Exists(directorioTemporal)) { Directory.CreateDirectory(directorioTemporal); } if (nombreDocumento.LastIndexOf('/') >= 0) { documento = new FileStream(directorioTemporal + nombreDocumento, FileMode.OpenOrCreate); } else { documento = new FileStream(directorioTemporal + @"\" + nombreDocumento, FileMode.OpenOrCreate); } if (documento.Length == 0) { using (var stream = documento) { await file.CopyToAsync(stream); guardado = DocumentosAdjuntosDAO.guardarDocumentoAdjunto(documentoAdjunto); if (guardado) { List <Documento> docs = DocumentosAdjuntosDAO.getDocumentos(objetoId, tipoObjetoId); foreach (Documento doc in docs) { datos dato = new datos(); dato.id = doc.id; dato.nombre = doc.nombre; dato.extension = doc.extension; datos_.Add(dato); } documento.Close(); } } } else { existe = true; documento.Close(); } return(Ok(new { success = guardado, documentos = datos_, existe_archivo = existe })); } catch (Exception e) { CLogger.write("1", "DocumentoAdjuntoController.class", e); return(BadRequest(500)); } }