private Contas.enuTipoConta ConsultaTipoConta(Contas c) { Contas.enuTipoConta tipo = 0; if (c.ContaIdPai != null && c.ContaIdPai > 0) { tipo = Contas.enuTipoConta.Filial; } else if (c.ContaId > 0) { tipo = Contas.enuTipoConta.Matriz; } return(tipo); }
private string ValidarCampos(Transacoes t) { string msgRetorno = ""; Transacoes.enuTipoTransacao tipo; if (!Enum.TryParse(t.TipoTransacao.ToString(), out tipo)) { msgRetorno += "Tipo de transação inexistente;"; } else { Contas contaDestino = RetornaCadastroConta(t.ContaIdDestino); Contas contaOrigem = RetornaCadastroConta(t.ContaIdOrigem.Value); Contas.enuTipoConta tipoContaDestino = ConsultaTipoConta(contaDestino); Contas.enuTipoConta tipoContaOrigem = ConsultaTipoConta(contaOrigem); if (contaDestino.ContaId <= 0) { msgRetorno += "Conta Destino inexistente;"; } if (!ValidaContaAtiva(contaDestino)) { msgRetorno += "Conta Destino não está ativa;"; } if (tipo == Transacoes.enuTipoTransacao.Transferencia) { if (tipoContaDestino == Contas.enuTipoConta.Matriz) { msgRetorno += "Contas Matriz não podem receber transferências;"; } if (contaOrigem.ContaId <= 0) { msgRetorno += "Conta Origem inexistente;"; } else { if (tipoContaOrigem == Contas.enuTipoConta.Matriz) { msgRetorno += "Contas Matriz não podem efetuar transferências;"; } else { if (!ValidaContaAtiva(contaOrigem)) { msgRetorno += "Conta Origem não está ativa;"; } } } if (tipoContaDestino != Contas.enuTipoConta.Matriz && tipoContaOrigem != Contas.enuTipoConta.Matriz) { if (contaOrigem.ContaIdMatriz != contaDestino.ContaIdMatriz) { msgRetorno += "Conta Origem e Conta Destino não fazem parte da mesma árvore;"; } } } } if (t.Valor <= 0) { msgRetorno += "Valor deve ser maior que zero;"; } return(msgRetorno); }