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); }
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..!"); } /// }
/* 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); } }