public void salvar()
        {
            CalcCodigoFaturaAtual();

            DateTime dataAtual = DateTime.Now;

            string GrossTotal = (totGeral).ToString().Replace(',', '.');
            //   string dadosHash2 = dataAtual.ToString("yyyy-MM-dd") + ";" + dataAtual.ToString("yyyy-MM-ddTHH:mm") + ";" + invoiceNo + ";" + (TotalIva + totalIncidencia).ToString("N2").Replace(",", ".") + ";";
            string dadosHash = dataAtual.ToString("yyyy-MM-dd") + ";" + dataAtual.ToString("yyyy-MM-ddTHH:mm:ss") + ";" + invoiceNo + ";" + GrossTotal + ";";

            dadosHash += lastInvoice != null ? lastInvoice.Hash : "";

            string Hash = Methods.gerarHash(dadosHash, invoiceNo);


            _invoiceNota = new Invoice()
            {
                ClienteId        = _invoiceCorrigir.ClienteId, // Trocar depois, pois o motivo da nota pode erro no cliente
                Codigo           = _codigoFaturaAtual,
                Desconto         = totDescontoProducts,
                InvoiceDate      = dataAtual.ToString("yyyy-MM-dd"),
                InvoiceNo        = invoiceNo,
                TipoDocumentoId  = idTipoDocumento,
                RazaoNota        = cmbMotivoNota.Text,
                SeriesId         = idSerie,
                TipoOperacaoId   = (cmbTipoOperacaoNota.SelectedIndex + 1),
                TotalImposto     = TotalIva,
                TotalIncidencia  = totalIncidencia,
                UserId           = UserCurrent.getCurrentUser().Id,
                Hash             = Hash,
                Referencia       = _invoiceCorrigir.InvoiceNo,
                FormaPagamentoId = _invoiceCorrigir.FormaPagamentoId,
            };

            int r = _invoiceController.insert(_invoiceNota);

            _invoiceNota = _invoiceController.getForInvoiceNo(invoiceNo);


            int idFatura = _invoiceNota != null ? _invoiceNota.Id : 0;

            if (idFatura == 0)
            {
                MessageBox.Show("Fatura Nula");
            }
            //_invoiceController.Dispose();
            //_invoiceController = new InvoiceController();

            foreach (var item in __productSales)
            {
                Stock stock = _stock.getStockArmazemProduct(item.ProductId, item.Stock.ArmazemId);
                stock.Quantidade += item.Quantidade;
                _stock.update(stock);

                ProductSales productSale = new ProductSales()
                {
                    Desconto          = item.Desconto,
                    FaturaId          = idFatura,
                    MotivoIsencao     = item.MotivoIsencao,
                    Descricao_Produto = item.Product.Descricao,
                    ProductId         = item.ProductId,
                    Quantidade        = item.Quantidade,
                    StockId           = item.StockId,
                    Taxa        = item.Taxa,
                    Unidade     = item.Unidade,
                    Preco       = item.Preco,
                    Observacao  = item.Observacao,
                    MotivoISEId = item.MotivoISEId,
                };
                _sales.insert(productSale);
            }

            //__listaSelected.Clear();
            //   gdvControlProducts.DataSource = __listaSelected;
            gdvControlProducts.RefreshDataSource();
            CalcCodigoFaturaAtual();
            print(idFatura);
        }
