none
Criar Helper para somar um determinado campo EF dinamicamente RRS feed

  • Pergunta

  • Bom dia.

    Em minhas views faço as tabelas com tag Table normalmente e uso o JQuery DataTables para dar uma incrementada, e fica muito bom!

    Agora nas views eu preciso por uns totalizadores (esqueci em todos. são 20 views..que droga cara..).

    Eu não gostaria de ficar somando determinados campos.  Então gostaria de fazer um Helper tipo assim:

    @Html.Totalizador(Model.Itens, "ValorCheque")

    O nome do campo seria dinâmico pois cada view teria o seu, e este helper iria imprimir um quadro bonitinho.   Já pesquisei como poderia fazer isso mas não achei nada.

    Alguém pode me ajudar?  Vlw obrigado!

    quinta-feira, 20 de junho de 2013 11:09

Respostas

  • Dentro do seu model, na sua classe do EF, você pode criar um campo que faça isso, e que não seja mapeado no banco de dados. Exemplo:

    public class MinhaClasse
    {
        public int Valor1 { get; set; }
        public int Valor2 { get; set; }
    
        [NotMapped]
        public int ValoresSomados
        {
            get { return Valor1 + Valor2; }
        }
    }


    Ao infinito e além!

    quinta-feira, 20 de junho de 2013 14:24

Todas as Respostas

  • Romulo,

    bom dia.

    Um começo para você.

    O helper:

     public static class TotalizadorHelper
        {
            public static IHtmlString Totalizador<TSource>(this List<TSource> source, string id)
            {
                int iTotal = source.Count;
    
                var tag = new TagBuilder("div");
                tag.GenerateId(id);
                tag.InnerHtml = iTotal.ToString();
                return new HtmlString(tag.ToString());
            }
        }

    A chamada:

    @TotalizadorHelper.Totalizador(lista, "total")

    Att.,


    Wanderson de Paula

    quinta-feira, 20 de junho de 2013 14:12
  • Dentro do seu model, na sua classe do EF, você pode criar um campo que faça isso, e que não seja mapeado no banco de dados. Exemplo:

    public class MinhaClasse
    {
        public int Valor1 { get; set; }
        public int Valor2 { get; set; }
    
        [NotMapped]
        public int ValoresSomados
        {
            get { return Valor1 + Valor2; }
        }
    }


    Ao infinito e além!

    quinta-feira, 20 de junho de 2013 14:24