示例#1
0
        public T ObterPor(Guid itbc_paisid)
        {
            var query = GetQueryExpression <T>(true);

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


            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#2
0
        public List <T> ListarPorUsuarioDesabilitado(Guid userId)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("systemuserid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, userId);
            query.Criteria.AddCondition(cond1);
            //apenas users não habilitados
            query.Criteria.AddCondition("isdisabled", ConditionOperator.Equal, true);

            #endregion

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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
        public List <T> ListarPor(Guid Processo, int Ordem)
        {
            var query = GetQueryExpression <T>(true);

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

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

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

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



            return((List <T>) this.RetrieveMultiple(query).List);
        }
示例#4
0
        public T ObterPor(Guid CompromissosDoCanalId)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_compdocanalid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, CompromissosDoCanalId);
            query.Criteria.Conditions.Add(cond1);
            //Status
            query.Criteria.AddCondition("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, (int)Domain.Enum.CompromissoCanal.Status.Ativo);
            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]);
        }
示例#5
0
        public T ObterPorNome(String nome)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_name", ConditionOperator.Equal, nome);
            query.Criteria.Conditions.Add(cond1);
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, (int)Domain.Enum.AcessoKonviva.StateCode.Ativo);

            #endregion

            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#6
0
        public List <T> ListarPorReferenteA(Guid referenteA)
        {
            var query = GetQueryExpression <T>(true);

            query.ColumnSet.AddColumn("createdby");
            query.ColumnSet.AddColumn("createdon");
            query.ColumnSet.AddColumn("text");

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

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


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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
示例#7
0
        public T ObterAtivoInativoPor(Guid produtoSolicitacaoId)
        {
            var query = GetQueryExpression <T>(true);

            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_produtosdasolicitacaoid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, produtoSolicitacaoId);
            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]);
        }
示例#8
0
        public List <T> ListarPor(List <Guid> BeneficiosProg, Guid Canal, Guid UnidadeNegocios, Guid?Categoria)
        {
            var query = GetQueryExpression <T>(true);

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

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

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

            if (Categoria.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond4 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_categoriaid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, Categoria);
                query.Criteria.Conditions.Add(cond4);
            }
            return((List <T>) this.RetrieveMultiple(query).List);
        }
示例#9
0
        public T ObterPor(Guid idUnidadeKonviva)
        {
            var query = GetQueryExpression <T>(true);

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

            #endregion

            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#10
0
        public T ObterPorTipoDeSolicitacao(Guid TipoDeSolicitacaoId, Guid?BeneficioPrograma)
        {
            var query = GetQueryExpression <T>(true);

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

            if (BeneficioPrograma.HasValue)
            {
                ConditionExpression cond2 = new ConditionExpression("itbc_beneficiodoprogramaid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, BeneficioPrograma.Value);
                query.Criteria.Conditions.Add(cond2);
            }
            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#11
0
        public List <T> ObterRespostasConta(string contaId, bool status)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            if (status)
            {
                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 (contaId != null)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond3 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_questionario_resposta_conta_id", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, contaId);
                query.Criteria.Conditions.Add(cond3);
            }

            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
示例#12
0
        public List <T> ListarQuestionarioPerguntaPorQuestionario(string questionarioId)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições

            #region Status
            query.Criteria.Conditions.Add(new ConditionExpression("statecode", ConditionOperator.Equal, (int)Domain.Enum.StateCode.Ativo));
            #endregion

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

            #region Ordenações
            OrderExpression ord1 = new OrderExpression("itbc_ordem", OrderType.Ascending);
            query.Orders.Add(ord1);
            #endregion

            return((List <T>) this.RetrieveMultiple(query).List);
        }
示例#13
0
        public T ObterPor(Guid categoriaId)
        {
            var query = GetQueryExpression <T>(true);

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

            #endregion

            ConditionExpression condAtivo = new ConditionExpression("statuscode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, (int)Domain.Enum.Status.Ativo);
            query.Criteria.Conditions.Add(condAtivo);
            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#14
0
        public T ObterPor(string CodTransportadora)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_codigodatransportadora", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, CodTransportadora);
            query.Criteria.Conditions.Add(cond1);
            #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]);
        }
示例#15
0
        public T ObterPor(Guid itbc_configuracaodebeneficioid)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_configuracaodebeneficioid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_configuracaodebeneficioid);
            query.Criteria.Conditions.Add(cond1);
            #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]);
        }
示例#16
0
        public List <T> ListarPor(Guid referenteA, Guid tipoAtividade, DateTime?dtInicial, DateTime?dtFim, int?situacao)
        {
            var query = GetQueryExpression <T>(true);

            #region CRiteria
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("regardingobjectid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, referenteA);
            query.Criteria.Conditions.Add(cond2);

            if (!tipoAtividade.Equals(Guid.Empty))
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_tipoatividadeid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, tipoAtividade);
                query.Criteria.Conditions.Add(cond1);
            }

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

            if (dtFim.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond4 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("createdon", Microsoft.Xrm.Sdk.Query.ConditionOperator.LessEqual, dtFim);
                query.Criteria.Conditions.Add(cond4);
            }
            if (situacao.HasValue)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond5 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, situacao.Value);
                query.Criteria.Conditions.Add(cond5);
            }

            #endregion


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

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

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

            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);


            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]);
        }
