Пример #1
0
        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();
        }
Пример #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..!");
            }
            ///
        }