/// <summary> /// Verifica se o cliente possui algum bloqueio. /// </summary> /// <param name="sessao">Sessão do banco de dados.</param> /// <param name="cliente">Instância com os dados do cliente que será analizado.</param> /// <param name="motivos">Motivos do bloqueio.</param> /// <returns>True caso o cliente possua algum bloqueio ativo.</returns> public bool VerificarBloqueio(GDA.GDASession sessao, Model.Cliente cliente, out IEnumerable <string> motivos) { var motivosResultado = new List <string>(); var bloqueado = false; foreach (var provedor in this.provedores) { if (provedor.Ativo) { try { IEnumerable <string> motivosBloqueio; if (provedor.VerificarBloqueio(sessao, cliente, out motivosBloqueio)) { motivosResultado.AddRange(motivosBloqueio); bloqueado = true; } } catch (System.Exception ex) { bloqueado = true; motivosResultado.Add(ex.Message); } } } motivos = motivosResultado; return(bloqueado); }
/// <summary> /// Obtém o valor do limite de crédito para o cliente informado. /// </summary> /// <param name="sessao">Sessão de acesso ao banco de dados.</param> /// <param name="cliente">Cliente que será verificado.</param> /// <returns>Valor do limite.</returns> public decimal ObterLimite(GDA.GDASession sessao, Model.Cliente cliente) => this.Provedor.ObterLimite(sessao, cliente);