Example #1
0
        public T ObterPor(String itbc_codigo_natureza_operacao)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_codigo_natureza_operacao", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_codigo_natureza_operacao);
            query.Criteria.Conditions.Add(cond1);

            query.Criteria.AddCondition("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, 0);
            #endregion

            #region Ordenações
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            var colecao = this.RetrieveMultiple(query);

            if (colecao.List.Count == 0)
            {
                return(default(T));
            }

            return(colecao.List[0]);
        }
Example #2
0
        public List <T> ListarPorConta(Guid itbc_solicitacaodecadastroid, DateTime?dtInicio, DateTime?dtFim, int?status)
        {
            var query = GetQueryExpression <T>(true);


            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_keyaccountourepresentanteid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_solicitacaodecadastroid.ToString());
            query.Criteria.Conditions.Add(cond1);

            if (status.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("statuscode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, status.Value);
                query.Criteria.Conditions.Add(cond2);
            }

            if (dtInicio.HasValue && dtFim.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond3 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("createdon", Microsoft.Xrm.Sdk.Query.ConditionOperator.GreaterEqual, dtInicio.Value);
                query.Criteria.Conditions.Add(cond3);

                Microsoft.Xrm.Sdk.Query.ConditionExpression cond4 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("createdon", Microsoft.Xrm.Sdk.Query.ConditionOperator.LessEqual, dtFim.Value);
                query.Criteria.Conditions.Add(cond4);
            }

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #3
0
        public List <T> ListarPor(Guid itbc_indiceid, Guid?itbc_tabeladefinanciamento)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_indiceid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_indiceid);
            query.Criteria.Conditions.Add(cond1);
            #endregion

            #region Validações
            if (itbc_tabeladefinanciamento.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_tabeladefinanciamento", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_tabeladefinanciamento);
                query.Criteria.Conditions.Add(cond2);
            }
            #endregion

            #region Ordenações
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            var lista = (List <T>) this.RetrieveMultiple(query).List;
            return(lista);
        }
Example #4
0
        //List<T> ListarPor(Guid portfolioId);
        public List <T> ListarPor(Guid portfolioId, List <Guid> lstSegmentoId)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_portfolioid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, portfolioId);
            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, 0);
            query.Criteria.Conditions.Add(cond2);

            if (lstSegmentoId != null)
            {
                if (lstSegmentoId.Count > 0)
                {
                    var link = query.AddLink("product", "itbc_productid", "productid");
                    Microsoft.Xrm.Sdk.Query.ConditionExpression cond3 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_segmentoid", Microsoft.Xrm.Sdk.Query.ConditionOperator.In, lstSegmentoId);
                    link.LinkCriteria.Conditions.Add(cond3);
                }
            }

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #5
0
        public List <T> ListarPor(int?stateCode, bool?participaPrograma)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, stateCode);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_participadoprogramadecanais", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, participaPrograma);

            #endregion

            #region Validações

            if (stateCode.HasValue)
            {
                query.Criteria.Conditions.Add(cond1);
            }

            if (participaPrograma.HasValue)
            {
                query.Criteria.Conditions.Add(cond2);
            }

            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #6
0
        public List <T> ListarPor(String name)
        {
            var query = GetQueryExpression <T>(true);

            query.Criteria.AddCondition("name", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, name);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiplePaged(query).List);
        }
Example #7
0
        public List <T> ListarPor(String SolicitacaoCadastroNome)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_name", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, SolicitacaoCadastroNome);
            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #8
0
        public List <T> ListarPor(Guid TipoDeAtividade)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_tipoatividade", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, TipoDeAtividade);
            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #9
0
        public List <T> ListarPor(Guid sharepointsiteid)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("sharepointsiteid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, sharepointsiteid);
            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #10
0
        public List <T> ListarPor(string[] codigo)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_codigo_grupo_estoque", Microsoft.Xrm.Sdk.Query.ConditionOperator.In, codigo);
            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #11
0
        public List <T> ListarPor(Guid guid)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_tabelaprecob2bid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, guid);
            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #12
0
        public List <T> ListarPor(string nome)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("name", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, nome);
            query.Criteria.Conditions.Add(cond1);
            #endregion

            #region Ordenações
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #13
0
        public List <T> ListarPor(Guid accountid)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_fornecedordocanalid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, accountid);
            query.Criteria.Conditions.Add(cond1);
            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #14
