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); } } } }
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); } } }