Beispiel #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,DataConsulta,NomeProcedimeneto,HorarioConsulta,PacienteId,AnamneseId")] ConsultaEntity consultaEntity)
        {
            if (id != consultaEntity.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(consultaEntity);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ConsultaEntityExists(consultaEntity.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AnamneseId"] = new SelectList(_context.Anamneses, "Id", "Sintomas", consultaEntity.AnamneseId);
            ViewData["PacienteId"] = new SelectList(_context.Pacientes, "Id", "Nome", consultaEntity.PacienteId);
            return(View(consultaEntity));
        }
        /// <summary>
        /// Obtiene el responde Bien de una entidad Consulta
        /// </summary>
        /// <param name="objEnt">Objeti entidad</param>
        /// <returns>Entidad Response de objeto Bien</returns>
        public static ConsultaResponse ObtenerConsultaResponseDeEntity(ConsultaEntity data, List <TrabajadorDatoMinimoResponse> listaTrabajador = null)
        {
            ConsultaResponse consultaResponse = new ConsultaResponse();

            consultaResponse.Asunto             = data.Asunto;
            consultaResponse.CodigoConsulta     = data.CodigoConsulta;
            consultaResponse.CodigoDestinatario = data.CodigoDestinatario;

            if (listaTrabajador != null)
            {
                var trabajadorDestinatario = listaTrabajador.Where(item => item.CodigoTrabajador == data.CodigoDestinatario).FirstOrDefault();
                consultaResponse.NombreDestinatario = (trabajadorDestinatario != null ? trabajadorDestinatario.NombreCompleto : "");

                var trabajadorRemitente = listaTrabajador.Where(item => item.CodigoTrabajador == data.CodigoRemitente).FirstOrDefault();
                consultaResponse.NombreRemitente = (trabajadorRemitente != null ? trabajadorRemitente.NombreCompleto : "");
            }

            consultaResponse.CodigoRemitente      = data.CodigoRemitente;
            consultaResponse.Contenido            = data.Contenido;
            consultaResponse.EstadoConsulta       = data.EstadoConsulta;
            consultaResponse.FechaEnvio           = data.FechaEnvio;
            consultaResponse.FechaEnvioString     = (data.FechaEnvio.HasValue) ? data.FechaEnvio.Value.ToString("dd/MM/yyyy") : "";
            consultaResponse.FechaRespuesta       = data.FechaRespuesta;
            consultaResponse.FechaRespuestaString = (data.FechaRespuesta.HasValue) ? data.FechaRespuesta.Value.ToString("dd/MM/yyyy") : "";;
            consultaResponse.Respuesta            = data.Respuesta;
            consultaResponse.Tipo = data.Tipo;
            return(consultaResponse);
        }
        /// <summary>
        /// Realiza la adaptación de campos para registrar o actualizar
        /// </summary>
        /// <param name="data">Datos a registrar o actualizar</param>
        /// <returns>Entidad Datos a registrar</returns>
        public static ConsultaEntity ObtenerConsultaEntity(ConsultaRequest data)
        {
            ConsultaEntity consultaEntity = new ConsultaEntity();

            if (data.CodigoConsulta != null)
            {
                consultaEntity.CodigoConsulta = new Guid(data.CodigoConsulta);
            }
            else
            {
                consultaEntity.CodigoConsulta = Guid.NewGuid();
            }

            consultaEntity.CodigoRemitente    = (data.CodigoRemitente != null ? new Guid(data.CodigoRemitente) : new Guid());
            consultaEntity.CodigoDestinatario = (data.CodigoDestinatario != null ? new Guid(data.CodigoDestinatario) : new Guid());
            consultaEntity.Tipo                  = data.Tipo;
            consultaEntity.Asunto                = data.Asunto;
            consultaEntity.Contenido             = data.Contenido;
            consultaEntity.EstadoConsulta        = data.EstadoConsulta;
            consultaEntity.FechaEnvio            = data.FechaEnvio;
            consultaEntity.Respuesta             = data.Respuesta;
            consultaEntity.FechaRespuesta        = data.FechaRespuesta;
            consultaEntity.CodigoUnidadOperativa = (string.IsNullOrEmpty(data.CodigoUnidadOperativa) ? (Guid?)null : new Guid(data.CodigoUnidadOperativa));
            consultaEntity.CodigoArea            = data.CodigoArea;
            consultaEntity.EsValido              = data.EsValido;
            return(consultaEntity);
        }
        /// <summary>
        /// Realiza la adaptación de campos para registrar o actualizar
        /// </summary>
        /// <param name="data">Datos a registrar o actualizar</param>
        /// <returns>Entidad Datos a registrar</returns>
        public static ConsultaEntity ObtenerConsultaEntityDeLogic(ConsultaLogic data)
        {
            ConsultaEntity consultaEntity = new ConsultaEntity();

            if (data.CodigoConsulta != null)
            {
                consultaEntity.CodigoConsulta = data.CodigoConsulta;
            }
            else
            {
                consultaEntity.CodigoConsulta = Guid.NewGuid();
            }

            consultaEntity.CodigoRemitente    = (data.CodigoRemitente != null ? data.CodigoRemitente : new Guid());
            consultaEntity.CodigoDestinatario = (data.CodigoDestinatario != null ? data.CodigoDestinatario : new Guid());
            consultaEntity.Tipo                  = data.Tipo;
            consultaEntity.Asunto                = data.Asunto;
            consultaEntity.Contenido             = data.Contenido;
            consultaEntity.EstadoConsulta        = data.EstadoConsulta;
            consultaEntity.FechaEnvio            = data.FechaEnvio;
            consultaEntity.Respuesta             = data.Respuesta;
            consultaEntity.FechaRespuesta        = data.FechaRespuesta;
            consultaEntity.CodigoUnidadOperativa = (data.CodigoUnidadOperativa.HasValue) ? data.CodigoUnidadOperativa : (Guid?)null;
            consultaEntity.CodigoArea            = data.CodigoArea;
            return(consultaEntity);
        }
        public void AtualizarConsulta(int id, ConsultaEntity consultaEntity)
        {
            ValidarSalvar(consultaEntity);

            _consultaRepository.AtualizarConsultaPacienteById(id, consultaEntity);
            _consultaRepository.SaveChanges();
        }
Beispiel #6
0
        public async Task <IActionResult> Create([Bind("Id,DataConsulta,NomeProcedimeneto,HorarioConsulta,PacienteId,AnamneseId")] ConsultaEntity consultaEntity)
        {
            if (ModelState.IsValid)
            {
                _context.Add(consultaEntity);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AnamneseId"] = new SelectList(_context.Anamneses, "Id", "Sintomas", consultaEntity.AnamneseId);
            ViewData["PacienteId"] = new SelectList(_context.Pacientes, "Id", "Nome", consultaEntity.PacienteId);
            return(View(consultaEntity));
        }
        public void ValidarSalvar(ConsultaEntity consultaEntity)
        {
            if (consultaEntity.DataHoraInicio > consultaEntity.DataHoraFinal)
            {
                throw new BusinessException("A data inicial da consulta não pode ser maior que a final.");
            }

            var exists = _consultaRepository.ExisteConsulta(consultaEntity.Id, consultaEntity.DataHoraInicio, consultaEntity.DataHoraFinal);

            if (exists)
            {
                throw new BusinessException("Já existe consulta marcada para a data e horário.");
            }
        }
        public IEnumerable <ResultadoEntity> GetAll(ConsultaEntity consulta)
        {
            var sql = @"
                  SELECT DISTINCT
                    TPF.TABELA_PRECO_FORNECEDOR_ID							            TabelaPrecoFornecedorId,
                    ISNULL(F.NOME_FANTASIA, '')								              NomeFantasia,
                    ISNULL(F.CNPJ_CPF, '')                                  Cnpj,
                    ISNULL(CONVERT(VARCHAR(10), TPF.DATA_INICIO, 103), '')  DataInicio,
                    ISNULL(CONVERT(VARCHAR(10), TPF.DATA_FIM, 103), '')     DataFim,
                    TS.DESC_STATUS                                          Status
                  FROM
                    TABELA_PRECO_FORNECEDOR TPF
                    LEFT JOIN TABELA_OVA_DESOVA TOD ON TOD.TABELA_PRECO_FORNECEDOR_ID = TPF.TABELA_PRECO_FORNECEDOR_ID
                        AND TOD.TAB_STATUS_ID = 1
                    LEFT JOIN MUNICIPIO M ON M.MUNICIPIO_ID = TOD.MUNICIPIO_ID
                    OUTER APPLY (SELECT NOME_FANTASIA, CNPJ_CPF FROM VFORNEC_TAB_TIPO_FORNEC2 WHERE PESSOA_ID = TPF.FORNECEDOR_ID) F
                    INNER JOIN TAB_STATUS TS ON TS.TAB_STATUS_ID = TPF.TAB_STATUS_ID
                  WHERE
                    TPF.TAB_STATUS_ID IN (1, 2)
                    AND TPF.TAB_TIPO_TABELA_ID = 50
                    AND (TOD.MUNICIPIO_ID = @MunicipioId OR ISNULL(@MunicipioId, 0) = 0)
                    AND (M.TAB_UF_ID = @UfId OR ISNULL(@UfId, 0) = 0)
                    AND (
                        (ISNULL(TPF.FORNECEDOR_ID, 0) = 0 AND @TipoTabela = 'TP') OR
                        (ISNULL(TPF.FORNECEDOR_ID, 0) <> 0 AND (TPF.FORNECEDOR_ID = @FornecedorId OR ISNULL(@FornecedorId, 0) = 0) AND @TipoTabela = 'P') OR
                        (TPF.FORNECEDOR_ID = @FornecedorId OR ISNULL(@FornecedorId, 0) = 0 AND ISNULL(@TipoTabela, '') = '')
                      )
                    AND (
                        (TPF.DATA_INICIO BETWEEN @PeriodoDe AND @PeriodoAte) OR
                        (TPF.DATA_FIM BETWEEN @PeriodoDe AND @PeriodoAte) OR
                        (ISNULL(@PeriodoDe, '') = '' AND ISNULL(@PeriodoAte, '') = '')
                      )
                  ORDER BY NomeFantasia";

            var param = new
            {
                consulta.MunicipioId,
                consulta.UfId,
                consulta.FornecedorId,
                consulta.PeriodoDe,
                consulta.PeriodoAte,
                consulta.TipoTabela
            };

            using (var db = Connection)
            {
                return(db.Query <ResultadoEntity>(sql, param));
            }
        }
        /// <summary>
        /// Retorna información de la consulta.
        /// </summary>
        /// <param name="codigoConsulta">código de la consulta</param>
        /// <returns>Información de la consulta</returns>
        public ProcessResult <ConsultaResponse> ConsultaPorId(Guid codigoConsulta)
        {
            ProcessResult <ConsultaResponse> rpta = new ProcessResult <ConsultaResponse>();

            try
            {
                ConsultaEntity entConsulta = consultaEntityRepository.GetById(codigoConsulta);

                rpta.Result = new ConsultaResponse();
                rpta.Result = ConsultaAdapter.ObtenerConsultaResponseDeEntity(entConsulta);
            }
            catch (Exception ex)
            {
                rpta.IsSuccess = false;
                rpta.Exception = new ApplicationLayerException <ConsultaService>(ex);
            }
            return(rpta);
        }
 public void CriarConsulta(ConsultaEntity consultaEntity)
 {
     ValidarSalvar(consultaEntity);
     _consultaRepository.Add(consultaEntity);
     _consultaRepository.SaveChanges();
 }
Beispiel #11
0
        /// <summary>
        /// Reenvia Consulta
        /// </summary>
        /// <param name="data"></param>
        /// <returns>Indicador con el resultado de la operación</returns>
        public ProcessResult <ConsultaRequest> ReenviarConsulta(ConsultaRequest data)
        {
            ProcessResult <ConsultaRequest> resultado = new ProcessResult <ConsultaRequest>();

            try
            {
                ConsultaEntity entidad = ConsultaAdapter.ObtenerConsultaEntity(data);
                entidad.EstadoConsulta = DatosConstantes.EstadoConsulta.Enviado;
                entidad.FechaEnvio     = DateTime.Now;

                //Obtenemos la consulta original
                var entidadSincronizar = consultaEntityRepository.GetById(new Guid(data.CodigoConsultaRelacionado));

                entidad.Asunto = "RE: " + entidadSincronizar.Asunto;
                var nombreRemitenteOriginal = trabajadorService.BuscarTrabajador(new TrabajadorRequest()
                {
                    CodigoTrabajador = entidadSincronizar.CodigoRemitente
                }).Result.FirstOrDefault().NombreCompleto;
                entidad.Contenido                 = data.Adicional + "</br></br> Enviado por " + nombreRemitenteOriginal + " el " + entidadSincronizar.FechaEnvio.Value.ToString("dd/M/yyyy") + ":</br></br>" + entidadSincronizar.Contenido;
                entidad.Tipo                      = entidadSincronizar.Tipo;
                entidad.CodigoDestinatario        = new Guid(data.CodigoDestinatario);
                entidad.CodigoRemitente           = new Guid(data.CodigoRemitente);
                entidad.CodigoUnidadOperativa     = entidadSincronizar.CodigoUnidadOperativa;
                entidad.CodigoArea                = entidadSincronizar.CodigoArea;
                entidad.CodigoConsultaRelacionado = new Guid(data.CodigoConsultaRelacionado);
                entidad.CodigoConsultaOriginal    = (entidadSincronizar.CodigoConsultaOriginal == null ? entidadSincronizar.CodigoConsulta : entidadSincronizar.CodigoConsultaOriginal);
                entidad.VistoRemitenteOriginal    = true;
                consultaEntityRepository.Insertar(entidad);
                consultaEntityRepository.GuardarCambios();

                //Cambiamos el estado en la consulta original a reenviado
                entidadSincronizar.EstadoConsulta = DatosConstantes.EstadoConsulta.Reenviado;
                consultaEntityRepository.Editar(entidadSincronizar);
                consultaEntityRepository.GuardarCambios();

                //Enviar Correo
                ParametrosNotificacion datos = new ParametrosNotificacion();
                datos.TipoNotificacion = DatosConstantes.TipoNotificacion.RegistroConsultas;
                datos.variables        = new Dictionary <string, string>();

                PlantillaNotificacionRequest filtro = new PlantillaNotificacionRequest();
                filtro.CodigoSistema          = ConfigurationManager.AppSettings["CODIGO_SISTEMA"].ToString();
                filtro.CodigoTipoNotificacion = datos.TipoNotificacion;

                var datosPlantilla = plantillaNotificacionService.BuscarPlantillaNotificacion(filtro).Result.FirstOrDefault();

                if (datosPlantilla != null)
                {
                    var profile = politicaService.ListaCuentaNotificacionSGC(null, "3").Result.FirstOrDefault();
                    datos.profileCorreo = (profile != null ? profile.Valor.ToString() : "");

                    var urlSistema = politicaService.ListaUrlSistemas(null, "3").Result.FirstOrDefault().Valor.ToString();
                    urlSistema = string.Format("{0}{1}{2}{3}{4}{5}{6}", "<a href='", urlSistema,
                                               DatosConstantes.UrlOpcionesSistema.RutaConsulta, "'>", urlSistema,
                                               DatosConstantes.UrlOpcionesSistema.RutaConsulta, "</a>");

                    var destinatario = trabajadorService.BuscarTrabajador(new TrabajadorRequest()
                    {
                        CodigoTrabajador = entidad.CodigoDestinatario
                    }).Result.FirstOrDefault();

                    datos.variables.Add("@para", destinatario.NombreCompleto);
                    datos.variables.Add("@tipo_consulta", data.DescripcionTipo);
                    datos.variables.Add("@url_opcion_sistema", urlSistema);
                    datos.textoNotificar = data.Adicional + "</br></br> Enviado por " + nombreRemitenteOriginal + " el " + entidadSincronizar.FechaEnvio.Value.ToString("dd/M/yyyy") + ":</br></br>" + datosPlantilla.Contenido;

                    foreach (var item in datos.variables)
                    {
                        datos.textoNotificar = datos.textoNotificar.Replace(item.Key, item.Value);
                    }

                    consultaLogicRepository.NotificarConsulta(entidadSincronizar.Asunto, datos.textoNotificar, destinatario.CorreoElectronico, null, datos.profileCorreo);
                }

                //copiar los adjuntos del original
                var resultAdjunto = consultaAdjuntoLogicRepository.BuscarConsultaAdjunto(
                    null,
                    new Guid(data.CodigoConsultaRelacionado),
                    null,
                    null,
                    DatosConstantes.EstadoRegistro.Activo
                    );

                if (resultAdjunto != null && resultAdjunto.Count > 0)
                {
                    foreach (var item in resultAdjunto)
                    {
                        item.CodigoConsultaAdjunto = Guid.NewGuid();
                        item.CodigoConsulta        = entidad.CodigoConsulta;
                        consultaAdjuntoEntityRepository.Insertar(ConsultaAdapter.ObtenerConsultaAdjuntoEntityDeLogic(item));
                        consultaAdjuntoEntityRepository.GuardarCambios();
                    }
                }

                //Guardar nuevos adjuntos
                if (data.ListaAdjuntos != null)
                {
                    foreach (var item in data.ListaAdjuntos)
                    {
                        byte[] bytes = System.IO.File.ReadAllBytes(item.RutaArchivoSharePoint);
                        item.CodigoConsulta = entidad.CodigoConsulta;
                        item.ArchivoAdjunto = bytes;
                        var resultadoAdjunto = RegistrarConsultaAdjunto(item);
                    }
                }

                data.ListaAdjuntos = null;

                resultado.Result = data;
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <ConsultaService>(e);
            }

            return(resultado);
        }
Beispiel #12
0
        /// <summary>
        /// Registra / Responde Consulta
        /// </summary>
        /// <param name="data"></param>
        /// <returns>Indicador con el resultado de la operación</returns>
        public ProcessResult <ConsultaRequest> RegistrarConsulta(ConsultaRequest data)
        {
            ProcessResult <ConsultaRequest> resultado = new ProcessResult <ConsultaRequest>();

            try
            {
                ConsultaEntity entidad = ConsultaAdapter.ObtenerConsultaEntity(data);

                if (data.CodigoConsulta == null)
                {
                    entidad.EstadoConsulta         = DatosConstantes.EstadoConsulta.Enviado;
                    entidad.FechaEnvio             = DateTime.Now;
                    entidad.VistoRemitenteOriginal = true;
                    consultaEntityRepository.Insertar(entidad);
                    consultaEntityRepository.GuardarCambios();

                    if (!string.IsNullOrEmpty(data.CodigoDestinatario))
                    {
                        var destinatario = trabajadorService.BuscarTrabajador(new TrabajadorRequest()
                        {
                            CodigoTrabajador = new Guid(data.CodigoDestinatario)
                        }).Result.FirstOrDefault();

                        data.CorreoDestinatario = destinatario.CorreoElectronico;
                        data.NombreDestinatario = destinatario.NombreCompleto;

                        EnviarNotificacion(DatosConstantes.TipoNotificacion.RegistroConsultas, data.DescripcionTipo, data.Asunto, data.NombreDestinatario, data.CorreoDestinatario);
                    }
                }
                else //es un responder
                {
                    var entidadSincronizar = consultaEntityRepository.GetById(entidad.CodigoConsulta);

                    entidadSincronizar.Respuesta      = entidad.Respuesta;
                    entidadSincronizar.FechaRespuesta = (entidadSincronizar.CodigoConsultaOriginal != null ? (DateTime?)null : DateTime.Now);
                    entidadSincronizar.EsValido       = entidad.EsValido;

                    if (entidad.EsValido == true)
                    {
                        entidadSincronizar.EstadoConsulta = DatosConstantes.EstadoConsulta.Contestado;
                    }
                    else
                    {
                        entidadSincronizar.EstadoConsulta = DatosConstantes.EstadoConsulta.NoAplica;
                    }

                    //Listamos todas las consultas que hayan sido reenviadas incluyendo la original que tienen el mismo codigo de consulta original
                    var listaConsultas = consultaLogicRepository.ListaConsultaSimple(null, null, null, null, null, null, null).Where(x => (x.CodigoConsultaOriginal == entidadSincronizar.CodigoConsultaOriginal || x.CodigoConsulta == entidadSincronizar.CodigoConsultaOriginal) && x.CodigoConsulta != entidad.CodigoConsulta).ToList();

                    if (entidadSincronizar.CodigoConsultaOriginal != null)
                    {
                        var consultaOriginal = consultaEntityRepository.GetById(entidadSincronizar.CodigoConsultaOriginal);

                        //insertamos un nuevo registro de contestacion de consulta
                        var consultaRespuesta = new ConsultaEntity();
                        consultaRespuesta.Asunto                    = entidadSincronizar.Asunto;
                        consultaRespuesta.CodigoArea                = entidadSincronizar.CodigoArea;
                        consultaRespuesta.CodigoConsulta            = Guid.NewGuid();
                        consultaRespuesta.CodigoConsultaOriginal    = entidadSincronizar.CodigoConsultaOriginal;
                        consultaRespuesta.CodigoConsultaRelacionado = entidadSincronizar.CodigoConsultaRelacionado;
                        consultaRespuesta.CodigoDestinatario        = entidadSincronizar.CodigoDestinatario;
                        consultaRespuesta.CodigoRemitente           = consultaOriginal.CodigoRemitente;
                        consultaRespuesta.CodigoUnidadOperativa     = entidadSincronizar.CodigoUnidadOperativa;
                        consultaRespuesta.Contenido                 = entidadSincronizar.Contenido;
                        consultaRespuesta.EstadoConsulta            = entidadSincronizar.EstadoConsulta;
                        consultaRespuesta.EstadoRegistro            = entidadSincronizar.EstadoRegistro;
                        consultaRespuesta.EsValido                  = entidadSincronizar.EsValido;
                        consultaRespuesta.FechaCreacion             = entidadSincronizar.FechaCreacion;
                        consultaRespuesta.FechaEnvio                = entidadSincronizar.FechaEnvio;
                        consultaRespuesta.FechaModificacion         = entidadSincronizar.FechaModificacion;
                        consultaRespuesta.FechaRespuesta            = DateTime.Now;
                        consultaRespuesta.Respuesta                 = entidadSincronizar.Respuesta;
                        consultaRespuesta.TerminalCreacion          = entidadSincronizar.TerminalCreacion;
                        consultaRespuesta.TerminalModificacion      = entidadSincronizar.TerminalModificacion;
                        consultaRespuesta.Tipo                   = entidadSincronizar.Tipo;
                        consultaRespuesta.UsuarioCreacion        = entidadSincronizar.UsuarioCreacion;
                        consultaRespuesta.UsuarioModificacion    = entidadSincronizar.UsuarioModificacion;
                        consultaRespuesta.VistoRemitenteOriginal = entidadSincronizar.VistoRemitenteOriginal;

                        consultaEntityRepository.Insertar(consultaRespuesta);
                        consultaEntityRepository.GuardarCambios();
                        //entidadSincronizar.CodigoRemitente = consultaOriginal.CodigoRemitente;
                    }
                    //Actualizamos la consulta con respuesta
                    consultaEntityRepository.Editar(entidadSincronizar);
                    consultaEntityRepository.GuardarCambios();

                    //Enviar notificación de respuesta
                    if (entidadSincronizar.CodigoRemitente != null)
                    {
                        var destinatario = trabajadorService.BuscarTrabajador(new TrabajadorRequest()
                        {
                            CodigoTrabajador = entidadSincronizar.CodigoRemitente
                        }).Result.FirstOrDefault();
                        EnviarNotificacion(DatosConstantes.TipoNotificacion.RespuestaConsultas, data.DescripcionTipo, entidadSincronizar.Asunto, destinatario.NombreCompleto, destinatario.CorreoElectronico);
                    }

                    //Actualizamos todas las consultas que hayan sido reenviadas incluyendo la original que tienen el mismo codigo de consulta original
                    foreach (var item in listaConsultas)
                    {
                        var itemEditar = consultaEntityRepository.GetById(item.CodigoConsulta);

                        itemEditar.VistoRemitenteOriginal = (itemEditar.CodigoConsulta == entidadSincronizar.CodigoConsultaOriginal ? false : true);
                        itemEditar.EstadoConsulta         = entidadSincronizar.EstadoConsulta;
                        //itemEditar.FechaRespuesta = entidadSincronizar.FechaRespuesta;
                        //entidadOriginalSincronizar.Respuesta = entidadSincronizar.Respuesta;
                        itemEditar.EsValido = entidadSincronizar.EsValido;
                        consultaEntityRepository.Editar(itemEditar);
                        consultaEntityRepository.GuardarCambios();
                    }

                    //var entidadOriginalSincronizar = consultaEntityRepository.GetById(entidadSincronizar.CodigoConsultaOriginal);
                    //if (entidadOriginalSincronizar != null)
                    //{
                    //    entidadOriginalSincronizar.VistoRemitenteOriginal = false;
                    //    entidadOriginalSincronizar.EstadoConsulta = entidadSincronizar.EstadoConsulta;
                    //    entidadOriginalSincronizar.FechaRespuesta = entidadSincronizar.FechaRespuesta;
                    //    //entidadOriginalSincronizar.Respuesta = entidadSincronizar.Respuesta;
                    //    entidadOriginalSincronizar.EsValido = entidadSincronizar.EsValido;
                    //    consultaEntityRepository.Editar(entidadOriginalSincronizar);
                    //    consultaEntityRepository.GuardarCambios();
                    //}
                }

                //Registrar adjuntos
                if (data.ListaAdjuntos != null)
                {
                    foreach (var item in data.ListaAdjuntos)
                    {
                        byte[] bytes = System.IO.File.ReadAllBytes(item.RutaArchivoSharePoint);
                        item.CodigoConsulta = entidad.CodigoConsulta;
                        item.ArchivoAdjunto = bytes;
                        var resultadoAdjunto = RegistrarConsultaAdjunto(item);
                    }
                    data.ListaAdjuntos = null;
                }

                resultado.Result = data;
            }
            catch (Exception e)
            {
                resultado.IsSuccess = false;
                resultado.Exception = new ApplicationLayerException <ConsultaService>(e);
            }
            return(resultado);
        }