Exemple #1
0
 private void bb_gerarOrdemProd_Click(object sender, EventArgs e)
 {
     if (bsPRDProdutoEntregar.Current != null)
     {
         if (MessageBox.Show("Deseja gerar a ordem de produção para o produto " +
                             (bsPRDProdutoEntregar.Current as TRegistro_PRD_ProdutoEntregar).Cd_produto.Trim() + "-" +
                             (bsPRDProdutoEntregar.Current as TRegistro_PRD_ProdutoEntregar).Ds_produto.Trim() + "?", "Pergunta",
                             MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1)
             == DialogResult.Yes)
         {
             try
             {
                 //Buscar Pedido
                 TList_Pedido lPedido =
                     new TCD_Pedido().Select(
                         new Utils.TpBusca[]
                 {
                     new Utils.TpBusca()
                     {
                         vNM_Campo = "a.nr_pedido",
                         vOperador = "=",
                         vVL_Busca = (bsPRDProdutoEntregar.Current as TRegistro_PRD_ProdutoEntregar).Nr_pedido.ToString()
                     }
                 }, 1, string.Empty);
                 if (lPedido.Count > 0)
                 {
                     //Buscar Itens do Pedido
                     lPedido[0].Pedido_Itens =
                         new TCD_LanPedido_Item().Select(
                             new Utils.TpBusca[]
                     {
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.nr_pedido",
                             vOperador = "=",
                             vVL_Busca = lPedido[0].Nr_pedido.ToString()
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.id_pedidoitem",
                             vOperador = "=",
                             vVL_Busca = (bsPRDProdutoEntregar.Current as TRegistro_PRD_ProdutoEntregar).Id_item.ToString()
                         },
                         new Utils.TpBusca()
                         {
                             vNM_Campo = "a.cd_produto",
                             vOperador = "=",
                             vVL_Busca = "'" + (bsPRDProdutoEntregar.Current as TRegistro_PRD_ProdutoEntregar).Cd_produto.Trim() + "'"
                         }
                     }, 0, string.Empty, string.Empty, string.Empty);
                     lPedido[0].Pedido_Itens.ForEach(x =>
                     {
                         if ((bsPRDProdutoEntregar.Current as TRegistro_PRD_ProdutoEntregar).Id_formulacao.HasValue)
                         {
                             //Buscar ficha tecnica da formula
                             TCN_FichaTec_MPrima.Buscar(cbEmpresa.SelectedValue.ToString(),
                                                        (bsPRDProdutoEntregar.Current as TRegistro_PRD_ProdutoEntregar).Id_formulacao.Value.ToString(),
                                                        string.Empty,
                                                        string.Empty,
                                                        string.Empty,
                                                        0,
                                                        string.Empty,
                                                        null).ForEach(v =>
                             {
                                 x.lFichaTec.Add(new TRegistro_FichaTecItemPed
                                 {
                                     Cd_item       = v.Cd_produto,
                                     Cd_local      = v.Cd_local,
                                     Cd_produto    = x.Cd_produto,
                                     Cd_unditem    = v.Cd_unid_produto,
                                     Id_pedidoitem = x.Id_pedidoitem,
                                     Nr_pedido     = x.Nr_pedido,
                                     Quantidade    = v.Qtd_produto
                                 });
                             });
                         }
                         else
                         {
                             //Buscar Ficha Técnica do Pedido Item
                             x.lFichaTec = new TCD_FichaTecItemPed().Select(
                                 new Utils.TpBusca[]
                             {
                                 new Utils.TpBusca()
                                 {
                                     vNM_Campo = "a.nr_pedido",
                                     vOperador = "=",
                                     vVL_Busca = x.Nr_pedido.ToString()
                                 },
                                 new Utils.TpBusca()
                                 {
                                     vNM_Campo = "a.cd_produto",
                                     vOperador = "=",
                                     vVL_Busca = "'" + x.Cd_produto.Trim() + "'"
                                 },
                                 new Utils.TpBusca()
                                 {
                                     vNM_Campo = "a.id_pedidoitem",
                                     vOperador = "=",
                                     vVL_Busca = x.Id_pedidoitem.ToString()
                                 }
                             }, 0, string.Empty);
                         }
                     });
                     //Verificar se existe item na ficha técnica sem cadastro
                     if (lPedido[0].Pedido_Itens[0].lFichaTec.Exists(p => string.IsNullOrEmpty(p.Cd_item)))
                     {
                         using (TFFichaTecItemPed fItem = new TFFichaTecItemPed())
                         {
                             fItem.rItem = lPedido[0].Pedido_Itens[0];
                             if (fItem.ShowDialog() == DialogResult.OK)
                             {
                                 if (fItem.rItem != null)
                                 {
                                     try
                                     {
                                         TCN_LanPedido_Item.GravaPedido_Item(fItem.rItem, null);
                                         MessageBox.Show("Itens alterados com sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                         bb_gerarOrdemProd_Click(this, new EventArgs());
                                     }
                                     catch (Exception ex)
                                     { MessageBox.Show(ex.Message.Trim(), "erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
                                 }
                             }
                         }
                     }
                 }
                 TCN_Pedido.GerarOrdemProducao(lPedido[0], null);
                 MessageBox.Show("Ordem de Produção gerada com sucesso!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 bbBuscarOrdem_Click(this, new EventArgs());
             }
             catch (Exception ex)
             { MessageBox.Show(ex.Message.Trim(), "erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
         }
     }
 }
Exemple #2
0
        private void bbDownload_Click(object sender, EventArgs e)
        {
            if (cbLoja.SelectedItem == null)
            {
                MessageBox.Show("Obrigatório selecionar loja.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                cbLoja.Focus();
                return;
            }
            if (string.IsNullOrEmpty((cbLoja.SelectedItem as TRegistro_LojaVirtual).UserName))
            {
                MessageBox.Show("Não existe USERNAME cadastrado para loja.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            if (string.IsNullOrEmpty((cbLoja.SelectedItem as TRegistro_LojaVirtual).ApiKey))
            {
                MessageBox.Show("Não existe APIKEY cadastrado para loja.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            MagentoService api    = new MagentoService();
            string         sessao = string.Empty;

            try
            {
                sessao = api.login((cbLoja.SelectedItem as TRegistro_LojaVirtual).UserName, (cbLoja.SelectedItem as TRegistro_LojaVirtual).ApiKey);
                filters         mf  = new filters();
                complexFilter[] cpf = new complexFilter[0];
                if (cbStatus.SelectedIndex > 0)
                {
                    complexFilter mcpf = new complexFilter();
                    mcpf.key = "status";
                    associativeEntity mas = new associativeEntity();
                    mas.key    = "=";
                    mas.value  = cbStatus.SelectedValue.ToString();
                    mcpf.value = mas;
                    Array.Resize(ref cpf, cpf.Length + 1);
                    cpf[cpf.Length - 1] = mcpf;
                }
                if (!string.IsNullOrEmpty(dt_ini.Text.SoNumero()))
                {
                    complexFilter mcpf = new complexFilter();
                    mcpf.key = "created_at";
                    associativeEntity mas = new associativeEntity();
                    mas.key    = "from";
                    mas.value  = DateTime.Parse(dt_ini.Text).ToString("yyyy-MM-dd") + " 00:00:00";
                    mcpf.value = mas;
                    Array.Resize(ref cpf, cpf.Length + 1);
                    cpf[cpf.Length - 1] = mcpf;
                }
                mf.complex_filter = cpf;
                salesOrderListEntity[] lista = api.salesOrderList(sessao, mf);
                if (lista.Length > 0)
                {
                    TList_Pedido lPedido = new TList_Pedido();
                    lista.ToList().ForEach(p =>
                    {
                        object obj = new TCD_Pedido().BuscarEscalar(
                            new TpBusca[]
                        {
                            new TpBusca()
                            {
                                vNM_Campo = "a.Nr_PedidoOrigem",
                                vOperador = "=",
                                vVL_Busca = "'" + p.increment_id.Trim() + "'"
                            }
                        }, "a.nr_pedido");
                        lPedido.Add(new TRegistro_Pedido()
                        {
                            Nr_PedidoOrigem = p.increment_id,
                            Vl_totalpedido  = decimal.Divide(int.Parse(p.grand_total.SoNumero()), 10000),
                            StatusMagento   = p.status,
                            NM_Clifor       = p.firstname.Trim() + " " + p.lastname.Trim(),
                            Nr_pedido       = obj == null ? 0 : decimal.Parse(obj.ToString()),
                            DT_Pedido       = DateTime.Parse(p.created_at)
                        });
                    });
                    bsPedLoja.DataSource = lPedido;
                }
            }
            catch (Exception ex)
            { MessageBox.Show(ex.Message.Trim(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); }
            finally
            {
                if (!string.IsNullOrWhiteSpace(sessao))
                {
                    api.endSession(sessao);
                }
            }
        }