示例#2
0
        private void salvar()
        {
            if (_productsSelectedSellController.ListALL().Count > 0)
            {
                /*try
                 * {*/
                // Antes de inserir calcula novamente o código da fatura atual/ se forem muitos computadores um já pode ter usado aquele código
                CalcCodigoFaturaAtual();
                decimal totGeral = total + totalTaxa;
                int     idFatura;
                string  idpayment = "NU";

                if (rbTPA.Checked)
                {
                    idpayment = "CC";
                }

                string   invoiceNo = _invoiceTypeController.getOne(idTipoDocumento).Tipo + " " + _serieController.getOne(idSerie).Serie + "/" + _codigoFaturaAtual;
                DateTime dataAtual = DateTime.Now;

                //string GrossTotal = (TotalIva + totalIncidencia).ToString("F").Replace(',', '.');
                string GrossTotal = (totGeral).ToString("F3").Replace(',', '.');
                //   string dadosHash2 = dataAtual.ToString("yyyy-MM-dd") + ";" + dataAtual.ToString("yyyy-MM-ddTHH:mm") + ";" + invoiceNo + ";" + (TotalIva + totalIncidencia).ToString("N2").Replace(",", ".") + ";";
                string dadosHash = dataAtual.ToString("yyyy-MM-dd") + ";" + dataAtual.ToString("yyyy-MM-ddTHH:mm:ss") + ";" + invoiceNo + ";" + GrossTotal + ";";
                dadosHash += _lastInvoice != null ? _lastInvoice.Hash : "";
                //dadosHash = lastInvoice != null ? dadosHash + lastInvoice.Hash : dadosHash;
                string Hash = Methods.gerarHash(dadosHash, invoiceNo);

                Invoice invoice = new Invoice()
                {
                    InvoiceDate      = DateTime.Now.ToString("yyyy-MM-dd"),
                    Codigo           = _codigoFaturaAtual,
                    ClienteId        = clienteId,
                    SeriesId         = idSerie,
                    InvoiceNo        = invoiceNo,
                    TipoDocumentoId  = idTipoDocumento,
                    Desconto         = decimal.Parse(txtDesconto.Text),
                    TotalImposto     = totalTaxa,
                    TotalIncidencia  = total,
                    UserId           = idUser,
                    Troco            = decimal.Parse(txtTroco.Text),
                    ValorPago        = decimal.Parse(txtValorPago.Text),
                    FormaPagamentoId = idpayment,
                    TotalLiquidar    = 0,
                    Hash             = Hash,
                    DataCadastro     = dataAtual,
                };

                ConfigCurrentAccountController _configAccountUserController = new ConfigCurrentAccountController();
                ConfigCurrentAccount           configAccount = _configAccountUserController.ListForUserIdPaymentId(idUser, idpayment);

                if (configAccount != null)
                {
                    _invoiceController.insert(invoice, idUser, configAccount.CurrentAccountId);
                }
                else
                {
                    _invoiceController.insert(invoice, idUser, 1); // Se não tiver definido nenhuma conta entra na caixa geral
                }
                invoice  = _invoiceController.getForInvoiceNo(invoiceNo);
                idFatura = invoice.Id;

                if (idFatura == 0)
                {
                    MessageBox.Show("Fatura Nula");
                }


                foreach (var item in _productsSelectedSellController.ListALL())
                {
                    try
                    {
                        //Stock stock = _stockController.getStockArmazemProduct(item.ProdutoId, idArmazemDefault);
                        Stock stock = _stockController.getOne(item.StockId);
                        stock.Quantidade -= item.Quantidade;
                        _stockController.update(stock);

                        string movitoISE = null;

                        Product product = _productController.getOne(item.ProdutoId);
                        if (product.MotivoISEId != null)
                        {
                            movitoISE = product.MotivoISE.MencaoFatura;
                        }

                        ProductSales productSale = new ProductSales()
                        {
                            Preco             = item.Preco,
                            FaturaId          = idFatura,
                            ProductId         = item.ProdutoId,
                            Desconto          = item.Desconto,
                            StockId           = item.StockId,
                            Descricao_Produto = product.Descricao,
                            Quantidade        = item.Quantidade,
                            Taxa          = product.CodigoTaxa.Taxa,
                            Unidade       = product.UnidadeBase.Simbolo,
                            MotivoIsencao = movitoISE,
                            MotivoISEId   = product.MotivoISEId,
                        };

                        _sales.insert(productSale);
                    }
                    catch (Exception error)
                    {
                        MessageBox.Show(error.Message);
                    }
                }

                clearData();
                CalcCodigoFaturaAtual();

                print(idFatura);

                /* }
                 * catch (Exception error)
                 * {
                 *   MessageBox.Show(error.Message);
                 * }*/
            }
            else
            {
                MessageBox.Show("Não foi selecionado nenhum artigo para venda..!");
            }
            ///
        }
