Пример #1
0
        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);
        }
Пример #2
0
        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);
        }