Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class EventoConfiguracao
- {
- public EventoConfiguracao()
- {
- //CdEventoConfiguracao = Guid.NewGuid();
- Menus = new List<Menu>();
- MenuLaterais =new List<MenuLateral>();
- Categorias =new List<Categoria>();
- Produtos=new List<Produto>();
- CupomDescontos =new List<CupomDesconto>();
- }
- [Key]
- public int Id { get; set; }
- public string Nome { get; set; }
- public int CdEvento { get; set; }
- public virtual Evento Evento { get; set; }
- public virtual ICollection<Menu> Menus { get; set; }
- public virtual ICollection<Categoria> Categorias { get; set; }
- public virtual ICollection<Produto> Produtos { get; set; }
- public virtual ICollection<CupomDesconto> CupomDescontos { get; set; }
- public virtual ICollection<MenuLateral> MenuLaterais { get; set; }
- public bool IsValid()
- {
- return true;
- }
- }
- public class Menu
- {
- public Menu()
- {
- SubMenus = new List<Menu>();
- }
- [Key]
- public int Id { get; set; }
- public string Nome { get; set; }
- public string RotaUrl { get; set; }
- public int? MenuTipoId { get; set; }
- public virtual MenuTipo MenuTipo { get; set; }
- public int? MenuParentId { get; set; }
- public virtual Menu MenuParente { get; set; }
- public virtual ICollection<Menu> SubMenus { get; set; }
- public int EventoConfiguracaoId { get; set; }
- public virtual EventoConfiguracao EventoConfiguracao { get; set; }
- public bool IsCarrousel { get; set; }
- public bool IsPainel { get; set; }
- }
- public Produto()
- {
- PedidoDetalhes = new List<PedidoDetalhe>();
- }
- public int Id { get; set; }
- public string NrProduto { get; set; }
- public string Nome { get; set; }
- public double Qtd { get; set; }
- public int? EventoConfiguracaoId { get; set; }
- public virtual EventoConfiguracao EventoConfiguracao { get; set; }
- }
- public class Categoria
- {
- public Categoria()
- {
- Produtos = new List<Produto>();
- }
- public int Id { get; set; }
- public string Descricao { get; set; }
- public virtual ICollection<Produto> Produtos { get; set; }
- public int? EventoConfiguracaoId { get; set; }
- public virtual EventoConfiguracao EventoConfiguracao { get; set; }
- }
- public IEnumerable<EventoConfiguracao> ObterProdutoPorCategoria(string categoria, int clienteId, int cdEvento)
- {
- var cn = Db.Database.Connection;
- var sql = @"SELECT e.[Id] as 'EventoID', e.[Nome], p.Id as 'ProdId', p.Nome FROM EventoConfiguracao e " +
- "INNER JOIN Categoria c " +
- "ON e.Id = c.[EventoConfiguracaoId] " +
- "INNER JOIN Produto p " +
- "ON p.CategoriaId = c.Id " +
- "LEFT JOIN Menu m " +
- "ON e.Id = m.EventoConfiguracaoId " +
- "where c.Descricao = @scategoria AND e.CdEvento = @scdEvento " +
- "GROUP BY e.[Id], e.[Nome], p.Id, p.Nome ";
- Debug.WriteLine(sql);
- var eventoConfiguracao = new List<EventoConfiguracao>();
- cn.Query<EventoConfiguracao, Produto, Categoria,Menu, EventoConfiguracao>(sql,
- (e, p,c,m) =>
- {
- eventoConfiguracao.Add(e);
- if (e != null)
- {
- eventoConfiguracao[0].Categorias.Add(c);
- eventoConfiguracao[0].Produtos.Add(p);
- eventoConfiguracao[0].Menus.Add(m);
- }
- return eventoConfiguracao.FirstOrDefault();
- }, new { scategoria =categoria, scdEvento = cdEvento }, ***splitOn: "EventoID,ProdId,Id,m.Id");***
- return eventoConfiguracao;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement