public IDictionary <string, string> GetDatasToRequest() { try { IDictionary <string, string> dictonaryForConsulting = new Dictionary <string, string>(); IList <Embarque> listEmbarque = new EmbarqueDao().FindConsultaPrestacaoContaEnbaleAsNoTracking(_kindfOeMessge); foreach (Embarque embarque in listEmbarque) { if (embarque != null && embarque.ConsultaPrestConta == true) { DadosBroker dadosBroker = new DadosBrokerDao().FindByIdAsNoTracking(embarque.DadosBrokerID); Cabecalho cabecalho = dadosBroker.DadosBrokerCabecalho.FirstOrDefault(cab => cab.Cabecalho.Mensagem == _numberOfMessage && cab.Cabecalho.Tipo == _kindfOeMessge).Cabecalho; ChangeXMLContext.GetInstance().Configuration.ProxyCreationEnabled = false; if (cabecalho.Mensagem == _numberOfMessage && cabecalho.Tipo == _kindfOeMessge) { RequestMessage5 consulta = new RequestMessage5(new DataHeaderRequest(cabecalho, dadosBroker), embarque); string xml = new SerializeXml <RequestMessage5>().serializeXmlForGTE(consulta); dictonaryForConsulting.Add(embarque.SBELN, xml); } } } ChangeXMLContext.GetInstance().Configuration.ProxyCreationEnabled = true; return(dictonaryForConsulting); } catch (Exception ex) { throw new ChangeXmlException(MessagesOfReturn.ExceptionGetDatasToRequest, ex); } }
public IDictionary <string, List <string> > GetDatasToRequest() { try { IDictionary <string, List <string> > dictonaryForConsulting = new Dictionary <string, List <string> >(); IList <Embarque> listEmbarque = new EmbarqueDao().FindEnviaPrestacaoContaEnbaleAsNoTracking(_kindOfMessage); foreach (Embarque embarque in listEmbarque) { if (embarque != null && embarque.EnviaPrestConta == true) { DadosBroker dadosBroker = new DadosBrokerDao().FindByIdAsNoTracking(embarque.DadosBrokerID); Cabecalho cabecalho = dadosBroker.DadosBrokerCabecalho.FirstOrDefault(cab => cab.Cabecalho.Mensagem == _numberOfMessage && cab.Cabecalho.Tipo == _kindOfMessage).Cabecalho; if (cabecalho.Mensagem == _numberOfMessage && cabecalho.Tipo == _kindOfMessage) { List <RequestMessage4> listMessage4 = GetObject(embarque, cabecalho, dadosBroker); List <string> xml = new List <string>(); foreach (RequestMessage4 consulta in listMessage4) { string eachXml = new SerializeXml <RequestMessage4>().serializeXmlForGTE(consulta); xml.Add(eachXml); } dictonaryForConsulting.Add(embarque.SBELN, xml); } } } ChangeXMLContext.GetInstance().Configuration.ProxyCreationEnabled = true; return(dictonaryForConsulting); } catch (Exception ex) { throw new ChangeXmlException(MessagesOfReturn.ExceptionGetDatasToRequest, ex); } }
/// <summary> /// Instancia as classes do tipo Mensagem do BL.Command /// e invoca o método SwapXmlWithGTE /// </summary> /// <returns></returns> public void StartChangeXML() { for (int i = 0; i < 5; i++) { string retorno = ""; int message = i + 1; Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); try { //Recarrega o contexto ChangeXMLContext.ReloadContext(); //Define qual Mensagem instanciar string objeto = "BL.Command.Mensagem" + message; //Instancia a Mensagem var classe = Activator.CreateInstance(null, objeto); IMessage mensagem = (IMessage)classe.Unwrap(); //Efetua a troca da Mensagem com o Web Service retorno += mensagem.Execute(); } catch (Exception ex) { string messageError = MessagesOfReturn.ExceptionMessageLogSupport($"Message {message}", null, GetNumberOfMessage(message)); int codeMessageError = MakeLog.BuildErrorLogSupport(ex, messageError, "RunMessenger"); messageError = $"Erro Faltal{Environment.NewLine}"; retorno += MessagesOfReturn.ExceptionMessageLogUser(codeMessageError, message.ToString()); } finally { stopwatch.Stop(); MakeLog.BuildLogUser(retorno, GetNumberOfMessage(message), stopwatch.Elapsed); } } }