none
Dúvida com funções RRS feed

  • Pergunta

  • Olá, estou com o seguinte problema, tenho uma view no banco que faz um group by, e tenho uma outra tabela GraficoCor, quero fazer com que cada vez que o While da primeira função fizer um incremento, ele passe o valor do contador para a variável IdCor da segunda função, a segunda função fará a consulta tendo como referencia o valor do IdCor retornando a cor em hexadecimal para a primeira função.

    public static FatoFaturamentoIVELBO[] GetFaturamentoIVEL(string Operacao, Connection Cn)
            {
                
                var RsFaturamento = new Recordset();
                int Cont = 0;
                try
                {
                    RsFaturamento.Open(String.Format("SELECT Operacao, AnoMes, TradeMarketing, SUM(ValorNF)AS ValorTotal FROM dbo.FatoFaturamentoIVEL WHERE TradeMarketing = 0  and AnoMes = '2016/04' GROUP BY Operacao, AnoMes, TradeMarketing ORDER BY SUM(ValorNF) ASC", Operacao), Cn, CursorTypeEnum.adOpenStatic, LockTypeEnum.adLockReadOnly);
                    var ArrayRetorno = new FatoFaturamentoIVELBO[RsFaturamento.RecordCount];
                    while (!RsFaturamento.EOF)
                    {
                        FatoFaturamentoIVELBO Faturamento = new FatoFaturamentoIVELBO();
                        Faturamento.Operacao = RsFaturamento.Fields["Operacao"].Value.ToString();
                        Faturamento.AnoMes = RsFaturamento.Fields["AnoMes"].Value.ToString();
                        Faturamento.ValorNF = decimal.Parse(RsFaturamento.Fields["ValorTotal"].Value.ToString());
    
                        ArrayRetorno[Cont] = Faturamento;
    
                        Cont++;
                        RsFaturamento.MoveNext();
                    }
                    
                    RsFaturamento.Close();
    
                    return ArrayRetorno;
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro: " + ex.Message);
                }
            }

    public  static FatoFaturamentoIVELBO GetCor(int IdCor, Connection Cn)
            {
                var Cor = new FatoFaturamentoIVELBO();
                var RsCor = new Recordset();
    
                try
                {
                    RsCor.Open(String.Format("SELECT IdCor, CodHex from dbo.GraficoCor  where IdCor = " + IdCor), Cn, CursorTypeEnum.adOpenStatic, LockTypeEnum.adLockReadOnly);
                    if (!RsCor.EOF)
                    {
                        Cor.CodHex = RsCor.Fields["CodHex"].Value.ToString();
                    }
                    return Cor;
                }
                catch (Exception ex)
                {
                    throw new Exception("Erro :" + ex.Message);
                }
            }

    segunda-feira, 18 de abril de 2016 18:35

Respostas

  • Boa noite,

    Sua dúvida é em como chamar o método "GetCor" passando os parâmetros?
    Antes do "Cont++":

    Faturamento.CodHex = GetCor(i,Cn).CodHex;

    Att,


    Se a resposta contribuiu com seu aprendizado por favor marque como util, se solucionou seu problema marque como resposta.

    • Marcado como Resposta Marcos SJ terça-feira, 19 de abril de 2016 14:38
    segunda-feira, 18 de abril de 2016 21:55