public virtual ExcludeData GetExcludeData(uint excludeId) { return(Slave(s => { var exclude = s.Load <Exclude>(excludeId); var equivalients = s.CreateSQLQuery(@" select e.ProducerId as Id, concat(e.Name, ' [', p.Name, ' ]') as Name from Catalogs.ProducerEquivalents e join Catalogs.Assortment a on a.ProducerId = e.ProducerId join Catalogs.Producers p on p.Id = a.ProducerId where a.Checked = 1 and a.CatalogId = :catalogId") .SetParameter("catalogId", exclude.CatalogProduct.Id) .SetResultTransformer(new AliasToPropertyTransformer(typeof(ProducerOrEquivalentDto))) .List <ProducerOrEquivalentDto>(); var assortment = Assortment.Search(s, 0, new Query("CatalogId", exclude.CatalogProduct.Id)).Content.Where(a => a.Checked).ToList(); var producers = equivalients .Concat(assortment.Select(a => new ProducerOrEquivalentDto { Id = a.ProducerId, Name = a.Producer })) .OrderBy(p => p.Name).ToList(); return new ExcludeData { Producers = producers, Synonyms = ProducerSynonym.Load(s, new Query("Name", exclude.ProducerSynonym)), }; })); }
public virtual IList <ProducerSynonymDto> GetSynonyms(uint producerId) { return(Slave(session => ProducerSynonym.Load(session, new Query("ProducerId", producerId)))); }