Example #1
0
 public static void VendeItem(VendaDetalheVO VendaDetalhe)
 {
     try
     {
         FDataModule.ACBrECF.VendeItem(VendaDetalhe.GTIN, VendaDetalhe.DescricaoPDV, VendaDetalhe.ECFICMS, VendaDetalhe.Quantidade, VendaDetalhe.ValorUnitario);
     }
     catch (Exception eError)
     {
         MessageBox.Show("Falha ao Registrar Item!", "Informação do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
         Log.write(eError.ToString());
         return;
     }
 }
        public void CancelaPreVendasPendentes(List <PreVendaCabecalhoVO> ListaPreVendaCabecalho, List <PreVendaDetalheVO> ListaPreVendaDetalhe)
        {
            string Mensagem;
            int    IdMovimento, ItemCupom;
            string Id;

            IdMovimento = FCaixa.Movimento.Id;

            for (int i = 0; i <= ListaPreVendaCabecalho.Count - 1; i++)
            {
                VendaCabecalhoVO      VendaCabecalho    = new VendaCabecalhoVO();
                List <VendaDetalheVO> ListaVendaDetalhe = new List <VendaDetalheVO>();
                VendaController       VendaController   = new VendaController();

                ItemCupom = 0;

                FDataModule.ACBrECF.AbreCupom();

                VendaCabecalho.IdMovimento = IdMovimento;
                VendaCabecalho.DataVenda   = FDataModule.ACBrECF.DataHora;
                VendaCabecalho.HoraVenda   = FDataModule.ACBrECF.DataHora.ToString("hh:mm:ss");
                VendaCabecalho.StatusVenda = "C";
                VendaCabecalho.CFOP        = FCaixa.Configuracao.CFOPECF;
                VendaCabecalho.COO         = Convert.ToInt32(FDataModule.ACBrECF.NumCOO);
                VendaCabecalho.CCF         = Convert.ToInt32(FDataModule.ACBrECF.NumCCF);
                VendaCabecalho.ValorVenda  = ListaPreVendaCabecalho[i].Valor;
                VendaCabecalho.IdPreVenda  = ListaPreVendaCabecalho[i].Id;
                VendaCabecalho             = VendaController.IniciaVenda(VendaCabecalho);

                Id = Convert.ToString(ListaPreVendaCabecalho[i].Id);

                Mensagem = FCaixa.MD5 + "PV" + new string('0', 10 - Id.Length) + Id + "\r" + "\n";

                for (int j = 0; j <= ListaPreVendaDetalhe.Count - 1; j++)
                {
                    if (ListaPreVendaDetalhe[j].IdPreVenda == ListaPreVendaCabecalho[i].Id)
                    {
                        ItemCupom++;
                        VendaDetalheVO VendaDetalhe = new VendaDetalheVO();
                        ProdutoVO      Produto      = new ProdutoController().ConsultaId(ListaPreVendaDetalhe[j].IdProduto);
                        VendaDetalhe.IdProduto        = ListaPreVendaDetalhe[j].IdProduto;
                        VendaDetalhe.CFOP             = FCaixa.Configuracao.CFOPECF;
                        VendaDetalhe.IdVendaCabecalho = VendaCabecalho.Id;
                        VendaDetalhe.DescricaoPDV     = Produto.DescricaoPDV;
                        VendaDetalhe.UnidadeProduto   = Produto.UnidadeProduto;
                        VendaDetalhe.CST                = Produto.Cst;
                        VendaDetalhe.ECFICMS            = Produto.ECFICMS;
                        VendaDetalhe.TaxaICMS           = Produto.AliquotaICMS;
                        VendaDetalhe.TotalizadorParcial = Produto.TotalizadorParcial;
                        VendaDetalhe.Quantidade         = ListaPreVendaDetalhe[j].Quantidade;
                        VendaDetalhe.ValorUnitario      = ListaPreVendaDetalhe[j].ValorUnitario;
                        VendaDetalhe.ValorTotal         = ListaPreVendaDetalhe[j].ValorTotal;
                        if (Produto.GTIN.Trim() == "")
                        {
                            VendaDetalhe.GTIN = Convert.ToString(Produto.Id);
                        }
                        else
                        {
                            VendaDetalhe.GTIN = Produto.GTIN;
                        }

                        VendaDetalhe.Item = ItemCupom;
                        if (Produto.IPPT == "T")
                        {
                            VendaDetalhe.MovimentaEstoque = "S";
                        }
                        else
                        {
                            VendaDetalhe.MovimentaEstoque = "N";
                        }

                        ListaVendaDetalhe.Add(VendaDetalhe);
                        VendaController.InserirItem(VendaDetalhe);

                        FDataModule.ACBrECF.VendeItem(ListaPreVendaDetalhe[j].GtinProduto, ListaPreVendaDetalhe[j].NomeProduto, ListaPreVendaDetalhe[j].ECFICMS, Convert.ToDecimal(ListaPreVendaDetalhe[j].Quantidade), Convert.ToDecimal(ListaPreVendaDetalhe[j].ValorUnitario));
                    }
                }// for j = 0 to ListaPreVendaDetalhe.Count - 1 do

                FDataModule.ACBrECF.SubtotalizaCupom();
                FDataModule.ACBrECF.EfetuaPagamento(FDataModule.ACBrECF.FormasPagamento[0].Indice, Convert.ToDecimal(ListaPreVendaCabecalho[i].Valor));

                try
                {
                    EmpresaVO Empresa = new EmpresaController().PegaEmpresa(FCaixa.Configuracao.IdEmpresa);
                    if (Empresa.Uf == "MG")
                    {
                        Mensagem = Mensagem + "MINAS LEGAL:" +
                                   Empresa.Cnpj.Substring(8, 1) + FDataModule.ACBrECF.DataHora.ToString("ddmmyyyy");
                        if (FCaixa.VendaCabecalho.ValorFinal >= 1)
                        {
                            Mensagem = Mensagem + FCaixa.VendaCabecalho.ValorFinal.ToString();
                        }
                        Mensagem = Mensagem + "\r" + "\n";
                    }
                }
                catch (Exception eError)
                {
                    Log.write(eError.ToString());
                }

                UECF.FechaCupom(Mensagem + FCaixa.Configuracao.MensagemCupom);
                UECF.CancelaCupom();
                VendaController.CancelaVenda(VendaCabecalho, ListaVendaDetalhe);
            }// for i := 0 to ListaPreVendaCabecalho.Count - 1 do

            FCaixa.Movimento = new MovimentoController().VerificaMovimento();
        }