/// <summary> /// Método para retornar los documentos adjuntos por Contrato /// </summary> /// <param name="request">Filtro</param> /// <returns>Documentos adjuntos al contrato</returns> public ProcessResult <List <ConsultaAdjuntoResponse> > BuscarConsultaAdjunto(ConsultaAdjuntoRequest request) { ProcessResult <List <ConsultaAdjuntoResponse> > resultado = new ProcessResult <List <ConsultaAdjuntoResponse> >(); try { var result = consultaAdjuntoLogicRepository.BuscarConsultaAdjunto( request.CodigoConsultaAdjunto, request.CodigoConsulta, request.CodigoArchivo, request.NombreArchivo, DatosConstantes.EstadoRegistro.Activo ); resultado.Result = new List <ConsultaAdjuntoResponse>(); foreach (var item in result) { resultado.Result.Add(ConsultaAdapter.ObtenerConsultaAdjuntoResponseDeLogic(item, request.UsuarioSession)); } } catch (Exception ex) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <ConsultaService>(ex); } return(resultado); }
/// <summary> /// Obtiene la entidad response ConsultaAdjuntoEntity de la Entidad ConsultaAdjuntoRequest /// </summary> /// <param name="request">Request del Documento Adjunto al Contrato</param> /// <returns>Entity del Documento Adjunto al Contrato</returns> public static ConsultaAdjuntoEntity ObtenerConsultaAdjuntoEntityDeRequest(ConsultaAdjuntoRequest request) { ConsultaAdjuntoEntity response = new ConsultaAdjuntoEntity(); response.CodigoConsultaAdjunto = request.CodigoConsultaAdjunto.Value; response.CodigoConsulta = request.CodigoConsulta.Value; response.CodigoArchivo = request.CodigoArchivo.Value; response.NombreArchivo = request.NombreArchivo; response.RutaArchivoSharePoint = request.RutaArchivoSharePoint; return(response); }
/// <summary> /// Método que elimina los documentos adjuntos al Contrato /// </summary> /// <param name="request">Filtro</param> /// <returns>Documentos adjuntos al contrato</returns> public ProcessResult <string> EliminarConsultaAdjunto(ConsultaAdjuntoRequest request) { ProcessResult <string> resultado = new ProcessResult <string>(); try { var contratoDocumentoAdjuntoEntity = consultaAdjuntoEntityRepository.GetById(request.CodigoConsultaAdjunto.Value); #region Grabar registro del documento adjunto consultaAdjuntoEntityRepository.Eliminar(request.CodigoConsultaAdjunto); consultaAdjuntoEntityRepository.GuardarCambios(); #endregion } catch (Exception ex) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <ContratoService>(ex); } return(resultado); }
/// <summary> /// Metodo que retorna los bytes para la generación del archivo PDF. /// </summary> /// <param name="codigoContrato">Código del Contrato</param> /// <param name="codigoContratoEstadio">código del Contrato - estadio.</param> /// <param name="NombreArchivoContrato">Nombre del archivo a descargar</param> /// <returns>Bytes para generar pdf</returns> public ProcessResult <ConsultaAdjuntoResponse> ObtenerArchivoAdjunto(ConsultaAdjuntoRequest request) { ProcessResult <ConsultaAdjuntoResponse> resultado = new ProcessResult <ConsultaAdjuntoResponse>(); try { var consultaAdjuntoResponse = new ConsultaAdjuntoResponse(); var documentoAdjunto = consultaAdjuntoEntityRepository.GetById(request.CodigoConsultaAdjunto); //Obtener documento del SharePoint, consultamos la ruta. string mensajeError = string.Empty; ProcessResult <Object> contenidoArchivo = new ProcessResult <Object>(); string listName = ""; string[] rutaArchivo = documentoAdjunto.RutaArchivoSharePoint.Split(new char[] { '/' }); var codigoArchivo = documentoAdjunto.CodigoArchivo; listName = rutaArchivo[0]; contenidoArchivo = sharePointService.DescargaArchivoPorId(ref mensajeError, codigoArchivo, listName); if (!String.IsNullOrEmpty(mensajeError)) { //resultado.Result = mensajeError; resultado.IsSuccess = false; } else { consultaAdjuntoResponse.NombreArchivo = documentoAdjunto.NombreArchivo; consultaAdjuntoResponse.ContenidoArchivo = contenidoArchivo.Result; resultado.Result = consultaAdjuntoResponse; } } catch (Exception ex) { LogBL.grabarLogError(ex); //resultado.Result = ex.Message; resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <ConsultaService>(ex); } return(resultado); }
/// <summary> /// Método para registra los documentos adjuntos de la consulta /// </summary> /// <param name="request">Filtro</param> /// <returns>Documentos adjuntos al contrato</returns> public ProcessResult <string> RegistrarConsultaAdjunto(ConsultaAdjuntoRequest request) { ProcessResult <string> resultado = new ProcessResult <string>(); try { //var entConsulta = consultaEntityRepository.GetById(request.CodigoConsulta); //Registro de información string hayError = string.Empty; //var unidadOperativa = unidadOperativaService.BuscarUnidadOperativa(new FiltroUnidadOperativa() { CodigoUnidadOperativa = entConsulta.CodigoUnidadOperativa.ToString() }); request.CodigoConsultaAdjunto = Guid.NewGuid(); #region InformacionRepositorioSharePoint string nombreArchivo = string.Format("{0}.{1}", request.CodigoConsultaAdjunto.ToString(), request.ExtencionArchivo); ProcessResult <string> miDirectorio = RetornaDirectorioFile(request.CodigoConsulta.Value, nombreArchivo, null, true); string directorioDestino = miDirectorio.Result.ToString(); string[] nivelCarpeta = directorioDestino.Split(new char[] { '/' }); string nombreLista = nivelCarpeta[0]; string nombreCarpeta = string.Format("{0}/{1}/{2}", nivelCarpeta[1], nivelCarpeta[2], nivelCarpeta[3]); #endregion #region GrabarContenidoAdjuntoSHP MemoryStream msFile = new MemoryStream(request.ArchivoAdjunto); if (msFile != null) { var regSHP = sharePointService.RegistraArchivoSharePoint(ref hayError, nombreLista, nombreCarpeta, nombreArchivo, msFile); if (Convert.ToInt32(regSHP.Result) > 0 && hayError == string.Empty) { request.CodigoArchivo = Convert.ToInt32(regSHP.Result); request.RutaArchivoSharePoint = directorioDestino; } else { if (Convert.ToInt32(regSHP.Result) > 0) { var fileShpDelete = sharePointService.EliminaArchivoSharePoint(new List <int>() { Convert.ToInt32(regSHP.Result) }, nombreLista, ref hayError); } resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <ContratoService>("Ocurrió un problema al registra el archivo en el SharePoint: " + hayError); LogBL.grabarLogError(new Exception(hayError)); return(resultado); } } else { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <ContratoService>("Ocurrió un problema al subir el documento."); LogBL.grabarLogError(new Exception("Ocurrió un problema al subir el documento")); return(resultado); } #endregion #region Grabar registro del documento adjunto consultaAdjuntoEntityRepository.Insertar(ConsultaAdapter.ObtenerConsultaAdjuntoEntityDeRequest(request)); consultaAdjuntoEntityRepository.GuardarCambios(); if (request.CodigoConsultaRelacionado.HasValue) { request.CodigoConsultaAdjunto = Guid.NewGuid(); request.CodigoConsulta = request.CodigoConsultaRelacionado.Value; consultaAdjuntoEntityRepository.Insertar(ConsultaAdapter.ObtenerConsultaAdjuntoEntityDeRequest(request)); consultaAdjuntoEntityRepository.GuardarCambios(); } #endregion } catch (Exception ex) { resultado.IsSuccess = false; resultado.Exception = new ApplicationLayerException <ConsultaService>(ex); } return(resultado); }