示例#3
0
        /* public bool verificaData()
         * {
         *   Invoice ivlast = _invoiceController.ListALLAsNoTracking().LastOrDefault();
         *   if(ivlast != null)
         *   {
         *       if(ivlast.DataCadastro > DateTime.Now)
         *       {
         *           MessageBox.Show("Verifique se a data do Sistema está correta..!");
         *           return false;
         *       }
         *   }
         *   return true;
         * }*/



        public void salvar()
        {
            //Series serie = _serieController.ListALLAsNoTracking()[cmbSerie.SelectedIndex];
            try
            {
                CalcCodigoFaturaAtual();
                obs = txtDescricao.Text;
                string   invoiceNo = getInvoiceTypeTipo() + " " + _serieController.ListALLAsNoTracking()[cmbSerie.SelectedIndex].Serie + "/" + _codigoFaturaAtual;
                DateTime dataAtual = DateTime.Now;

                //string GrossTotal = (TotalIva + totalIncidencia).ToString("F").Replace(',', '.');
                string GrossTotal = (totGeral).ToString("F3").Replace(',', '.');
                //   string dadosHash2 = dataAtual.ToString("yyyy-MM-dd") + ";" + dataAtual.ToString("yyyy-MM-ddTHH:mm") + ";" + invoiceNo + ";" + (TotalIva + totalIncidencia).ToString("N2").Replace(",", ".") + ";";
                string dadosHash = dataAtual.ToString("yyyy-MM-dd") + ";" + dataAtual.ToString("yyyy-MM-ddTHH:mm:ss") + ";" + invoiceNo + ";" + GrossTotal + ";";
                dadosHash += lastInvoice != null ? lastInvoice.Hash : "";
                //dadosHash = lastInvoice != null ? dadosHash + lastInvoice.Hash : dadosHash;

                string Hash = Methods.gerarHash(dadosHash, invoiceNo);

                Invoice invoice = new Invoice()
                {
                    InvoiceDate      = dataAtual.ToString("yyyy-MM-dd"),
                    Codigo           = _codigoFaturaAtual,
                    ClienteId        = ClienteID,
                    SeriesId         = idSerie,
                    InvoiceNo        = invoiceNo,
                    TipoDocumentoId  = idTipoDocumento,
                    Desconto         = totDescontoProducts,
                    Observacao       = obs,
                    TotalImposto     = TotalIva,
                    TotalIncidencia  = totalIncidencia,
                    TotalLiquidar    = cmbInvoiceType.Text == "FT" ? totalIncidencia + TotalIva : 0,
                    UserId           = UserCurrent.getCurrentUser().Id,
                    Troco            = troco,
                    ValorPago        = valorPago,
                    FormaPagamentoId = cmbInvoiceType.Text == "FT" ? "CD" : cmbInvoiceType.Text == "PP" || cmbInvoiceType.Text == "FP" ? null : _paymentWays.ListALLAsNoTracking()[cmbPaymentMechanism.SelectedIndex].Id,
                    DataCadastro     = dataAtual,
                    Hash             = Hash,
                    DataVencimento   = dtVencimento.Enabled ? dtVencimento.Value : DateTime.Now,
                };
                _invoiceController.insert(invoice);

                invoice = _invoiceController.getForInvoiceNo(invoiceNo);
                int idFatura = invoice != null ? invoice.Id : 0;

                if (idFatura == 0)
                {
                    MessageBox.Show("Fatura Nula");
                }
                _invoiceController.Dispose();
                _invoiceController = new InvoiceController();

                /*string dadosHash = invoice.InvoiceDate + ";" + invoice.DataCadastro.ToString("yyyy-MM-ddTHH:mm:ss") + ";" + invoice.InvoiceNo + ";" + invoice.TotalGeral.ToString("N2").Replace(",", ".") + ";";
                 * string dadosHash2 = invoice.InvoiceDate + ";" + invoice.DataCadastro.ToString("yyyy-MM-ddTHH:mm") + ";" + invoice.InvoiceNo + ";" + invoice.TotalGeral.ToString("N2").Replace(",", ".") + ";";
                 * dadosHash = lastInvoice != null ? dadosHash2 + lastInvoice.Hash : dadosHash;
                 * invoice.Hash = Methods.gerarHash(dadosHash);*/


                CurrentAccountSystem currentAccountSystem = _currentAcountSystemController.ListALL()[cmbConta.SelectedIndex];
                currentAccountSystem.Saldo += invoice.TotalGeral;
                _currentAcountSystemController.update(currentAccountSystem);



                foreach (var item in __listaSelected)
                {
                    Stock stock = _stock.getStockArmazemProduct(item.ProdutoId, item.Stock.ArmazemId);
                    stock.Quantidade -= item.Quantidade;
                    _stock.update(stock);

                    string  movitoISE = null;
                    Product product   = _products.getOne(item.ProdutoId);
                    if (product.MotivoISEId != null)
                    {
                        movitoISE = product.MotivoISE.MencaoFatura;
                    }


                    ProductSales productSale = new ProductSales()
                    {
                        Preco             = item.Preco,
                        FaturaId          = idFatura,
                        ProductId         = item.ProdutoId,
                        Desconto          = item.Desconto,
                        Descricao_Produto = product.Descricao,
                        Quantidade        = item.Quantidade,
                        StockId           = item.StockId,
                        Taxa          = product.CodigoTaxa.Taxa,
                        Unidade       = product.UnidadeBase.Simbolo,
                        MotivoISEId   = product.MotivoISEId,
                        MotivoIsencao = movitoISE,
                    };

                    _sales.insert(productSale);
                }

                __listaSelected.Clear();
                gdvControlProducts.DataSource = __listaSelected;
                gdvControlProducts.RefreshDataSource();
                CalcCodigoFaturaAtual();
                print(idFatura);
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message);
            }
        }