예제 #1
0
        private void Salvar()
        {
            int id = int.Parse(txCod.Text);

            Contas conta = (id == 0
                ? new Contas()
                : controller.Find(id));

            conta.Nome         = txNome.Text;
            conta.Tipo         = ((int)(Tipo_conta)cbTipo.SelectedValue);
            conta.Inativa      = ckInativo.IsChecked.Value;
            conta.Banco_numero = int.Parse(txNumero_banco.Text);
            conta.Nome_banco   = txNome_banco.Text;
            conta.Conta        = txCod_conta.Text;
            conta.Convenio     = txConvenio.Text;
            conta.Carteira     = txCarteira.Text;
            conta.Agencia      = txAgencia.Text;
            conta.Titular      = txTitular.Text;
            conta.Nosso_numero = txNosso_numero.Text;

            if (controller.Save(conta))
            {
                LimparCampos();
            }
        }
        public override object[] DoInBackGround(int[] param)
        {
            Lancamentos_financeirosController lController = new Lancamentos_financeirosController();
            ContasController cController = new ContasController();

            decimal saldoConta = cController.Find(param[3]).Saldo;

            List <Lancamentos_financeiros>        list    = lController.BuscaSimples(param[0], param[1], param[2], param[3]);
            List <Lancamentos_financeirosAdapter> listAdp = new List <Lancamentos_financeirosAdapter>();

            list.ForEach(e => listAdp.Add(new Lancamentos_financeirosAdapter(e, lController.GetContext())));

            return(new object[] { saldoConta, listAdp });
        }
        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();
            }));
        }