0
        public List <T> ListarPor(Guid?funcaoAte, Guid?conectadoA, Guid?funcaoDe, Guid?conectadoDe)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("record2roleid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, funcaoAte);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("record2id", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, conectadoA);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond3 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("record1roleid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, funcaoDe);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond4 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("record1id", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, conectadoDe);

            #endregion

            #region Validações

            if (funcaoAte.HasValue)
            {
                query.Criteria.Conditions.Add(cond1);
            }

            if (conectadoA.HasValue)
            {
                query.Criteria.Conditions.Add(cond2);
            }

            if (funcaoDe.HasValue)
            {
                query.Criteria.Conditions.Add(cond3);
            }

            if (conectadoDe.HasValue)
            {
                query.Criteria.Conditions.Add(cond4);
            }

            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #15
0
        public List <T> ListarPor(Int32 codigoportador)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_codigo_portador", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, codigoportador);

            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #16
0
        public List <T> ListarPor(List <Guid> listId)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_portfolioid", Microsoft.Xrm.Sdk.Query.ConditionOperator.In, listId);

            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, 0);

            query.Criteria.Conditions.Add(cond2);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #17
0
        public T ObterPor(Guid tipoAcessoExtranet)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_tipoacessoextranetid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, tipoAcessoExtranet);
            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            var colecao = this.RetrieveMultiple(query);

            if (colecao.List.Count == 0)
            {
                return(default(T));
            }

            return(colecao.List[0]);
        }
Example #18
0
        public T ObterPor(String relativeUrl)
        {
            var query = GetQueryExpression <T>(true);

            //Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("relativeurl", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, relativeUrl);
            //query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            var colecao = this.RetrieveMultiple(query);

            if (colecao.List.Count == 0)
            {
                return(default(T));
            }

            return(colecao.List[0]);
        }
Example #19
0
        public T ObterPor()
        {
            var query = GetQueryExpression <T>(true);

            //Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("sharepointsiteid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, sharepointsiteid);
            query.Criteria.Conditions.Add(new Microsoft.Xrm.Sdk.Query.ConditionExpression("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, (int)Domain.Enum.StateCode.Ativo));

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            var colecao = this.RetrieveMultiple(query);

            if (colecao.List.Count == 0)
            {
                return(default(T));
            }

            return(colecao.List[0]);
        }
Example #20
0
        public T ObterPor(Guid queueitemid)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("queueitemid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, queueitemid);
            query.Criteria.Conditions.Add(cond1);

            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("subject", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            var colecao = this.RetrieveMultiple(query);

            if (colecao.List.Count == 0)
            {
                return(default(T));
            }

            return(colecao.List[0]);
        }
Example #21
0
        public List <T> ListarPor(String[] conjNomes)
        {
            var query = GetQueryExpression <T>(true);

            query.ColumnSet.Columns.Add("name");

            #region Condições

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("name", Microsoft.Xrm.Sdk.Query.ConditionOperator.In, conjNomes);

            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiplePaged(query).List);
        }
Example #22
0
        public List <T> ObterPor(String[] conjCodigosNatureza)
        {
            var query = GetQueryExpression <T>(true);

            query.ColumnSet.Columns.Add("itbc_codigo_natureza_operacao");

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_codigo_natureza_operacao", Microsoft.Xrm.Sdk.Query.ConditionOperator.In, conjCodigosNatureza);
            query.Criteria.Conditions.Add(cond1);

            query.Criteria.AddCondition("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, 0);
            #endregion

            #region Ordenações
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiplePaged(query).List);
        }
Example #23
0
        public T ObterPor(int codigoCategoriaB2B)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_codigocategoriab2b", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, codigoCategoriaB2B);
            query.Criteria.Conditions.Add(cond1);
            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            var colecao = this.RetrieveMultiple(query);

            if (colecao.List.Count == 0)
            {
                return(default(T));
            }

            return(colecao.List[0]);
        }
Example #24
0
        public T ObterPor(Guid itbc_regiaogeoId)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_regiaogeoid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_regiaogeoId);
            query.Criteria.Conditions.Add(cond1);
            #endregion

            #region Ordenações
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_regiaogeoid", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            var colecao = this.RetrieveMultiple(query);

            if (colecao.List.Count == 0)
            {
                return(default(T));
            }

            return(colecao.List[0]);
        }
