Exemple #1
0
        public Confirmar(ITelaTransferenciaConta t1, ITelaTransferenciaConta t2)
        {
            InitializeComponent();

            if (t1.Conta_id == 0)
            {
                return;
            }
            lbConta1.Content     = new ContasController().Find(t1.Conta_id).Nome;
            lbInfoConta1.Content = ((t1.Tipo_lancamento == Tipo_lancamento.ENTRADA
                ? "ENTRADA"
                : "SAIDA") + " - " + new Planos_contasController().Find(t1.Plano_conta_id).Descricao);
            lbValorConta1.Content = $"R$ {t1.Valor.ToString("N2")}";

            lbConta2.Content     = new ContasController().Find(t2.Conta_id).Nome;
            lbInfoConta2.Content = ((t2.Tipo_lancamento == Tipo_lancamento.ENTRADA
                ? "ENTRADA"
                : "SAIDA") + " - " + new Planos_contasController().Find(t2.Plano_conta_id).Descricao);
            lbValorConta2.Content = $"R$ {t2.Valor.ToString("N2")}";
        }
        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();
            }));
        }