public List <T> ListarPorCriterioDeParaContatos(DeParaDeUnidadeDoKonviva objDePara, Guid idUnidadePadrao) { var query = GetQueryExpression <T>(true); #region Condições query.ColumnSet = new ColumnSet(true); query.Distinct = true; #region Status query.Criteria.Conditions.Add(new ConditionExpression("statecode", ConditionOperator.Equal, (int)Domain.Enum.StateCode.Ativo)); #endregion query.Criteria.Conditions.Add(new ConditionExpression("itbc_unidadekonvivaid", ConditionOperator.Equal, idUnidadePadrao)); LinkEntity link = query.AddLink("contact", "itbc_contatoid", "contactid", JoinOperator.Inner); link.EntityAlias = "ctt"; query.Criteria.AddCondition("ctt", "parentcustomerid", ConditionOperator.Null); query.Criteria.AddCondition("ctt", "itbc_papelnocanal", ConditionOperator.Equal, objDePara.PapelNoCanalIntelbras); query.Criteria.AddCondition("ctt", "customertypecode", ConditionOperator.Equal, objDePara.TipoDeRelacao); #endregion return((List <T>) this.RetrieveMultiple(query).List); }
public List <T> ListarPorCriterioDeParaContas(DeParaDeUnidadeDoKonviva objDePara, Guid idUnidadePadrao) { var query = GetQueryExpression <T>(true); #region Condições query.ColumnSet = new ColumnSet(true); query.Distinct = true; #region Status query.Criteria.Conditions.Add(new ConditionExpression("statecode", ConditionOperator.Equal, (int)Domain.Enum.StateCode.Ativo)); #endregion query.Criteria.Conditions.Add(new ConditionExpression("itbc_unidadekonvivaid", ConditionOperator.Equal, idUnidadePadrao)); LinkEntity link = query.AddLink("contact", "itbc_contatoid", "contactid", JoinOperator.Inner); link.EntityAlias = "ctt"; LinkEntity link2 = link.AddLink("account", "parentcustomerid", "accountid", JoinOperator.Inner); link2.EntityAlias = "act"; if (objDePara.Categoria != null) { LinkEntity link3 = link2.AddLink("itbc_categoriasdocanal", "accountid", "itbc_canalid", JoinOperator.Inner); link3.EntityAlias = "cat"; query.Criteria.AddCondition("cat", "itbc_categoria", ConditionOperator.Equal, objDePara.Categoria.Id); } query.Criteria.AddCondition("act", "itbc_classificacaoid", ConditionOperator.Equal, objDePara.Classificacao.Id); query.Criteria.AddCondition("act", "itbc_subclassificacaoid", ConditionOperator.Equal, objDePara.SubClassificacao.Id); query.Criteria.AddCondition("ctt", "statecode", ConditionOperator.Equal, (int)Domain.Enum.CategoriaCanal.StateCode.Ativado); #endregion return((List <T>) this.RetrieveMultiple(query).List); }