コード例 #1
0
ファイル: DrupalUtil.cs プロジェクト: lincoln-alves/sgus
        public static int?SalvaNodeDrupalRest(Dictionary <string, string> postParameters, bool salvarLog = true, BMConfiguracaoSistema bmConfiguracaoSistema = null, BMLogSincronia bmLogSincronia = null, Usuario usuarioLogado = null)
        {
            var basePath = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.UrlRestPortal, bmConfiguracaoSistema).Registro;

            var pathRestPortal =
                ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.PathRestPortal, bmConfiguracaoSistema).Registro;

            var logSincronia = new LogSincronia
            {
                Usuario      = usuarioLogado ?? new BMUsuario().ObterUsuarioLogado(),
                Sincronizado = false,
                Url          = basePath + pathRestPortal,
                Action       = "import",
                Method       = "POST",
                Acao         = enumAcao.Atualizar
            };

            logSincronia.ListaPostParameters =
                postParameters.Select(
                    p =>
                    new LogSincroniaPostParameters
            {
                LogSincronia = logSincronia,
                Descricao    = p.Value,
                Registro     = p.Key
            }).ToList();

            logSincronia.Hash = logSincronia.HashObj();

            try
            {
                return(NodeDrupalRest(logSincronia, bmConfiguracaoSistema));
            }
            catch
            {
                if (!salvarLog)
                {
                    throw;
                }

                //dll UTIL não tem acesso a camada "BP" Para Evitar "referencing loop detected"
                bmLogSincronia = bmLogSincronia ?? new BMLogSincronia();

                var tmpLogSincronia = bmLogSincronia.ObterPorFiltro(logSincronia);

                if (tmpLogSincronia != null && tmpLogSincronia.Sincronizado)
                {
                    return(null);
                }

                bmLogSincronia.Salvar(logSincronia);

                return(null);
            }
        }
コード例 #2
0
ファイル: DrupalUtil.cs プロジェクト: lincoln-alves/sgus
        public static void RemoverNodeDrupalRest(int id, bool salvarLog = true)
        {
            var basePath       = ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.UrlRestPortal).Registro;
            var pathRestPortal =
                ConfiguracaoSistemaUtil.ObterInformacoes(enumConfiguracaoSistema.PathRestPortal).Registro;
            var logSincronia = new LogSincronia
            {
                Usuario      = (new BMUsuario()).ObterUsuarioLogado(),
                Sincronizado = false,
                Url          = basePath + pathRestPortal,
                Action       = "delete",
                Method       = "POST",
                Acao         = enumAcao.Remover
            };
            var postParameters = new Dictionary <string, string>
            {
                { "node_id", id.ToString() }
            };

            logSincronia.ListaPostParameters =
                postParameters.Select(
                    p =>
                    new LogSincroniaPostParameters
            {
                LogSincronia = logSincronia,
                Descricao    = p.Value,
                Registro     = p.Key
            }).ToList();
            logSincronia.Hash = logSincronia.HashObj();

            try
            {
                NodeDrupalRest(logSincronia);
            }
            catch (Exception)
            {
                if (!salvarLog)
                {
                    throw;
                }

                //dll UTIL não tem acesso a camada "BP" Para Evitar "referencing loop detected"
                var bmLogSincronia = new BMLogSincronia();

                var tmpLogSincronia = bmLogSincronia.ObterPorFiltro(logSincronia);

                if (tmpLogSincronia != null && tmpLogSincronia.Sincronizado)
                {
                    return;
                }

                bmLogSincronia.Salvar(logSincronia);
            }
        }
コード例 #3
0
        public void Sincronizar(LogSincronia log)
        {
            if (log == null)
            {
                return;
            }
            try
            {
                var result = DrupalUtil.NodeDrupalRest(log).HasValue;

                if (!result)
                {
                    return;
                }

                log.Sincronizado = true;

                _bmLogSincronia.Salvar(log);
            }
            catch
            {
            }
        }