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(); })); }