Exemplo n.º 1
0
    public Encomenda(EncomendaWEBooks encomendaWEBooks)
    {
        IdEncomenda = encomendaWEBooks.IdEncomenda;

        _listaLivros = new Livro[encomendaWEBooks.ListaBook.Length];
        int i = 0;
        foreach (Book book in encomendaWEBooks.ListaBook) {
            _listaLivros[i] = new Livro();

            _listaLivros[i].ISBN = book.ISBN;
            _listaLivros[i].NomeFornecedor = book.Fornecedor;
            _listaLivros[i].PrecoVenda = book.PrecoVenda + "";
            _listaLivros[i].Quantidade = book.Quantidade;
            _listaLivros[i].TempoEntrega = book.Disponibilidade;
            _listaLivros[i].Titulo = book.Titulo;

            i++;
        }

        //Encher os campos que nao veem da fila

        ValorTotal = 0.0;
        NomeCliente = "indisponivel";

        Numero = "indisponivel";
        Address = "indisponivel";
        City = "indisponivel";
        State = "indisponivel";
        ZIPcode = "indisponivel";
        Country = "indisponivel";
        Estado = "indisponivel";

        TempoEspera = 0;
    }
Exemplo n.º 2
0
        /// <summary>
        /// Thread que fica a escuta no fila de mensagens
        /// </summary>
        public void Receiver()
        {
            ComunicacaoFila comFila = new ComunicacaoFila();

            while (true)
            {
                //Thread.Sleep(new TimeSpan(0,0,10));

                System.Messaging.Message mensagem;

                try
                {
                    mensagem = mqDist.Receive(new TimeSpan(0, 0, 3));

                    EncomendaWEBooks encomendaWEbooks = new EncomendaWEBooks((XmlDocument)mensagem.Body);

                    //Envia para o log o tipo de mensagem que recebeu
                    actualizaLog(encomendaWEbooks.TipoMensagem, true);

                    if (encomendaWEbooks.TipoMensagem.ToLower() == "colocar")
                    {
                        WEBooksDistribuidorService servicoDistribuidor = new WEBooksDistribuidorService();
                        servicoDistribuidor.EncomendaWEBooks = encomendaWEbooks;

                        WaitCallback EncomendaCallBack = new WaitCallback(servicoDistribuidor.TempoVidaEncomenda);
                        ThreadPool.QueueUserWorkItem(EncomendaCallBack);

                        actualizaLog(encomendaWEbooks.IdEncomenda, false);

                    }
                    else if (encomendaWEbooks.TipoMensagem.ToLower() == "cancelar")
                    {
                        WEBooksDistribuidorService servicoDistribuidor = new WEBooksDistribuidorService();
                        servicoDistribuidor.EncomendaWEBooks = encomendaWEbooks;

                        WaitCallback CancelaCallBack = new WaitCallback(servicoDistribuidor.CancelaEncomenda);
                        ThreadPool.QueueUserWorkItem(CancelaCallBack);
                    }
                }
                catch
                {
                    //nao faz nada, significa que nao existem mensagens na fila
                }

            }
        }
Exemplo n.º 3
0
 public void escreveFilaWeb(EncomendaWEBooks encomendaWEBooks)
 {
     System.Messaging.Message mes = new Message();
     mes.Body = encomendaWEBooks.Encomenda2XmlDocument();
     mqWeb.Send(mes);
 }