Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.71 KB | None | 0 0
  1. public class EventoConfiguracao
  2. {
  3. public EventoConfiguracao()
  4. {
  5. //CdEventoConfiguracao = Guid.NewGuid();
  6. Menus = new List<Menu>();
  7. MenuLaterais =new List<MenuLateral>();
  8. Categorias =new List<Categoria>();
  9. Produtos=new List<Produto>();
  10. CupomDescontos =new List<CupomDesconto>();
  11. }
  12.  
  13. [Key]
  14. public int Id { get; set; }
  15. public string Nome { get; set; }
  16. public int CdEvento { get; set; }
  17. public virtual Evento Evento { get; set; }
  18. public virtual ICollection<Menu> Menus { get; set; }
  19. public virtual ICollection<Categoria> Categorias { get; set; }
  20. public virtual ICollection<Produto> Produtos { get; set; }
  21. public virtual ICollection<CupomDesconto> CupomDescontos { get; set; }
  22. public virtual ICollection<MenuLateral> MenuLaterais { get; set; }
  23.  
  24. public bool IsValid()
  25. {
  26. return true;
  27. }
  28. }
  29.  
  30.  
  31. public class Menu
  32. {
  33.  
  34. public Menu()
  35. {
  36. SubMenus = new List<Menu>();
  37. }
  38. [Key]
  39. public int Id { get; set; }
  40. public string Nome { get; set; }
  41. public string RotaUrl { get; set; }
  42. public int? MenuTipoId { get; set; }
  43. public virtual MenuTipo MenuTipo { get; set; }
  44. public int? MenuParentId { get; set; }
  45. public virtual Menu MenuParente { get; set; }
  46. public virtual ICollection<Menu> SubMenus { get; set; }
  47. public int EventoConfiguracaoId { get; set; }
  48. public virtual EventoConfiguracao EventoConfiguracao { get; set; }
  49. public bool IsCarrousel { get; set; }
  50. public bool IsPainel { get; set; }
  51.  
  52. }
  53.  
  54.  
  55. public Produto()
  56. {
  57. PedidoDetalhes = new List<PedidoDetalhe>();
  58. }
  59. public int Id { get; set; }
  60. public string NrProduto { get; set; }
  61. public string Nome { get; set; }
  62. public double Qtd { get; set; }
  63. public int? EventoConfiguracaoId { get; set; }
  64. public virtual EventoConfiguracao EventoConfiguracao { get; set; }
  65.  
  66. }
  67.  
  68. public class Categoria
  69. {
  70. public Categoria()
  71. {
  72. Produtos = new List<Produto>();
  73. }
  74. public int Id { get; set; }
  75. public string Descricao { get; set; }
  76. public virtual ICollection<Produto> Produtos { get; set; }
  77. public int? EventoConfiguracaoId { get; set; }
  78. public virtual EventoConfiguracao EventoConfiguracao { get; set; }
  79. }
  80.  
  81. public IEnumerable<EventoConfiguracao> ObterProdutoPorCategoria(string categoria, int clienteId, int cdEvento)
  82. {
  83. var cn = Db.Database.Connection;
  84. var sql = @"SELECT e.[Id] as 'EventoID', e.[Nome], p.Id as 'ProdId', p.Nome FROM EventoConfiguracao e " +
  85. "INNER JOIN Categoria c " +
  86. "ON e.Id = c.[EventoConfiguracaoId] " +
  87. "INNER JOIN Produto p " +
  88. "ON p.CategoriaId = c.Id " +
  89. "LEFT JOIN Menu m " +
  90. "ON e.Id = m.EventoConfiguracaoId " +
  91. "where c.Descricao = @scategoria AND e.CdEvento = @scdEvento " +
  92. "GROUP BY e.[Id], e.[Nome], p.Id, p.Nome ";
  93.  
  94. Debug.WriteLine(sql);
  95. var eventoConfiguracao = new List<EventoConfiguracao>();
  96. cn.Query<EventoConfiguracao, Produto, Categoria,Menu, EventoConfiguracao>(sql,
  97. (e, p,c,m) =>
  98. {
  99. eventoConfiguracao.Add(e);
  100. if (e != null)
  101. {
  102. eventoConfiguracao[0].Categorias.Add(c);
  103. eventoConfiguracao[0].Produtos.Add(p);
  104. eventoConfiguracao[0].Menus.Add(m);
  105. }
  106.  
  107. return eventoConfiguracao.FirstOrDefault();
  108. }, new { scategoria =categoria, scdEvento = cdEvento }, ***splitOn: "EventoID,ProdId,Id,m.Id");***
  109.  
  110. return eventoConfiguracao;
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement