public T ObterPor(Domain.Enum.ListaPreco.Tipo tipo, Guid?estadoId, Guid?unidadeNegocio) { var query = GetQueryExpression <T>(true); #region Condições query.Criteria.AddCondition("statuscode", ConditionOperator.Equal, 100001); query.Criteria.AddCondition("itbc_businessunitid", ConditionOperator.Equal, unidadeNegocio.ToString()); query.Criteria.AddCondition("itbc_tipodalista", ConditionOperator.Equal, (int)tipo); if (estadoId.HasValue) { query.AddLink("itbc_pricelevel_itbc_estado", "pricelevelid", "pricelevelid").LinkCriteria.AddCondition("itbc_estadoid", ConditionOperator.Equal, estadoId.ToString()); } #endregion #region Ordenações query.AddOrder("modifiedon", Microsoft.Xrm.Sdk.Query.OrderType.Descending); #endregion var colecao = this.RetrieveMultiple(query); if (colecao.List.Count == 0) { return(default(T)); } return(colecao.List[0]); }
public List <T> ListarPor(Domain.Enum.ListaPreco.Tipo tipo, Guid?estadoId, Guid?unidadeNegocio) { var query = GetQueryExpression <T>(true); #region Condições query.Criteria.AddCondition("statuscode", ConditionOperator.Equal, 100001); if (unidadeNegocio.HasValue) { query.Criteria.AddCondition("itbc_businessunitid", ConditionOperator.Equal, unidadeNegocio.ToString()); } query.Criteria.AddCondition("itbc_tipodalista", ConditionOperator.Equal, (int)tipo); //Data Vigencia Lista query.Criteria.AddCondition("begindate", ConditionOperator.LessEqual, DateTime.Today); query.Criteria.AddCondition("enddate", ConditionOperator.GreaterEqual, DateTime.Today); if (estadoId.HasValue) { query.AddLink("itbc_pricelevel_itbc_estado", "pricelevelid", "pricelevelid").LinkCriteria.AddCondition("itbc_estadoid", ConditionOperator.Equal, estadoId.ToString()); } #endregion #region Ordenações query.AddOrder("modifiedon", Microsoft.Xrm.Sdk.Query.OrderType.Descending); #endregion return((List <T>) this.RetrieveMultiple(query).List); //if (colecao.List.Count == 0) // return default(T); //return colecao.List[0]; }
public List <T> ListarPor(Domain.Enum.ListaPreco.Tipo tipo, Guid?estadoId) { var query = GetQueryExpression <T>(true); #region Condições query.Criteria.AddCondition("statuscode", ConditionOperator.Equal, 100001); query.Criteria.AddCondition("itbc_tipodalista", ConditionOperator.Equal, (int)tipo); if (estadoId.HasValue) { query.AddLink("itbc_pricelevel_itbc_estado", "pricelevelid", "pricelevelid").LinkCriteria.AddCondition("itbc_estadoid", ConditionOperator.Equal, estadoId.ToString()); } #endregion #region Ordenações query.AddOrder("modifiedon", Microsoft.Xrm.Sdk.Query.OrderType.Descending); #endregion return((List <T>) this.RetrieveMultiple(query).List); }