Exemple #1
0
        public override int buscarRegistros()
        {
            CamadaDados.Faturamento.Cadastros.TList_CfgCompraAvulsa lista =
                CamadaNegocio.Faturamento.Cadastros.TCN_CfgCompraAvulsa.Buscar(cd_empresa.Text,
                                                                               null);

            if (lista != null)
            {
                if (lista.Count > 0)
                {
                    this.Lista = lista;
                    bsCompraAvulsa.DataSource = lista;
                }
                else
                if ((vTP_Modo == Utils.TTpModo.tm_Standby) || (vTP_Modo == Utils.TTpModo.tm_busca))
                {
                    bsCompraAvulsa.Clear();
                }
                return(lista.Count);
            }
            else
            {
                return(0);
            }
        }
Exemple #2
0
        public static string Gravar(TRegistro_CompraAvulsa val, BancoDados.TObjetoBanco banco)
        {
            bool             st_transacao = false;
            TCD_CompraAvulsa qtb_compra   = new TCD_CompraAvulsa();

            try
            {
                if (banco == null)
                {
                    st_transacao = qtb_compra.CriarBanco_Dados(true);
                }
                else
                {
                    qtb_compra.Banco_Dados = banco;
                }
                //Buscar config compra avulsa
                CamadaDados.Faturamento.Cadastros.TList_CfgCompraAvulsa lCfg = Cadastros.TCN_CfgCompraAvulsa.Buscar(val.Cd_empresa, qtb_compra.Banco_Dados);
                if (lCfg.Count.Equals(0))
                {
                    throw new Exception("Não existe configuração para gravar romaneio de compra na empresa " + val.Cd_empresa.Trim());
                }
                val.Id_comprastr = CamadaDados.TDataQuery.getPubVariavel(qtb_compra.Gravar(val), "@P_ID_COMPRA");
                //Item Compra
                val.lItensDel.ForEach(p => TCN_Compra_Itens.Excluir(p, qtb_compra.Banco_Dados));
                val.lItens.ForEach(p =>
                {
                    p.Cd_empresa = val.Cd_empresa;
                    p.Id_compra  = val.Id_compra;
                    p.Cd_local   = lCfg[0].Cd_local;
                    TCN_Compra_Itens.Gravar(p, qtb_compra.Banco_Dados);
                });
                if (st_transacao)
                {
                    qtb_compra.Banco_Dados.Commit_Tran();
                }
                return(val.Id_comprastr);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_compra.Banco_Dados.RollBack_Tran();
                }
                throw new Exception("Erro gravar compra: " + ex.Message.Trim());
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_compra.deletarBanco_Dados();
                }
            }
        }
Exemple #3
0
 public static CamadaDados.Faturamento.Pedido.TRegistro_Pedido ProcessarPedido(List <CamadaDados.Faturamento.CompraAvulsa.TRegistro_CompraAvulsa> lCompra,
                                                                               string Cd_empresa,
                                                                               string Cd_clifor)
 {
     if ((lCompra != null) &&
         (!string.IsNullOrEmpty(Cd_empresa)) &&
         (!string.IsNullOrEmpty(Cd_clifor)))
     {
         //Buscar moeda padrao
         string moeda = CamadaNegocio.ConfigGer.TCN_CadParamGer.BuscaVL_String_Empresa("CD_MOEDA_PADRAO", Cd_empresa);
         if (string.IsNullOrEmpty(moeda))
         {
             throw new Exception("Não existe moeda padrão configurada para a empresa " + Cd_empresa);
         }
         //Buscar Endereco clifor
         object obj_end = new CamadaDados.Financeiro.Cadastros.TCD_CadEndereco().BuscarEscalar(
             new Utils.TpBusca[]
         {
             new Utils.TpBusca()
             {
                 vNM_Campo = "a.cd_clifor",
                 vOperador = "=",
                 vVL_Busca = "'" + Cd_clifor.Trim() + "'"
             }
         }, "a.cd_endereco");
         if (obj_end == null)
         {
             throw new Exception("Cliente " + Cd_clifor + " não possui endereço cadastrado.");
         }
         //Buscar config do romaneio de compra
         CamadaDados.Faturamento.Cadastros.TList_CfgCompraAvulsa lCfg =
             CamadaNegocio.Faturamento.Cadastros.TCN_CfgCompraAvulsa.Buscar(Cd_empresa, null);
         if (lCfg.Count < 1)
         {
             throw new Exception("Não existe configuração romaneio de compra para a empresa " + Cd_empresa);
         }
         //Criar objeto pedido
         CamadaDados.Faturamento.Pedido.TRegistro_Pedido rPed = new CamadaDados.Faturamento.Pedido.TRegistro_Pedido();
         rPed.CD_Empresa   = Cd_empresa;
         rPed.CD_Clifor    = Cd_clifor;
         rPed.CD_Endereco  = obj_end.ToString();
         rPed.Cd_moeda     = moeda;
         rPed.CFG_Pedido   = lCfg[0].Cfg_pedido;
         rPed.DT_Pedido    = CamadaDados.UtilData.Data_Servidor();
         rPed.TP_Movimento = "E"; //Pedido de saida
         rPed.ST_Pedido    = "F"; //Pedido fechado
         rPed.ST_Registro  = "F"; //Pedido fechado
         //Montar itens do pedido
         lCompra.ForEach(p =>
                         //Buscar itens da compra
                         CamadaNegocio.Faturamento.CompraAvulsa.TCN_Compra_Itens.Buscar(p.Cd_empresa,
                                                                                        p.Id_comprastr,
                                                                                        null).ForEach(v =>
         {
             //Verificar se existe item no pedido
             if (rPed.Pedido_Itens.Exists(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())))
             {
                 rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Quantidade   += v.Quantidade;
                 rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_subtotal  += v.Vl_subtotal;
                 rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).Vl_descCupom += v.Vl_desconto;
                 rPed.Pedido_Itens.Find(x => x.Cd_produto.Trim().Equals(v.Cd_produto.Trim())).lItensCompra.Add(v);
             }
             else
             {
                 rPed.Pedido_Itens.Add(new CamadaDados.Faturamento.Pedido.TRegistro_LanPedido_Item()
                 {
                     Cd_Empresa       = v.Cd_empresa,
                     Cd_local         = v.Cd_local,
                     Cd_produto       = v.Cd_produto,
                     Ds_produto       = v.Ds_produto,
                     Cd_unidade_est   = v.Cd_unidade,
                     Cd_unidade_valor = string.Empty,
                     Quantidade       = v.Quantidade,
                     Vl_unitario      = v.Vl_unitario,
                     Vl_subtotal      = v.Vl_subtotal,
                     Vl_descCupom     = v.Vl_desconto,
                     lItensCompra     = new CamadaDados.Faturamento.CompraAvulsa.TList_Compra_Itens()
                     {
                         v
                     }
                 });
             }
         })
                         );
         rPed.Pedido_Itens.ForEach(p =>
         {
             p.Cd_unidade_valor = p.Cd_unidade_est;
             p.Vl_juro_fin      = p.Vl_juroCupom;
             p.Vl_desc          = p.Vl_descCupom;
         });
         return(rPed);
     }
     else
     {
         return(null);
     }
 }