示例#18
0
        public T ObterPor(String pedidoEMS, params string[] columns)
        {
            var query = GetQueryExpression <T>(true);

            if (columns != null && columns.Length > 0)
            {
                query.ColumnSet.AddColumns(columns);
            }

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

            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#19
0
        public T ObterPorChaveIntegracao(string itbc_chave_integracao)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_chave_integracao", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, itbc_chave_integracao);
            query.Criteria.Conditions.Add(cond1);
            #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

            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#20
0
        public T ObterPorNumeroNF(String numeroNF)
        {
            var query = GetQueryExpression <T>(true);

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

            #region Ordenações
            Microsoft.Xrm.Sdk.Query.OrderExpression ord1 = new Microsoft.Xrm.Sdk.Query.OrderExpression("invoicenumber", 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]);
        }
示例#21
0
        public T ObterPorContato(Guid contatoId, Domain.Enum.StateCode status)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições

            #region Status
            query.Criteria.Conditions.Add(new ConditionExpression("statecode", ConditionOperator.Equal, (int)status));
            #endregion

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

            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
示例#22
0
        public List <T> ListarDenuncias(DateTime dtInicio, DateTime dtFim, List <Guid> lstDenunciantes, List <Guid> lstDenunciados, Guid?representanteId, int?situacaoDenuncia)
        {
            var query = GetQueryExpression <T>(true);

            if (lstDenunciantes.Count > 0)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_canaldenuncianteid", Microsoft.Xrm.Sdk.Query.ConditionOperator.In, lstDenunciantes);
                query.Criteria.Conditions.Add(cond1);
            }

            if (lstDenunciados.Count > 0)
            {
                Microsoft.Xrm.Sdk.Query.ConditionExpression cond2 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_account", Microsoft.Xrm.Sdk.Query.ConditionOperator.In, lstDenunciados);
                query.Criteria.Conditions.Add(cond2);
            }

            if (situacaoDenuncia.HasValue)
            {
                query.Criteria.AddCondition("itbc_status", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, situacaoDenuncia);
            }

            if (representanteId.HasValue)
            {
                query.Criteria.AddCondition("itbc_keyaccountourepresentanteid", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, representanteId);
            }

            //Data

            query.Criteria.AddCondition("createdon", ConditionOperator.GreaterEqual, dtInicio);
            query.Criteria.AddCondition("createdon", ConditionOperator.LessThan, dtFim.AddDays(1));

            //Status
            query.Criteria.AddCondition("statecode", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, (int)Domain.Enum.Denuncia.Status.Ativo);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
示例#23
0
        public T ObterPorIdTurma(String identificadorTurma)
        {
            var query = GetQueryExpression <T>(true);

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

            #endregion

            #region Ordenação
            OrderExpression ord1 = new 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]);
        }
示例#24
0
        public T ObterPor(Guid colaboradorTreinId)
        {
            var query = GetQueryExpression <T>(true);

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

            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);


            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]);

            throw new NotImplementedException();
        }