private void btnAddConfig_Click(object sender, EventArgs e) { int idUser = _userController.ListAllAsNotracking()[cmbUser.SelectedIndex].Id; string idPaymentMechanism = _paymentWays.ListALL()[cmbPaymentMechanism.SelectedIndex].Id; ConfigCurrentAccount configAccount = _configAccountUserController.ListForUserIdPaymentId(idUser, idPaymentMechanism); if (configAccount == null) { configAccount = new ConfigCurrentAccount(); configAccount.CurrentAccountId = _currentAccountController.ListALLAsNoTracking()[cmbAccounts.SelectedIndex].Id; configAccount.PaymentMechanismId = idPaymentMechanism; configAccount.UserId = idUser; _configAccountUserController.insert(configAccount); _configAccountUserController.Dispose(); _configAccountUserController = new ConfigCurrentAccountController(); } updateGrid(); }
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..!"); } /// }