Exemplo n.º 1
0
        private void IncluirItens()
        {
            MvVendaItens ItensVd = new MvVendaItens();

            ItensVd.Controle = Controle;
            DataSet ConsItens = new DataSet();

            ConsItens = Controle.ConsultaTabela("SELECT * FROM MVVENDAITENS WHERE ID_VENDA=" + IdVenda.ToString());
            if (ConsItens.Tables[0].Rows.Count > 0)
            {
                FrmPrincipal.BSta_BarProcesso.Maximum = ConsItens.Tables[0].Rows.Count;
                for (int I = 0; I <= ConsItens.Tables[0].Rows.Count - 1; I++)
                {
                    ItensVd.LerDados(int.Parse(ConsItens.Tables[0].Rows[I]["Id_Item"].ToString()));
                    if (ItensVd.IdItem > 0)
                    {
                        ItensVd.IdItem    = 0;
                        ItensVd.IdVenda   = IdPV;
                        ItensVd.TipoItem  = "N";
                        ItensVd.Vinculado = IdVenda;
                        ItensVd.GravarDados();
                    }
                    FrmPrincipal.BSta_BarProcesso.Maximum = FrmPrincipal.BSta_BarProcesso.Maximum + 1;
                }
            }
        }
Exemplo n.º 2
0
        public string RegistrarVenda(int IdFilial, XmlDocument XmlCadPessoa, XmlDocument XmlVenda, XmlDocument XmlItens)
        {
            int IdVenda = 0;

            try
            {
                if (IdFilial == 0)
                {
                    return("-3");
                }

                //string StringConexao = "Data Source=SERVIDOR;Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";
                Conexao = new SqlConnection(StringConexao);
                Conexao.Open();

                Executar.Conexao      = Conexao;
                RegAuditoria.Controle = Executar;
                FormaPgto.Controle    = Executar;
                Vendedor.Controle     = Executar;
                Vendas.Controle       = Executar;
                MvItens.Controle      = Executar;
                VerificarCad.Controle = Executar;

                Parametros ParamFilial = new Parametros();
                ParamFilial.Controle = Executar;
                ParamFilial.LerDados(1);

                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                ControleEstoque.Controle = Executar;

                // Abrindo os XML de Cliente
                DataSet       TabCliente = new DataSet();
                XmlNodeReader XmlCliente = new XmlNodeReader(XmlCadPessoa);
                TabCliente.ReadXml(XmlCliente);

                CadPessoa.Controle = Executar;

                if (!Ver_CadCliente(TabCliente))
                {
                    return("-1");  //Cadastro de Cliente não Localizado
                }
                DataSet       TabVenda = new DataSet();
                XmlNodeReader XmlVd    = new XmlNodeReader(XmlVenda);
                TabVenda.ReadXml(XmlVd);

                //Verificando a Forma de Pagamento
                int IdFormaPgto = 0;

                if (int.Parse(TabVenda.Tables[0].Rows[0]["Id_FormaPgto"].ToString()) > 0)
                {
                    IdFormaPgto = VerificarCad.Verificar_ExisteCadastro("Id_FormaPgto", "SELECT * FROM FORMAPAGAMENTO WHERE FORMAPGTO='" + TabVenda.Tables[0].Rows[0]["NomeFormaPgto"].ToString().Trim() + "'");
                    if (IdFormaPgto == 0)
                    {
                        FormaPgto.LerDados(0);
                        FormaPgto.FormaPgto   = TabVenda.Tables[0].Rows[0]["NomeFormaPgto"].ToString().Trim();
                        FormaPgto.NumParcelas = 1;
                        FormaPgto.Financeiro  = 1;
                        FormaPgto.GravarDados();
                        IdFormaPgto = FormaPgto.IdFormaPgto;
                    }
                }

                //Verificando Vendedor
                int IdVendedor = VerificarCad.Verificar_ExisteCadastro("Id_Vendedor", "SELECT * FROM VENDEDORES WHERE VENDEDOR='" + TabVenda.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim() + "'");

                if (IdVendedor == 0)
                {
                    Vendedor.LerDados(0);
                    Vendedor.Vendedor = TabVenda.Tables[0].Rows[0]["NomeVendedor"].ToString().Trim();
                    Vendedor.Ativo    = 1;
                    Vendedor.GravarDados();
                    IdVendedor = Vendedor.IdVendedor;
                }

                Vendas.LerDados(0);
                Vendas.TpVenda         = TabVenda.Tables[0].Rows[0]["TpVenda"].ToString();
                Vendas.IdPessoa        = CadPessoa.IdPessoa;
                Vendas.IdVendedor      = IdVendedor;
                Vendas.IdFormaPgto     = IdFormaPgto;
                Vendas.PrazoPgto       = TabVenda.Tables[0].Rows[0]["PrazoPgto"].ToString();
                Vendas.Observacao      = TabVenda.Tables[0].Rows[0]["Observacao"].ToString();
                Vendas.NmPessoa        = CadPessoa.RazaoSocial;
                Vendas.CnpjCpf         = CadPessoa.Cnpj;
                Vendas.InscUF          = CadPessoa.InscUF;
                Vendas.Endereco        = CadPessoa.Endereco;
                Vendas.Numero          = CadPessoa.Numero;
                Vendas.Complemento     = CadPessoa.Complemento;
                Vendas.Fone            = CadPessoa.Fone;
                Vendas.Cep             = CadPessoa.Cep;
                Vendas.Bairro          = CadPessoa.Bairro;
                Vendas.Cidade          = CadPessoa.Cidade;
                Vendas.IdUF            = CadPessoa.IdUF;
                Vendas.Pais            = CadPessoa.Pais;
                Vendas.VlrSubTotal     = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrSubTotal"].ToString().Replace(".", ","));
                Vendas.VlrDesconto     = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrDesconto"].ToString().Replace(".", ","));
                Vendas.VlrCredito      = decimal.Parse(TabVenda.Tables[0].Rows[0]["Credito"].ToString().Replace(".", ","));
                Vendas.VlrTotal        = decimal.Parse(TabVenda.Tables[0].Rows[0]["VlrTotal"].ToString().Replace(".", ","));
                Vendas.IdFilial        = int.Parse(TabVenda.Tables[0].Rows[0]["Id_Filial"].ToString());
                Vendas.IdFilialEntrega = int.Parse(TabVenda.Tables[0].Rows[0]["Id_FilialEntrega"].ToString());
                Vendas.IdUsuAutDeb     = int.Parse(TabVenda.Tables[0].Rows[0]["Id_UsuAutDeb"].ToString());
                Vendas.IdUsuboleto     = int.Parse(TabVenda.Tables[0].Rows[0]["Id_UsuBoleto"].ToString());
                Vendas.NumPedido       = TabVenda.Tables[0].Rows[0]["NumPedido"].ToString();

                if (Vendas.TpVenda.Trim() == "PC" || Vendas.TpVenda.Trim() == "OE")
                {
                    Vendas.Status = 2;
                }
                else
                {
                    Vendas.Status = 1;
                }
                Vendas.GravarDados();

                IdVenda = Vendas.IdVenda;
                RegistrarAuditoria("Rec.Movimento", Vendas.IdVenda, Vendas.NumDocumento, 1, "Pessoa:" + Vendas.NmPessoa);

                Executar.ExecutaSQL("Update MvVenda set DtEnvioRec=GetDate(), Id_VdOrigem=" + TabVenda.Tables[0].Rows[0]["Id_Venda"].ToString() + ",Id_FilialOrigem=" + IdFilial.ToString() + " WHERE ID_VENDA=" + IdVenda.ToString());

                if (TabVenda.Tables[0].Rows[0]["Id_UsuLibParc"].ToString() != "")
                {
                    Executar.ExecutaSQL("Update MvVenda set Id_UsuLibParc=" + TabVenda.Tables[0].Rows[0]["Id_UsuLibParc"].ToString() + " WHERE ID_VENDA=" + IdVenda.ToString());
                }


                //Incluindo os Itens;
                DataSet       TabItens   = new DataSet();
                XmlNodeReader XmlVdItens = new XmlNodeReader(XmlItens);
                TabItens.ReadXml(XmlVdItens);
                int IdPrd = 0;

                for (int i = 0; i < TabItens.Tables[0].Rows.Count; i++)
                {
                    IdPrd = VerificarCad.Verificar_ExisteCadastro("Id_Produto", "SELECT T1.ID_PRODUTO FROM PRODUTOS T1 LEFT JOIN GRUPOPRODUTO T2 ON (T2.ID_GRUPO=T1.ID_GRUPO) WHERE T1.ATIVO=1 AND T2.ATIVO=1 AND T2.LISTAVENDA=1 AND T1.REFERENCIA='" + TabItens.Tables[0].Rows[i]["REFERENCIA"].ToString().Trim() + "'");

                    if (IdPrd == 0)
                    {
                        Executar.ExecutaSQL("DELETE FROM MVVENDA WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                        Executar.ExecutaSQL("DELETE FROM MVVENDAITENS WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                        return("-2 Ref.Produto: " + TabItens.Tables[0].Rows[i]["REFERENCIA"].ToString().Trim()); //Produto não Localizado
                    }
                    MvItens.LerDados(0);
                    MvItens.IdVenda  = Vendas.IdVenda;
                    MvItens.TipoItem = TabItens.Tables[0].Rows[i]["TipoItem"].ToString();
                    if (Vendas.TpVenda != "TROCA")
                    {
                        if (TabItens.Tables[0].Rows[i]["TipoItem"].ToString() == "S")
                        {
                            MvItens.TipoItem = "N";
                        }
                        else
                        {
                            if (int.Parse(TabItens.Tables[0].Rows[i]["Vinculado"].ToString()) == 0)
                            {
                                MvItens.TipoItem = "S";
                            }
                            else
                            {
                                MvItens.TipoItem = "N";
                            }
                        }
                    }

                    MvItens.IdProduto      = IdPrd;
                    MvItens.PrcEspecial    = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcEspecial"].ToString().Replace(".", ","));
                    MvItens.PrcVarejo      = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcVarejo"].ToString().Replace(".", ","));
                    MvItens.PrcMinimo      = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcMinimo"].ToString().Replace(".", ","));
                    MvItens.PrcAtacado     = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcAtacado"].ToString().Replace(".", ","));
                    MvItens.PrcSensacional = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcSensacional"].ToString().Replace(".", ","));
                    MvItens.Qtde           = decimal.Parse(TabItens.Tables[0].Rows[i]["Qtde"].ToString().Replace(".", ","));
                    MvItens.VlrUnitario    = decimal.Parse(TabItens.Tables[0].Rows[i]["VlrUnitario"].ToString().Replace(".", ","));
                    MvItens.VlrTotal       = MvItens.Qtde * MvItens.VlrUnitario;
                    MvItens.PrcCusto       = decimal.Parse(TabItens.Tables[0].Rows[i]["PrcCusto"].ToString().Replace(".", ","));
                    MvItens.Vinculado      = int.Parse(TabItens.Tables[0].Rows[i]["VInculado"].ToString());
                    MvItens.ItemPed        = int.Parse(TabItens.Tables[0].Rows[i]["ItemPed"].ToString());
                    MvItens.GravarDados();
                    RegistrarAuditoria("Rec. Item", MvItens.IdItem, Vendas.NumDocumento, 1, "Incluindo Item Produto:" + MvItens.IdProduto.ToString() + "  Vr.Unit:" + MvItens.VlrUnitario.ToString() + "  Qtde:" + MvItens.Qtde.ToString());
                }
                //Concluindo a Venda
                if (int.Parse(TabVenda.Tables[0].Rows[0]["Id_Caixa"].ToString()) > 0)
                {
                    Vendas.IdFilialOrigem = IdFilial;
                    Vendas.VlrDesconto    = Vendas.VlrSubTotal;
                    Vendas.VlrCredito     = 0;
                    Vendas.VlrTotal       = 0;
                    Vendas.GravarDados();
                }

                //Calculando a comissao
                SqlDataReader TabComissao = Executar.ConsultaSQL("SELECT T1.*,T3.COMISSAO AS PCOMVEND FROM MvVendaItens T1 LEFT JOIN MVVENDA T2 ON (T2.ID_VENDA=T1.ID_VENDA)" +
                                                                 " LEFT JOIN VENDEDORES T3 ON (T3.ID_VENDEDOR=T2.ID_VENDEDOR) WHERE T1.TipoItem<>'E' and T1.Id_Venda=" + Vendas.IdVenda.ToString());
                Controles.Comissao CalcComissao = new Controles.Comissao();
                CalcComissao.Controle = Executar;

                decimal PDesconto = 0;
                if ((Vendas.VlrDesconto + Vendas.VlrCredito) > 0)
                {
                    PDesconto = 100 / (Vendas.VlrSubTotal / (Vendas.VlrDesconto + Vendas.VlrCredito));
                }

                CalcComissao.CalcularMovimento(TabComissao, PDesconto, CadPessoa.Clie_Forn == 3, ParamFilial, CadPessoa.ComissaoFixa, CadPessoa.IdPessoa);

                //Atualizando o Saldo do Estoque
                SqlDataReader TabSaida = Executar.ConsultaSQL("SELECT * FROM MvVendaItens WHERE TipoItem='S' and Id_Venda=" + Vendas.IdVenda.ToString());
                ControleEstoque.MovimentoEstoque(TabSaida, 2, 1, false, Vendas.TpVenda, Vendas.Data, 0);

                //Finalizando a venda
                RegistrarAuditoria("Rec.Movimento", Vendas.IdVenda, Vendas.NumDocumento, 5, "Confirmação do Movimento");
            }
            catch (Exception erro)
            {
                /*StreamWriter Xmlerr;
                 * Xmlerr = File.CreateText(@"D:\WS_erro.txt");
                 * Xmlerr.Write("Erro ao Atualizar: " + erro.ToString());
                 * Xmlerr.Close();*/

                RegistroLog("Erro Registro de Venda: " + erro.ToString());

                Executar.ExecutaSQL("DELETE FROM MVVENDA WHERE ID_VENDA=" + Vendas.IdVenda.ToString());
                Executar.ExecutaSQL("DELETE FROM MVVENDAITENS WHERE ID_VENDA=" + Vendas.IdVenda.ToString());

                Conexao.Dispose();
                return("-3");
            }
            Conexao.Dispose();
            return(string.Format("{0:D6}", IdVenda));
        }
Exemplo n.º 3
0
        private void BtnImportar_Click(object sender, EventArgs e)
        {
            int IdVenda = 0;

            if (GridMov.CurrentRow != null)
            {
                IdVenda = int.Parse(GridMov.CurrentRow.Cells[0].Value.ToString());
            }

            bool AtlzPrc = false;

            if (MessageBox.Show("Confirma o movimento ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                if (MessageBox.Show("Deseja Atualizar os Preços ?", "Confirmação", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    AtlzPrc = true;
                }

                //Incluindo os Itens
                MvVendaItens ItensVdDestino = new MvVendaItens(); ItensVdDestino.Controle = Controle;
                Produtos     CadPrd         = new Produtos(); CadPrd.Controle = Controle;
                DataSet      TabItens       = new DataSet();
                TabItens = Controle.ConsultaTabela("SELECT * FROM MvVendaItens WHERE Id_Venda=" + IdVenda.ToString());
                decimal VlrSubTotal = 0;
                for (int I = 0; I <= TabItens.Tables[0].Rows.Count - 1; I++)
                {
                    //TabItens.Read();
                    CadPrd.LerDados(int.Parse(TabItens.Tables[0].Rows[I]["Id_Produto"].ToString()));

                    ItensVdDestino.IdItem      = 0;
                    ItensVdDestino.IdVenda     = Vendas.IdVenda;
                    ItensVdDestino.TipoItem    = TabItens.Tables[0].Rows[I]["TipoItem"].ToString();
                    ItensVdDestino.IdProduto   = int.Parse(TabItens.Tables[0].Rows[I]["Id_Produto"].ToString());
                    ItensVdDestino.Qtde        = decimal.Parse(TabItens.Tables[0].Rows[I]["Qtde"].ToString());
                    ItensVdDestino.VlrUnitario = decimal.Parse(TabItens.Tables[0].Rows[I]["VlrUnitario"].ToString());

                    if (AtlzPrc)
                    {
                        if (CadPessoa.Clie_Forn == 3 || CadPessoa.Clie_Forn == 6)
                        {
                            ItensVdDestino.VlrUnitario = CadPrd.PrcAtacado;
                        }
                        else
                        {
                            ItensVdDestino.VlrUnitario = CadPrd.PrcEspecial;
                        }
                    }
                    else
                    {
                        if (CadPessoa.Clie_Forn == 3 && CadPessoa.Clie_Forn == 6)
                        {
                            if (decimal.Parse(TabItens.Tables[0].Rows[I]["VlrUnitario"].ToString()) < CadPrd.PrcAtacado)
                            {
                                ItensVdDestino.VlrUnitario = CadPrd.PrcAtacado;
                            }
                        }
                        else
                        {
                            if (decimal.Parse(TabItens.Tables[0].Rows[I]["VlrUnitario"].ToString()) < CadPrd.PrcMinimo)
                            {
                                ItensVdDestino.VlrUnitario = CadPrd.PrcMinimo;
                            }
                        }
                    }
                    ItensVdDestino.PComissao      = 0;
                    ItensVdDestino.VlrComissao    = 0;
                    ItensVdDestino.PDesconto      = 0;
                    ItensVdDestino.VlrUntComissao = 0;
                    ItensVdDestino.PrcCusto       = CadPrd.UltPrcCompra;
                    ItensVdDestino.PrcEspecial    = CadPrd.PrcEspecial;
                    ItensVdDestino.PrcMinimo      = CadPrd.PrcMinimo;
                    ItensVdDestino.PrcVarejo      = CadPrd.PrcVarejo;
                    ItensVdDestino.PrcAtacado     = CadPrd.PrcAtacado;
                    ItensVdDestino.VlrTotal       = ItensVdDestino.VlrUnitario * ItensVdDestino.Qtde;

                    if (CadPrd.SaldoEstoque <= 0 && ItensVdDestino.TipoItem == "S")
                    {
                        MessageBox.Show("Produto:" + CadPrd.Descricao.Trim() + " não tem saldo Suficiente no estoque", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        ItensVdDestino.Qtde     = 0;
                        ItensVdDestino.VlrTotal = ItensVdDestino.VlrUnitario * ItensVdDestino.Qtde;
                    }

                    ItensVdDestino.GravarDados();

                    VlrSubTotal = VlrSubTotal + ItensVdDestino.VlrTotal;

                    Vendas.VlrSubTotal = VlrSubTotal;
                    Vendas.VlrTotal    = VlrSubTotal - (Vendas.VlrDesconto + Vendas.VlrCredito);
                    if (Vendas.IdVenda > 0)
                    {
                        Vendas.IdVdMaster = Vendas.IdVenda;
                        Vendas.GravarDados();
                    }
                }
                MessageBox.Show("Movimento concluido", "Alerta", MessageBoxButtons.OK, MessageBoxIcon.Information);
                Close();
            }
        }
Exemplo n.º 4
0
    protected void BtnEnviar_Click(object sender, EventArgs e)
    {
        if (BtnEnviar.Enabled)
        {
            if (TabItens.Rows.Count == 0)
            {
                return;
            }

            BtnEnviar.Enabled = false;
            try
            {
                decimal VlrTotal = 0;
                for (int I = 0; I <= TabItens.Rows.Count - 1; I++)
                {
                    VlrTotal = VlrTotal + decimal.Parse(TabItens.Rows[I]["VLRTOTAL"].ToString());
                }

                MvVenda Venda = new MvVenda();
                Venda.Controle = Controle;
                Venda.LerDados(0);
                //
                if (LstTpPedido.SelectedIndex == 1)
                {
                    Venda.TpVenda = "EMVF";
                }
                else
                {
                    Venda.TpVenda = "PI";
                }
                Venda.IdFilial    = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).IdFilial;
                Venda.IdVendedor  = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).IdVendedor;
                Venda.IdPessoa    = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).IdPessoa;
                Venda.IdFormaPgto = 0; // int.Parse(LstFormaPgto.SelectedValue.ToString());
                Venda.Observacao  = TxtObs.Text;
                Venda.VlrSubTotal = VlrTotal;
                Venda.VlrTotal    = VlrTotal;
                Venda.NmPessoa    = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).RazaoSocial;
                Venda.CnpjCpf     = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Cnpj;
                Venda.Endereco    = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Endereco;
                Venda.InscUF      = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).InscUF;
                Venda.Cep         = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Cep;
                Venda.Numero      = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Numero;
                Venda.Complemento = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Complemento;
                Venda.Bairro      = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Bairro;
                Venda.Cidade      = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Cidade;
                Venda.IdUF        = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).IdUF;
                Venda.Fone        = ((Controle_Dados.Pessoas)(((System.Web.UI.UserControl)(this.Master)).Session["LoginUsuario"])).Fone;
                Venda.PrazoPgto   = TxtPrazoPgto.Text;
                Venda.ImpNF       = 0;
                Venda.GravarDados();
                //
                if (Venda.IdVenda > 0)
                {
                    MvVendaItens Itens = new MvVendaItens();
                    Itens.Controle  = Controle;
                    CadPrd.Controle = Controle;
                    for (int P = 0; P <= TabItens.Rows.Count - 1; P++)
                    {
                        CadPrd.LerDados(int.Parse(TabItens.Rows[P]["ID_PRODUTO"].ToString()));
                        if (CadPrd.IdProduto > 0)
                        {
                            Itens.LerDados(0);
                            Itens.TipoItem       = "S";
                            Itens.IdVenda        = Venda.IdVenda;
                            Itens.IdProduto      = CadPrd.IdProduto;
                            Itens.Qtde           = decimal.Parse(TabItens.Rows[P]["QTDE"].ToString());
                            Itens.VlrUnitario    = decimal.Parse(TabItens.Rows[P]["VLRUNITARIO"].ToString());
                            Itens.VlrTotal       = decimal.Parse(TabItens.Rows[P]["VLRTOTAL"].ToString());
                            Itens.VlrUntComissao = decimal.Parse(TabItens.Rows[P]["VLRUNITARIO"].ToString());
                            Itens.PrcEspecial    = CadPrd.PrcEspecial;
                            Itens.PrcCusto       = CadPrd.Custo;
                            Itens.PrcMinimo      = CadPrd.PrcMinimo;
                            Itens.PrcVarejo      = CadPrd.PrcVarejo;
                            Itens.PrcAtacado     = CadPrd.PrcAtacado;
                            Itens.GravarDados();
                        }
                    }
                }
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "alert('Pedido Enviado');", true);
                Response.Redirect("TelaPrincipal.aspx");
            }
            catch
            {
                ScriptManager.RegisterStartupScript(Page, Page.GetType(), Guid.NewGuid().ToString(), "alert('Atenção: Erro no envio do arquivo, tente novamente');", true);
                BtnEnviar.Enabled = true;
            }
        }
    }
