Ajuda com Model e Classe

.NET

15/09/2014

Tenho essa classe:


public class MontaArvoreAcao
        {
            public int IDRuptura { get; set; }
            public DateTime DataRuptura { get; set; }
            public int IDMotivo { get; set; }
            public string Motivo { get; set; }
            public int IDOrigem { get; set; }
            public string CodigoPDV { get; set; }
            public string UF { get; set; }
            public string Cidade { get; set; }
            public string Cnpj { get; set; }
            public string Descricao { get; set; }
            public string Codigo_Apresentacao { get; set; }
            public string Unidade_Negocio { get; set; }
            public string Franquia { get; set; }
            public string Familia { get; set; }
            public string Descricao { get; set; }
        }


A finalidade dessa classe é para eu ter uma Model que eu possa pegar na minha view e trabalhar com ela lá. Essa classe(Model) será alimentada com esse código na controller:

 [HttpPost]
            public JsonResult ArvoreAcao(string _uf)
            {
                RupturaEntities db = new RupturaEntities();
    
                var monta_arvore = (from rup in db.Ruptura
                                      from apr in db.Apresentacao.Where(apr => apr.Codigo_Apresentacao == rup.Codigo_Apresentacao)
                                      from pdv in db.PDV.Where(pdv => pdv.CodigoPDV == rup.CodigoPDV)
                                      from mot in db.Motivo.Where(mot => mot.IDMotivo == rup.IDMotivo)
    
                                      select new {
                                          rup.IDRuptura,
                                          rup.DataRuptura,
                                          rup.IDMotivo,
                                          mot.Motivo1,
                                          rup.IDOrigem,
                                          rup.CodigoPDV,
                                          pdv.UF,
                                          pdv.Cidade,
                                          loja = pdv.Cnpj + " - " + pdv.Descricao,
                                          rup.Codigo_Apresentacao,
                                          apr.Unidade_Negocio,
                                          apr.Franquia,
                                          apr.Familia,
                                          apr.Descricao}).ToList().Distinct().OrderBy(apr => apr.Descricao);
    
                ViewBag.result_arvore = monta_arvore;
    
                return Json(new { monta_arvore}, JsonRequestBehavior.AllowGet);
            }


A dúvida é: Como eu faço para pegar essa Model na View com todos os valores vindo da linq acima, ou seja, do banco de dados? Uma pergunta a mais: Todos os ID's dessa classe são Foreign Key. Está correto a forma de representar uma Foreign Key como está na classe ou tenho que fazer um ICollection?
Pjava

Pjava

Curtidas 0

Melhor post

Joel Rodrigues

Joel Rodrigues

15/09/2014

Para retornar da consulta uma coleção do seu model, bata instanciá-la na operação select, da seguinte forma:
from ... in ...
select new MontaArvoreAcao(){
  IDRuptura = rup.IDRuptura,
  DataRuptura = rup.DataRuptura,
  ...
}


E se for o caso, no final você converte para List com o método ToList().
GOSTEI 1

Mais Respostas

Joel Rodrigues

Joel Rodrigues

15/09/2014

E sobre os IDs, está correto sim, ou ao menos está adequado para sua necessidade. Se você não precisar, não há porque adicionar mais uma propriedade no modelo, ainda mais uma coleção, que para ser carregada iria consumir recursos da sua aplicação de forma desnecessária.
GOSTEI 1
Pjava

Pjava

15/09/2014

Valeu e obrigado. Faz um tempão que eu não anda por essas bandas.
GOSTEI 0
POSTAR