Пример #1
0
        private string SaveResponseSuccess(string message, string kindOfMessage)
        {
            string   sbeln    = RESPONSE.PCK.FirstOrDefault(e => !string.IsNullOrEmpty(e.SBELN)).SBELN;
            TPCKDao  tpckDao  = new TPCKDao();
            Embarque embarque = new EmbarqueDao().FindBySbeln(sbeln, kindOfMessage);
            IDictionary <string, TPCK> dictionaryTcpkByXblnr = tpckDao.DictionaryByXblnr(embarque.ID);
            IList <Status>             listStatus            = new List <Status>();

            foreach (var itemTpck in RESPONSE.PCK)
            {
                string newDesc = "";
                if (dictionaryTcpkByXblnr.ContainsKey(itemTpck.XBLNR))
                {
                    dictionaryTcpkByXblnr[itemTpck.XBLNR].STATU = itemTpck.STATU;
                    newDesc = MessagesOfReturn.DescriptionUpdateXblnrSuccess(itemTpck.XBLNR, RESPONSE.STATUS.DESC);
                }
                else
                {
                    newDesc = MessagesOfReturn.DescriptionUpdateXblnrNotFound(itemTpck.XBLNR, RESPONSE.STATUS.DESC);
                }

                listStatus.Add(RESPONSE.STATUS.BuildsStatusWithNewDesc(newDesc));
            }

            tpckDao.Update();

            foreach (var itemStatus in listStatus)
            {
                ConfigStatus.SaveStatus(itemStatus, embarque);
            }

            return(MessagesOfReturn.ProcessMessageSuccess(message, embarque.SBELN));
        }
Пример #2
0
        private List <RequestMessage4> GetObject(Embarque embarque, Cabecalho cabecalho, DadosBroker broker)
        {
            List <RequestMessage4> listRequestMessage4 = new List <RequestMessage4>();
            List <TPCK>            listTpck            = new TPCKDao().FindByIdEmbarqueEager(embarque.ID).ToList();

            foreach (TPCK eachTpck in listTpck)
            {
                RequestMsg4 request = new RequestMsg4();
                request.Type      = cabecalho.RequestType;
                request.ACAO      = cabecalho.ACAO;
                request.IDBR      = broker.IDBR;
                request.IDCL      = broker.IDCL;
                request.SHKEY     = broker.SHKEY;
                request.STR       = new STR(broker);
                request.PCK       = eachTpck;
                request.PCK.SBELN = embarque.SBELN;
                //Esse campo necessita do valor "S" para o request da Mensagem 4, porém no response da Mensagem 5 esse mesmo campo é
                //recebido com o valor "L", sendo assim o valor que do Webservice é salvo no banco de dados necessitando assim essa alteração
                request.PCK.Type = "S";

                RequestMessage4 requestMessage4 = new RequestMessage4();
                requestMessage4.EDX     = cabecalho.MensagemEDX;
                requestMessage4.REQUEST = request;

                listRequestMessage4.Add(requestMessage4);
            }
            return(listRequestMessage4);
        }