Example #25
0
        public List <T> ListarPor(Guid?itbc_relacionamentodob2bid)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_relacionamentodob2bid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_relacionamentodob2bid);
            #endregion

            #region Validações

            if (itbc_relacionamentodob2bid.HasValue)
            {
                query.Criteria.Conditions.Add(cond1);
            }
            #endregion

            #region Ordenação
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #26
0
        public List <T> ListarPor(Guid?itbc_accountid, DateTime?itbc_datacriacao, string itbc_url, bool?itbc_somentearquivosnovos, DateTime?itbc_datainicial, DateTime?itbc_datafinal)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_accountid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_accountid);
            query.Criteria.Conditions.Add(cond1);

            if (itbc_datacriacao.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_datadeenvio", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_datacriacao.Value);
                query.Criteria.Conditions.Add(cond2);
            }

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond3 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_url", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_url);
            query.Criteria.Conditions.Add(cond3);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond4 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_somentearquivosnovos", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_somentearquivosnovos);
            query.Criteria.Conditions.Add(cond4);

            if (itbc_datainicial.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond5 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_datainicial", Microsoft.Xrm.Sdk.Query.ConditionOperator.GreaterEqual, itbc_datainicial.Value);
                query.Criteria.Conditions.Add(cond5);
            }

            if (itbc_datafinal.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond6 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_datafinal", Microsoft.Xrm.Sdk.Query.ConditionOperator.LessEqual, itbc_datafinal.Value);
                query.Criteria.Conditions.Add(cond6);
            }


            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("itbc_name", Microsoft.Xrm.Sdk.Query.OrderType.Ascending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
        //    public static Dictionary<string, Microsoft.Xrm.Sdk.EntityCollection> EntityCollectionCached = new Dictionary<string, Microsoft.Xrm.Sdk.EntityCollection>();



        //https://msdn.microsoft.com/en-us/library/mt269606.aspx
        public static Microsoft.Xrm.Sdk.EntityCollection RetrieveAll(Microsoft.Xrm.Sdk.IOrganizationService serviceOrgnization, string entityName
                                                                     , string columnSet = "", string filter = "", int retrievedNumberOfRecords = 50, string orderBy = "", int pageNumber = 1, string pagingCookie = null)
        {
            Microsoft.Xrm.Sdk.EntityCollection retVal = null;

            string uniqueRecordString = $"{entityName} '{columnSet}' '{filter}' {retrievedNumberOfRecords} '{orderBy}' {pageNumber}  ";

            /*
             * if (EntityCollectionCached.ContainsKey(uniqueRecordString))
             * {
             *  return EntityCollectionCached[uniqueRecordString];
             * }*/
            // Query using the paging cookie.
            // Define the paging attributes.
            // The number of records per page to retrieve.
            int queryCount = retrievedNumberOfRecords;

            // Create the query expression and add condition.
            Microsoft.Xrm.Sdk.Query.QueryExpression pagequery = new Microsoft.Xrm.Sdk.Query.QueryExpression();
            pagequery.EntityName = entityName;

            filter = filter.ToLower();
            if (!string.IsNullOrEmpty(filter) && !string.IsNullOrWhiteSpace(filter) && filter != "null")
            {
                string[] conditionsStr = filter.Split(new string[] { "&" }, StringSplitOptions.None);

                foreach (string conditionStr in conditionsStr)
                {
                    string[] conditionStrs          = conditionStr.Split('=');
                    string   conditionAttributeName = conditionStrs[0];

                    bool isNot = false;

                    if (conditionAttributeName.EndsWith("!"))
                    {
                        isNot = true;
                        conditionAttributeName = conditionAttributeName.Replace("!", "");
                    }

                    string conditionAttributeValue = conditionStrs[1];

                    // Define the condition expression for retrieving records.
                    Microsoft.Xrm.Sdk.Query.ConditionExpression pagecondition = new Microsoft.Xrm.Sdk.Query.ConditionExpression();
                    pagecondition.AttributeName = conditionAttributeName;



                    if (conditionAttributeValue.StartsWith("(") && conditionAttributeValue.EndsWith(")"))
                    {
                        conditionAttributeValue = conditionAttributeValue.Replace("(", "").Replace(")", "");

                        pagecondition.Operator = isNot ? Microsoft.Xrm.Sdk.Query.ConditionOperator.NotIn : Microsoft.Xrm.Sdk.Query.ConditionOperator.In;

                        foreach (var val in conditionAttributeValue.Split(','))
                        {
                            pagecondition.Values.Add(val);
                        }
                    }
                    else if (conditionAttributeValue.StartsWith("%") && conditionAttributeValue.EndsWith("%"))
                    {
                        pagecondition.Operator = isNot ? Microsoft.Xrm.Sdk.Query.ConditionOperator.NotLike : Microsoft.Xrm.Sdk.Query.ConditionOperator.Like;
                        pagecondition.Values.Add(conditionAttributeValue);
                    }
                    else if (conditionAttributeValue.StartsWith(">"))
                    {
                        object objConditionAttributeValue = AttributeManager.GetAttributeValueFromString(serviceOrgnization, entityName, conditionAttributeName, conditionAttributeValue.Replace("<", "").Replace(">", ""));
                        pagecondition.Operator = Microsoft.Xrm.Sdk.Query.ConditionOperator.GreaterEqual;
                        pagecondition.Values.Add(objConditionAttributeValue);
                    }
                    else if (conditionAttributeValue.StartsWith("<"))
                    {
                        object objConditionAttributeValue = AttributeManager.GetAttributeValueFromString(serviceOrgnization, entityName, conditionAttributeName, conditionAttributeValue.Replace("<", "").Replace(">", ""));
                        pagecondition.Operator = Microsoft.Xrm.Sdk.Query.ConditionOperator.LessEqual;
                        pagecondition.Values.Add(objConditionAttributeValue);
                    }
                    else
                    {
                        object objConditionAttributeValue = AttributeManager.GetAttributeValueFromString(serviceOrgnization, entityName, conditionAttributeName, conditionAttributeValue);
                        pagecondition.Operator = isNot ? Microsoft.Xrm.Sdk.Query.ConditionOperator.NotEqual : Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal;
                        pagecondition.Values.Add(objConditionAttributeValue);
                    }

                    pagequery.Criteria.AddCondition(pagecondition);
                }
            }

            // Define the order expression to retrieve the records.
            if (!string.IsNullOrEmpty(orderBy))
            {
                orderBy = orderBy.ToLower();
                string[] orderByStrs = orderBy.Split(' ');

                string orderAttributeName = orderByStrs[0];


                string orderType = "desc";

                if (orderByStrs.Length > 1)
                {
                    orderType = (string.IsNullOrEmpty(orderByStrs[1]) || orderByStrs[1] != "asc") ? "desc" : "asc";
                }

                Microsoft.Xrm.Sdk.Query.OrderExpression order = new Microsoft.Xrm.Sdk.Query.OrderExpression();
                order.AttributeName = orderAttributeName;

                order.OrderType = (orderType == "desc") ? Microsoft.Xrm.Sdk.Query.OrderType.Ascending : Microsoft.Xrm.Sdk.Query.OrderType.Descending;

                pagequery.Orders.Add(order);
            }

            // pagequery.ColumnSet.AddColumns("name", "emailaddress1");
            //By Rasheed
            string[] columns = GetColumnSet(entityName, columnSet);
            pagequery.ColumnSet = new Microsoft.Xrm.Sdk.Query.ColumnSet(columns);
            // end by rasheed

            // Assign the pageinfo properties to the query expression.
            pagequery.PageInfo            = new Microsoft.Xrm.Sdk.Query.PagingInfo();
            pagequery.PageInfo.Count      = queryCount;
            pagequery.PageInfo.PageNumber = pageNumber;

            // The current paging cookie. When retrieving the first page,
            // pagingCookie should be null.
            pagequery.PageInfo.PagingCookie = pagingCookie;


            // Retrieve the page.
            retVal = serviceOrgnization.RetrieveMultiple(pagequery);


            //EntityCollectionCached.Add(uniqueRecordString, retVal);
            return(retVal);
        }