Exemplo n.º 5
0
        public int RegistrarVenda(int IdFilial, int IdPessoa, int IdVendedor, int IdFormaPgto, string PrazoPgto, string Obs, string Subtotal, string Desconto, string Credito, string Total, string XmlItens)
        {
            try
            {
                //string StringConexao = "Data Source=SERVIDOR;Initial Catalog=BD_ERP_SGE; User ID=talimpo; Password=systalimpo; MultipleActiveResultSets=True;";
                Conexao = new SqlConnection(StringConexao);
                Conexao.Open();

                Funcoes Executar = new Funcoes();
                Executar.Conexao = Conexao;

                RegAuditoria.Controle = Executar;

                Parametros ParamFilial = new Parametros();
                ParamFilial.Controle = Executar;
                ParamFilial.LerDados(1);

                Controles.ControleEstoque ControleEstoque = new ControleEstoque();
                ControleEstoque.Controle = Executar;

                Pessoas CadPessoa = new Pessoas();
                CadPessoa.Controle = Executar;
                CadPessoa.LerDados(IdPessoa);

                MvVenda Venda = new MvVenda();
                Venda.Controle = Executar;

                MvVendaItens MvItens = new MvVendaItens();
                MvItens.Controle = Executar;

                Venda.LerDados(0);
                Venda.TpVenda     = "PV";
                Venda.IdPessoa    = IdPessoa;
                Venda.IdVendedor  = IdVendedor;
                Venda.IdFormaPgto = IdFormaPgto;
                Venda.PrazoPgto   = PrazoPgto;
                Venda.Observacao  = Obs;
                Venda.NmPessoa    = CadPessoa.RazaoSocial;
                Venda.CnpjCpf     = CadPessoa.Cnpj;
                Venda.InscUF      = CadPessoa.InscUF;
                Venda.Endereco    = CadPessoa.Endereco;
                Venda.Numero      = CadPessoa.Numero;
                Venda.Complemento = CadPessoa.Complemento;
                Venda.Fone        = CadPessoa.Fone;
                Venda.Cep         = CadPessoa.Cep;
                Venda.Bairro      = CadPessoa.Bairro;
                Venda.Cidade      = CadPessoa.Cidade;
                Venda.IdUF        = CadPessoa.IdUF;
                Venda.Pais        = CadPessoa.Pais;
                Venda.VlrSubTotal = decimal.Parse(Subtotal.ToString().Replace(".", ","));
                Venda.VlrDesconto = decimal.Parse(Desconto.ToString().Replace(".", ","));
                Venda.VlrCredito  = decimal.Parse(Credito.ToString().Replace(".", ","));
                Venda.VlrTotal    = decimal.Parse(Total.ToString().Replace(".", ","));
                if (CadPessoa.IdFilial == 0)
                {
                    Venda.IdFilial = IdFilial;
                }
                else
                {
                    Venda.IdFilial = CadPessoa.IdFilial;
                }
                Venda.GravarDados();
                RegistrarAuditoria("Venda Mobile Venda", Venda.IdVenda, Venda.NumDocumento, 1, "Pessoa:" + Venda.NmPessoa);

                //Incluindo os Itens;
                System.IO.StringReader Xml = new System.IO.StringReader(XmlItens);
                DataSet Tab = new DataSet();
                Tab.ReadXml(Xml);
                for (int i = 0; i < Tab.Tables[0].Rows.Count; i++)
                {
                    MvItens.LerDados(0);
                    MvItens.IdVenda     = Venda.IdVenda;
                    MvItens.TipoItem    = "S";
                    MvItens.IdProduto   = int.Parse(Tab.Tables[0].Rows[i]["cProd"].ToString());
                    MvItens.PrcEspecial = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcE"].ToString().Replace(".", ","));
                    MvItens.PrcVarejo   = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcV"].ToString().Replace(".", ","));
                    MvItens.PrcMinimo   = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcM"].ToString().Replace(".", ","));
                    MvItens.PrcAtacado  = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcA"].ToString().Replace(".", ","));
                    MvItens.Qtde        = decimal.Parse(Tab.Tables[0].Rows[i]["cQtde"].ToString().Replace(".", ","));
                    MvItens.VlrUnitario = decimal.Parse(Tab.Tables[0].Rows[i]["cPrcU"].ToString().Replace(".", ","));
                    MvItens.VlrTotal    = MvItens.Qtde * MvItens.VlrUnitario;
                    MvItens.GravarDados();
                    RegistrarAuditoria("Venda Mobile Item", MvItens.IdItem, Venda.NumDocumento, 1, "Incluindo Item Produto:" + MvItens.IdProduto.ToString() + "  Vr.Unit:" + MvItens.VlrUnitario.ToString() + "  Qtde:" + MvItens.Qtde.ToString());
                }
                //Atualizando o Estoque e Concluindo a Venda

                //Atualizando o Credito do Cliente
                if (Venda.VlrCredito > 0)
                {
                    Executar.ExecutaSQL("UPDATE PESSOAS SET CREDITO=CREDITO-" + Executar.FloatToStr(Venda.VlrCredito, 2) + " WHERE ID_PESSOA=" + Venda.IdPessoa.ToString());
                }

                //Calculando a comissao
                SqlDataReader TabComissao = Executar.ConsultaSQL("SELECT T1.*,T3.COMISSAO AS PCOMVEND FROM MvVendaItens T1 LEFT JOIN MVVENDA T2 ON (T2.ID_VENDA=T1.ID_VENDA)" +
                                                                 " LEFT JOIN VENDEDORES T3 ON (T3.ID_VENDEDOR=T2.ID_VENDEDOR) WHERE T1.TipoItem<>'E' and T1.Id_Venda=" + Venda.IdVenda.ToString());
                Controles.Comissao CalcComissao = new Controles.Comissao();
                CalcComissao.Controle = Executar;

                decimal PDesconto = 0;
                if ((Venda.VlrDesconto + Venda.VlrCredito) > 0)
                {
                    PDesconto = 100 / (Venda.VlrSubTotal / (Venda.VlrDesconto + Venda.VlrCredito));
                }
                CalcComissao.CalcularMovimento(TabComissao, PDesconto, CadPessoa.Clie_Forn == 3, ParamFilial, CadPessoa.ComissaoFixa, CadPessoa.IdPessoa);

                //Atualizando o Saldo do Estoque
                SqlDataReader TabSaida = Executar.ConsultaSQL("SELECT * FROM MvVendaItens WHERE TipoItem='S' and Id_Venda=" + Venda.IdVenda.ToString());
                ControleEstoque.MovimentoEstoque(TabSaida, 2, 1, false, Venda.TpVenda, Venda.Data, 0);

                //Finalizando a venda
                Venda.Concluir(1);
                RegistrarAuditoria("Venda Mobile", Venda.IdVenda, Venda.NumDocumento, 5, "Confirmação do Movimento");
            }
            catch
            {
                Conexao.Dispose();
                return(-1);
            }
            Conexao.Dispose();
            return(0);
        }