示例#1
0
        public static int InserePedido(
            UsuarioResumido u,  ParametroResumido pr, 
            int codVendedor,  int codCliente, 
            string observacao, int codFormaPagto,
            int codCondPagto, List<ProdutoResumido> produtos, 
            int codEmp, Int32 NumPedWeb, 
            Int32 NumPed,  decimal DescontoPedido, 
            int CodPrc_Tab, int CodPrz_Tab, int UnidadeVenda,  int iCodTipMov) 
        {

            Decimal TotalComissao = 0;
            Decimal TotalComissaoTelev = 0;

            ClasseBanco csBanco = new ClasseBanco();

            //verifica se tem itens na grid
            if (produtos.Count.ToString() == "0")            
            {
                //throw new Exception("Não há produtos digitados.");                
                return 0;
            }

            try
            {
                DataClassesDataContext dcdc = new DataClassesDataContext();
                
                decimal cPesoTotal = 0;
                decimal comissao_televend = 0;
                decimal comissao_vendedor = 0;
                int iIncideTelev = 0;
                int iIncideVend = 0;

                int CodTipMov = ValidaMovimentacao(codCliente, codEmp, iCodTipMov);

                if (CodTipMov == 0)
                {
                    throw new Exception("Não há Tipo de Movimentação Padrão cadastrada nos Parâmetros de Venda.");
                }
                
                /*51287*/
                string varCLIE_IPISuspenso = dcdc.CLIENTEs.FirstOrDefault(cli => cli.CodCli == codCliente).CLIE_IPISuspenso.ToString();

                PEDIDO p = new PEDIDO();
                
                p.CodEmp = (short)codEmp;

                //FABIANO - 12/10/2011 - N.42120
                //Buscar o segundo vendedor da VENDCLI e sua comissao. (TELEVENDEDOR)

                //49637 - Adicionado CODEMP na clausula where
                //var sSql = "SELECT CodVen, COMISSAOTELEV, INCIDE FROM VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend" +
                           //" WHERE CodCli = " + codCliente + " AND CodVen <> " + codVendedor + "";

                var sSql = "SELECT CodVen, COMISSAOTELEV, INCIDE FROM VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend" +
                           " WHERE CodCli = " + codCliente + " AND CodVen <> " + codVendedor + " AND CODEMP = " + p.CodEmp;
                
                var televendedor = csBanco.Query(sSql);
                
                p.TelVend_Pedido = null;
                
                if (televendedor.Read())
                {

                    if (televendedor[0].ToString() != "") //CODVEN
                    {
                        p.TelVend_Pedido = Convert.ToInt16(televendedor[0].ToString());
                    }

                    if (televendedor[1].ToString()!="") //COMISSAO
                    {
                        comissao_televend = Convert.ToDecimal(televendedor[1].ToString());
                    }

                    if (televendedor[2].ToString() != "") //INCIDE
                    {
                        iIncideTelev = Convert.ToInt16(televendedor[2].ToString());
                    }
                    
                }

                televendedor.Close();

                //Busca comissao do vendedor principal e o setor na vendcli
                sSql = "SELECT SETOR, Comissao, Incide" + 
                       " FROM " +
                       " VENDCLI INNER JOIN VENDEDOR ON VENDCLI.CodVen = VENDEDOR.CodVend " +
                       " WHERE 1=1 " +
                       " AND CodCli = " + codCliente + "" +
                       " AND CodVen = " + codVendedor + "";

                var r = csBanco.Query(sSql);

                if (r.Read())
                {
                    p.SETOR = r[0].ToString(); //43573

                    if (r[1].ToString()!="") //COMISSAO
                    {
                        comissao_vendedor = Convert.ToDecimal(r[1].ToString());
                    }

                    if (r[2].ToString() != "") //INCIDE
                    {
                        iIncideVend = Convert.ToInt16(r[2].ToString());
                    }
                                        
                }

                r.Close();

                //Busca parametro sistema
                r = csBanco.Query("SELECT conteudo FROM parametrosist WHERE descparametro = 'BloqPedConf' AND codemp = " + codEmp);

                if (r.Read())
                {
                    //Se Bloqueia por conferencia ou nao 
                    //Se = 'S' bloqueia com DIV (Divergencia), senao grava null
                    p.RESCONFER = r[0].ToString() == "S" ? "DIV" : null;
                }

                r.Close();


                //Validacao PEDIDO X PEDIDOWEB
                r = csBanco.Query("SELECT NUMPED FROM PEDIDO WHERE codemp = " + codEmp + " AND NUMPED = " + NumPedWeb + " AND NUMPEDWEB = " + NumPed + "");

                if (r.Read())
                {
                    throw new Exception("Pedido " + NumPed + " já cadastrado.");
                }

                r.Close();


               //Campos fixos
                p.Origem            = 'W';          //43573
               //p.StatusComercial  = "BCF";        // bloqueado para conferência (default)
                p.PesoBruto         = 0;
                p.Volume            = 0;
                p.Carga             = 1;
                p.SubCarga          = 1;                
                p.Comissao          = 0;                
                p.VlrFrete_Pedido   = 0;
                p.Origem_Pedido     = "VENDEDOR";
                p.Tipo_Pedido       = "PEDIDO";                
                p.USUCAD            = u.NomUsu;        //43573
                p.SitPed            = "ABE";
                p.HoraCad           = DateTime.Now;   //43573                
                p.Hora              = DateTime.Now;
                p.DtaEmi            = DateTime.Today; //DateTime.Now;
                p.DtaEnt            = DateTime.Today;
                p.DtaFat            = DateTime.Today;

                //Campos dinamicos
                p.PercDes           = DescontoPedido;
                p.CodVen            = (short)codVendedor;
                p.CodCli            = (int)codCliente;
                p.CodTipMov         = Convert.ToInt16(CodTipMov);
                p.NumPedWeb         = NumPedWeb;
                p.NumPed            = NumPed; //Agora buscando de forma diferente
                p.CodPgt            = (short)codCondPagto;
                p.CodFrmPgt         = (short)codFormaPagto;

                /*Alterado forma de pegar tabela de preco. Agora pega da combo, pois pode ser diferente do padrao configurado no sigma
                - Regras alteradas por solicitacao do cliente Bagetti 
                - 13/03/2013 - Fabiano                                    
                   p.CodigoTab         = Convert.ToInt16(pr.CodTipPrc);
                   p.CodPrzTab         = Convert.ToInt16(pr.CodTipPrz);                 
                */
                p.CodigoTab         = (short)CodPrc_Tab;
                p.CodPrzTab         = (short)CodPrz_Tab;

                p.Obs               = observacao;                
                p.Vlrtot            = (decimal)produtos.Sum(p2 => p2.TotalParcial) - ((decimal)produtos.Sum(p2 => p2.TotalParcial) * DescontoPedido/100);                                
                p.NomUsu            = u.NomUsu;                
                p.Usuario           = u.NomUsu;
                p.VlrSubTot         = (decimal)produtos.Sum(p2 => p2.TotalParcial);
                p.VlrDes1           = ((decimal)produtos.Sum(p2 => p2.TotalParcial) * DescontoPedido / 100);
                p.PesoLiq           = 0;

                //produtos.ForEach(prood => p.PesoLiq     += dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoLiq * prood.Quantidade);
                //produtos.ForEach(prood => p.PesoLiq     += Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoLiq)) * prood.Quantidade);
                //produtos.ForEach(prood => p.PesoBruto   += dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoBruto * prood.Quantidade);
                //produtos.ForEach(prood => p.PesoBruto   += Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == prood.Codigo).PesoBruto)) * prood.Quantidade);

                string sValidaIPI = "", sIncidenciaDescBaseIpi="";

                /*51667 - BIERHOFF*/
                r = csBanco.Query("SELECT CALCULAIPI, CALCIPIDESC FROM NATOPER WHERE CODIGO = " + iCodTipMov);

                if (r.Read())
                {
                    sValidaIPI              = r["CALCULAIPI"].ToString();
                    sIncidenciaDescBaseIpi  = r["CALCIPIDESC"].ToString();
                }

                r.Close();

                //<<51667
                decimal cQtdTributavel  = 0;
                decimal cVlrTributavel  = 0;
                decimal cVlrIpi         = 0;
                decimal cVlrPis         = 0;  
                decimal cVlrCofins      = 0;
                decimal cQtdEmb         = 0;
                decimal cPercIpi        = 0;
                //<<51667
                                  
                dcdc.PEDIDOs.InsertOnSubmit(p);

                foreach (ProdutoResumido produto in produtos)
                {
                    ITENSPED itped          = new ITENSPED();

                    /*  Verifica qual unidade de venda
                     *  0 = Menor Unidade (Padrão)
                     *  2 = Maior Unidade (Selecionada pelo usuário)
                     */
                    int iUniVend = produto.UnidadeVenda == "0" ? 0 : 2;
                    
                    itped.Consignacao       = 'N';
                    itped.Itp_CodTabPrz     = produto.Itp_CodTabPrz; 
                    itped.Reserva           = Convert.ToChar(pr.SaldoPed);
                    itped.CodEmp            = (short)codEmp;
                    itped.Qtd               = (decimal)produto.Quantidade;
                    itped.Item              = (short)(produtos.IndexOf(produto) + 1);
                    itped.CodServMerc       = produto.Codigo;

                    //Comissao Tabela de Preco                
                    r = csBanco.Query("SELECT COMISSAO, FATOR FROM FATORES  WHERE CODSERVMERC = " + produto.Codigo + " AND CodTipPrc = " + CodPrc_Tab + " AND CodTipPrz = " + produto.Itp_CodTabPrz + "");
                    decimal dComissaoTabela=0; 
                    if (r.Read())
                    {
                        dComissaoTabela = Convert.ToDecimal(r["COMISSAO"].ToString());
                    }

                    r.Close();

                    itped.NumPed            = NumPed; 
                    //SERVMERC servMercadoria = dcdc.SERVMERCs.SingleOrDefault(sm => sm.CodServMerc == produto.Codigo);

                    r = csBanco.Query("SELECT QTDEMB, VALORPIS, VALORCOFINS,  IPI, SERV_VALORIPI, PercDesc, Aliquota, Saldo, PesoLiq, PesoBruto FROM SERVMERC WHERE CODSERVMERC = " + produto.Codigo + "");
                    
                    if (r.Read())
                    {
                        itped.DescMax = Convert.ToDecimal(r["PercDesc"].ToString());
                        itped.Aliquota = Convert.ToDecimal(r["Aliquota"].ToString());
                        itped.Saldo = (decimal)(Convert.ToDecimal(r["Saldo"].ToString()) - (decimal)produto.Quantidade);

                        //Bug com LinqToSql , tivemos que fazer calculo manualmente...
                        var cLiq = Convert.ToDecimal(r["PesoLiq"].ToString());
                        p.PesoLiq += cLiq * produto.Quantidade;

                        var cBruto = Convert.ToDecimal(r["PesoBruto"].ToString());
                        p.PesoBruto += cBruto * produto.Quantidade;

                        //<<51667
                        cPercIpi     = Convert.ToDecimal(r["IPI"] == null ? "0" : r["IPI"].ToString());
                        cVlrIpi      = Convert.ToDecimal(r["SERV_VALORIPI"] == null ? "0" : r["SERV_VALORIPI"].ToString());
                        cVlrPis      = Convert.ToDecimal(r["VALORPIS"].ToString() == "" ? "0" : r["VALORPIS"].ToString());
                        cVlrCofins   = Convert.ToDecimal(r["VALORCOFINS"].ToString() == "" ? "0" : r["VALORCOFINS"].ToString());
                        cQtdEmb      = Convert.ToDecimal(r["QTDEMB"].ToString() == "" ? "0" : r["QTDEMB"].ToString());
                        //<<51667
                    }
                    r.Close();

                    cPesoTotal              = cPesoTotal + produto.Peso;
                    itped.VlrProm           = 0;                    
                    itped.UniVenda          = (short)iUniVend;
                    
                    if (produto.QtdCaixa == 0)
                    {
                        produto.QtdCaixa = 1;
                    }
                    //Maior e menor unidade
                    decimal cQtdSolicitada  = (Convert.ToDecimal(produto.Quantidade) / Convert.ToDecimal(produto.QtdCaixa));

                    //String.Format("{0:" + Funcoes.Decimais(pr) + "}", products.Sum(p => p.TotalParcial));

                    //itped.VlrUni            = iUniVend == 2 ? (double)(Convert.ToDecimal(produto.Preco) / Convert.ToDecimal(produto.Quantidade)) : (double)produto.Preco;                    
                    //itped.VlrReal           = iUniVend == 2 ? (decimal)produto.Preco / cQtdSolicitada : (decimal)produto.Preco;
                    //itped.VLRUNIVENDA       = iUniVend == 2 ? (double)produto.Preco / (double)cQtdSolicitada : (double)produto.Preco;
                    //itped.QTDUNIVENDA       = iUniVend == 2 ? cQtdSolicitada : produto.Quantidade;

                    //if (iUniVend == 2)
                    //{
                    //    itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100))));
                    //}
                    //else
                    //{
                    //    itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100)));
                    //}


                    //49199
                    string sPrecoUnitario, sPrecoUnitarioReal, sPrecoUnitarioOriginal;
                    decimal dValorUnitarioLiq;
                    if (iUniVend == 2)
                    {
                        sPrecoUnitario = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)(Convert.ToDecimal(produto.Preco) / Convert.ToDecimal(produto.Quantidade)));
                        sPrecoUnitarioReal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)produto.Preco / cQtdSolicitada);
                        sPrecoUnitarioOriginal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)produto.PrecoReal / cQtdSolicitada);
                    }
                    else
                    {
                        sPrecoUnitario = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)produto.Preco);
                        sPrecoUnitarioReal = sPrecoUnitario;
                        sPrecoUnitarioOriginal = String.Format("{0:" + Funcoes.Decimais(pr) + "}", (double)produto.PrecoReal);
                    }

                    itped.ValorIpi = 0;
                    itped.BASEIPI = 0;
                    itped.ALIQIPI = 0;
                    itped.IPIUNIVENDA = 0;

                    /*51954*///Calcular o Valor unitario liquido antes do calculo da Qtd e Vlr tributavel IPI
                    if (iUniVend == 2)
                    {
                        //itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100))));
                        dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitarioReal) - (Convert.ToDecimal(sPrecoUnitarioReal) * produto.Desconto / 100));
                    }
                    else
                    {
                        //itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100)));
                        dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitario) - (Convert.ToDecimal(sPrecoUnitario) * produto.Desconto / 100));
                    }

                    dValorUnitarioLiq = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dValorUnitarioLiq));

                    //>>51667
                    //51954 - Considerar o valor unitario liquido.
                    if (sValidaIPI == "S") { /* Se valida IPI */
                        if (cPercIpi <= 0)  /* Se percentual do IPI for zero, considerar valor*/
                        {
                            cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq) / (cQtdEmb == 0 ? 1 : cQtdEmb);
                            cQtdTributavel = (decimal)itped.Qtd * (cQtdEmb == 0 ? 1 : cQtdEmb);

                            /*51827*/
                            if (cVlrIpi > 0) /* Se houver valor de IPI no cadastro da mercadoria*/
                            {
                                //itped.ValorIpi = cQtdTributavel * cVlrIpi;
                                /*Tratar casas decimais*/
                                itped.ValorIpi = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (cQtdTributavel * cVlrIpi)));

                                itped.BASEIPI = (decimal)itped.Qtd * Convert.ToDecimal(dValorUnitarioLiq);
                                itped.ALIQIPI  = 0;
                                itped.IPIUNIVENDA = itped.ValorIpi;
                            }
                        }
                        else if (cPercIpi > 0) /* Existe Percentual IPI */
                        {
                            cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq);
                            cQtdTributavel = (decimal)itped.Qtd;

                            /*51827*/
                            itped.BASEIPI = cQtdTributavel * Convert.ToDecimal(dValorUnitarioLiq);
                            
                            //itped.ValorIpi = ((itped.BASEIPI * cPercIpi) / 100);
                            /*Tratar casas decimais*/
                            itped.ValorIpi = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((itped.BASEIPI * cPercIpi) / 100)));

                            itped.IPIUNIVENDA = itped.ValorIpi;
                            /* Verificar incidencias sobre base IPI ?*/
                            itped.ALIQIPI = cPercIpi;                            
                        }

                        if (sIncidenciaDescBaseIpi.Equals("S"))
                        {
                            itped.BASEIPI = itped.BASEIPI - Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (itped.BASEIPI * DescontoPedido / 100)));
                        }

                        /*51827*/
                        if (varCLIE_IPISuspenso.Equals("S")) /* Se cliente for suspenso IPI, zera valores calculados*/
                        {                            
                            itped.ValorIpi = 0;
                            itped.BASEIPI = 0;
                            itped.ALIQIPI = 0;
                            itped.IPIUNIVENDA = 0;
                        }

                    } /*Não validad IPI*/
                        else
                        {
                            if (cVlrPis > 0 || cVlrCofins > 0)
                            {
                                cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq) / (cQtdEmb == 0 ? 1 : cQtdEmb);
                                cQtdTributavel = (decimal)itped.Qtd * (cQtdEmb == 0 ? 1 : cQtdEmb);
                            }
                            else
                            {
                                cVlrTributavel = Convert.ToDecimal(dValorUnitarioLiq);
                                cQtdTributavel = (decimal)itped.Qtd;
                            }
                    }

                    itped.QTDTRIBUTAVEL = cQtdTributavel;
                    itped.VLRTRIBUTAVEL = cVlrTributavel;
                    //<<51667

                    itped.VlrUni = Convert.ToDouble(sPrecoUnitario);
                   
                  //itped.VlrReal = Convert.ToDecimal(sPrecoUnitarioReal);
                    itped.VlrReal = Convert.ToDecimal(sPrecoUnitarioOriginal);

                    itped.VLRUNIVENDA = Convert.ToDouble(sPrecoUnitarioReal);
                    itped.QTDUNIVENDA = iUniVend == 2 ? cQtdSolicitada : produto.Quantidade;

                    /*51954*/
                    //if (iUniVend == 2)
                    //{
                    //    //itped.VLRUNIVENDALIQ = ((double)produto.Preco / (double)cQtdSolicitada) - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((double)produto.Preco / (double)cQtdSolicitada) * ((double)produto.Desconto / 100))));
                    //    dValorUnitarioLiq    = (Convert.ToDecimal(sPrecoUnitarioReal) - (Convert.ToDecimal(sPrecoUnitarioReal) * produto.Desconto / 100));                        
                    //}
                    //else
                    //{
                    //    //itped.VLRUNIVENDALIQ = (double)produto.Preco - Convert.ToDouble(String.Format("{0:" + Funcoes.Decimais(pr) + "}", ((double)produto.Preco * (double)produto.Desconto / 100)));
                    //    dValorUnitarioLiq = (Convert.ToDecimal(sPrecoUnitario) - (Convert.ToDecimal(sPrecoUnitario) * produto.Desconto / 100));                        
                    //}

                    //dValorUnitarioLiq       = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", dValorUnitarioLiq));
                    itped.VLRUNIVENDALIQ    = Convert.ToDouble(dValorUnitarioLiq);
                                                           
                    itped.QtdCan            = 0;
                    itped.QTDCANUNIVENDA    = 0;
                    itped.QtdTroca          = 0;
                    itped.VlrDes            = produto.Desconto; //FABIANO - 07/10/2011
                    itped.ValorDesconto     = 0;
                    itped.VlrDescRateio     = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (((decimal)itped.VLRUNIVENDALIQ * DescontoPedido / 100) * (decimal)itped.Qtd)));
                    itped.PerDescRateio     = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", DescontoPedido)); 
                    itped.PercDescGordura   = 0;
                    itped.VLRADICIONAL      = 0;
                    itped.VLREMBALAGEM      = 0;

                    itped.VlrComiss = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.CalculaComissao(pr,
                                                                                    Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", iUniVend == 2 ? (double)(Convert.ToDecimal(itped.VLRUNIVENDALIQ) / Convert.ToDecimal(produto.QtdCaixa)) : (double)itped.VLRUNIVENDALIQ)), 
                                                                                    (decimal)itped.Qtd, 
                                                                                    0, 
                                                                                    0, 
                                                                                    comissao_vendedor,
                                                                                    dComissaoTabela, 
                                                                                    produto.Comissao, 
                                                                                    produto.Comissao, 
                                                                                    "N",
                                                                                    0, 
                                                                                    0, 
                                                                                    produto.Comissao, 
                                                                                    (decimal)comissao_televend,
                                                                                    (Int16)iIncideVend,
                                                                                    (Int16)iIncideTelev,
                                                                                    (Int32)produto.Codigo,
                                                                                    produto.Desconto)));

                    itped.ComissaoUsada = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.ComissaoUsada)); 
                    
                    //VALOR DA COMISSAO TELEVENDEDOR 
                    itped.COMISSAOTELEV         = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", (decimal)ClasseComissao.CalculaComissao(pr,
                                                                                    Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", iUniVend == 2 ? (double)(Convert.ToDecimal(itped.VLRUNIVENDALIQ) / Convert.ToDecimal(produto.QtdCaixa)) : (double)itped.VLRUNIVENDALIQ)), 
                                                                                    (decimal)itped.Qtd, 
                                                                                    0, 
                                                                                    0, 
                                                                                    comissao_vendedor,
                                                                                    dComissaoTabela,
                                                                                    produto.ComissaoTel, 
                                                                                    produto.Comissao, 
                                                                                    "T", 
                                                                                    0, 
                                                                                    0, 
                                                                                    produto.Comissao, 
                                                                                    (decimal)comissao_televend,
                                                                                    (Int16)iIncideVend,
                                                                                    (Int16)iIncideTelev,
                                                                                    (Int32)produto.Codigo,
                                                                                    produto.Desconto)));

                    itped.COMISSAOUSADATELEV = (decimal)ClasseComissao.ComissaoUsadaTele;
                    itped.FatorComiss        = (decimal)ClasseComissao.FatorDesconto;

                    TotalComissao       += (decimal)itped.VlrComiss;
                    TotalComissaoTelev  += (decimal)itped.COMISSAOTELEV;

                    dcdc.ITENSPEDs.InsertOnSubmit(itped);
                }

                p.Comissao              = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", TotalComissao));        //Valor da comissao VENDEDOR
                p.COMISSAOTELEV         = Convert.ToDecimal(String.Format("{0:" + Funcoes.Decimais(pr) + "}", TotalComissaoTelev));   //Valor da comissao do TELEVENDEDOR (OU SEGUNDO VENDEDOR)
                //p.PesoBruto             = cPesoTotal;
                //p.PesoLiq               = cPesoTotal;
                dcdc.SubmitChanges();
                dcdc.Dispose();
                return NumPed;
                

            }
            catch (Exception ex)
            {
                if (!String.IsNullOrEmpty(ex.Message))
                {
                    throw new Exception(ex.Message);
                }
                else
                {
                    return -1;
                }
            }
        }
示例#2
0
 partial void UpdateITENSPED(ITENSPED instance);
示例#3
0
 partial void DeleteITENSPED(ITENSPED instance);
示例#4
0
 partial void InsertITENSPED(ITENSPED instance);