Example #1
0
        private void Salvar(bool close)
        {
            if (txData.SelectedDate == null)
            {
                MessageBox.Show("Informe a data do lançamento", "Atenção", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return;
            }

            Lancamentos_financeiros lancamento = new Lancamentos_financeiros();

            lancamento.Data                = (DateTime)txData.SelectedDate;
            lancamento.Conta_id            = Conta_id;
            lancamento.Num_documento       = txNum_documento.Text;
            lancamento.Origem              = (int)Origem_lancamento.NENHUM;
            lancamento.Tipo                = ((int)(Tipo_lancamento)cbTipo.SelectedValue);
            lancamento.Plano_conta_id      = int.Parse(txCod_planoConta.Text);
            lancamento.Valor_original      = decimal.Parse(txValor_original.Text);
            lancamento.Desconto            = decimal.Parse(txDesconto.Text);
            lancamento.Acrescimo           = decimal.Parse(txAcrescimo.Text);
            lancamento.Despesas_acessorias = decimal.Parse(txDespesas_acessorias.Text);
            lancamento.Valor_final         = decimal.Parse(txValor_final.Text);
            lancamento.Usuario_id          = UsuariosController.UsuarioAtual.Id;
            lancamento.Descricao           = txDescricao.Text;
            lancamento.Cliente_id          = int.Parse(txCod_cliente.Text);
            lancamento.Fornecedor_id       = int.Parse(txCod_fornecedor.Text);

            PagamentoLancamento pagamento = new PagamentoLancamento();

            pagamento.Exibir(lancamento.Valor_final);

            lancamento.Pagamentos_lancamentos = pagamento.Pagamentos;

            if (controller.Save(lancamento))
            {
                if (close)
                {
                    Close();
                }
                else
                {
                    LimparCampos();
                }
            }
        }
        private void EfetuarTransferencia()
        {
            ITelaTransferenciaConta t1 = telas[1];
            ITelaTransferenciaConta t2 = telas[2];

            progressBar.Dispatcher.Invoke(new Action <ProgressBar>(pb => progressBar.Visibility = Visibility.Visible), progressBar);

            Lancamentos_financeirosController controller = new Lancamentos_financeirosController();
            ContasController contasC = new ContasController();
            Formas_pagamento fpg     = new Formas_pagamentoController().Get(e => e.Tipo_pagamento == (int)Tipo_pagamento.DINHEIRO);

            Lancamentos_financeiros lancamento1 = new Lancamentos_financeiros();
            Lancamentos_financeiros lancamento2 = new Lancamentos_financeiros();

            Application.Current.Dispatcher.BeginInvoke(new Action(() =>
            {
                lancamento1.Data           = DateTime.Now;
                lancamento1.Conta_id       = t1.Conta_id;
                lancamento1.Plano_conta_id = t1.Plano_conta_id;
                lancamento1.Tipo           = (int)t1.Tipo_lancamento;
                lancamento1.Valor_original = t1.Valor;
                lancamento1.Valor_final    = t1.Valor;
                lancamento1.Usuario_id     = UsuariosController.LojaAtual.Id;
                lancamento1.Num_documento  = "";
                lancamento1.Pagamentos_lancamentos.Add(new Pagamentos_lancamentos()
                {
                    Forma_pagamento_id = fpg.Id,
                    Valor = lancamento1.Valor_final
                });

                lancamento2.Data           = DateTime.Now;
                lancamento2.Conta_id       = t2.Conta_id;
                lancamento2.Plano_conta_id = t2.Plano_conta_id;
                lancamento2.Tipo           = (int)t2.Tipo_lancamento;
                lancamento2.Valor_original = t2.Valor;
                lancamento2.Valor_final    = t2.Valor;
                lancamento2.Num_documento  = "";
                lancamento2.Usuario_id     = UsuariosController.LojaAtual.Id;
                lancamento2.Pagamentos_lancamentos.Add(new Pagamentos_lancamentos()
                {
                    Forma_pagamento_id = fpg.Id,
                    Valor = lancamento2.Valor_final
                });

                lancamento1.Descricao = $"TRANSFERÊNCIA '{contasC.Find(lancamento1.Conta_id).Nome}' -> '{contasC.Find(lancamento2.Conta_id).Nome}' - {lancamento1.Data.ToString("dd/MM/yyyy HH:mm:ss")} ({(lancamento1.Tipo == (int)Tipo_lancamento.ENTRADA ? "ENTRADA" : "SAIDA")})";
                lancamento2.Descricao = $"TRANSFERÊNCIA '{contasC.Find(lancamento1.Conta_id).Nome}' -> '{contasC.Find(lancamento2.Conta_id).Nome}' - {lancamento2.Data.ToString("dd/MM/yyyy HH:mm:ss")} ({(lancamento2.Tipo == (int)Tipo_lancamento.ENTRADA ? "ENTRADA" : "SAIDA")})";

                if (!controller.Save(lancamento1))
                {
                    MessageBox.Show("Ocorreu um problema ao executar o procedimento. Acione o suporte Doware.", "ERRO", MessageBoxButton.OK, MessageBoxImage.Error);
                    thread_transferencia.Abort();
                }

                if (!controller.Save(lancamento2))
                {
                    MessageBox.Show("Ocorreu um problema ao executar o procedimento. Acione o suporte Doware.", "ERRO", MessageBoxButton.OK, MessageBoxImage.Error);
                    thread_transferencia.Abort();
                }

                MessageBox.Show("Transferência efetuada com sucesso", "Concluído", MessageBoxButton.OK, MessageBoxImage.Information);
                Close();
                thread_transferencia.Abort();
            }));
        }