public static SelectExpression AddOrderExpression(this SelectExpression select, OrderExpression ordering)
 {
     List<OrderExpression> orderby = new List<OrderExpression>();
     if (select.OrderBy != null)
         orderby.AddRange(select.OrderBy);
     orderby.Add(ordering);
     return select.SetOrderBy(orderby);
 }
        /// <summary>
        /// Creates an OrderExpression from a CrmSortingCriteria object and adds it to the query
        /// </summary>
        /// <param name="query">The query to which the OrderExpression should be added</param>
        /// <param name="sortingCriteria">The sortingCriteria</param>
        /// <returns>An OrderExpression</returns>
        public static void AddOrderExpression(QueryExpression query, CrmSortingCriteria sortingCriteria)
        {
            if (sortingCriteria == null)
                return;

            OrderType orderType = sortingCriteria.SortOrder == CrmSortOrder.Ascending
                                      ? OrderType.Ascending
                                      : OrderType.Descending;

            OrderExpression orderExpression = new OrderExpression(sortingCriteria.AttributeName, orderType);
            query.Orders.Add(orderExpression);
        }
Example #3
0
 public EntityCollection FetchEntity(string name, string[] fields, string fieldToSort)
 {
     Connect();
     QueryExpression qe = new QueryExpression(name);
     qe.ColumnSet = new ColumnSet();
     qe.ColumnSet.AddColumns(fields);
     OrderExpression order = new OrderExpression();
     order.AttributeName = fieldToSort;
     order.OrderType = OrderType.Ascending;
     qe.Orders.Add(order);
     return service.RetrieveMultiple(qe);
 }
Example #4
0
        public virtual IQueryState Accept(OrderExpression exp)
        {
            if (exp.NodeType == QueryExpressionType.OrderBy || exp.NodeType == QueryExpressionType.OrderByDesc)
                this._resultElement.OrderSegments.Clear();

            var r = VisistOrderExpression(this.MoeList, exp);

            if (this._resultElement.IsOrderSegmentsFromSubQuery)
            {
                this._resultElement.OrderSegments.Clear();
                this._resultElement.IsOrderSegmentsFromSubQuery = false;
            }

            this._resultElement.OrderSegments.Add(r);

            return this;
        }
Example #5
0
        public List <T> ListarPor(Guid metadotrimestreid)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            //query.Criteria.AddCondition("itbc_trimestre", ConditionOperator.Equal, trimestre);
            query.Criteria.AddCondition("itbc_metadotrimestreid", ConditionOperator.Equal, metadotrimestreid);


            //query.AddLink("itbc_metaportrimestre", "itbc_metadotrimestreid", "itbc_metaportrimestreid")
            //     .LinkCriteria.AddCondition("itbc_metas", ConditionOperator.Equal, metaunidadeId);
            #endregion

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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #6
0
        public T ObterPor(Int32 trimestre, Int32 mes, Int32 ano, Guid produto, Guid canal)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições


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

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

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

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

            ConditionExpression cond5 = new ConditionExpression("itbc_mes", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, mes);
            query.Criteria.Conditions.Add(cond5);

            ConditionExpression cond6 = new ConditionExpression("itbc_account", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, canal);
            query.Criteria.Conditions.Add(cond6);
            #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]);
        }
Example #7
0
        public IList <SWBin> GetSWBinsBy(string lotID, string code, string defect, string qty, string failRate, string isPassed, string limited, string orderBy, bool desc, int pageIndex, int pageSize, out int recordCount)
        {
            Conditions conditions = new Conditions {
                ConditionExpressions = { new Condition("LotID", Operator.EqualTo, lotID) }
            };

            if (!StringHelper.isNullOrEmpty(code))
            {
                conditions.ConditionExpressions.Add(new Condition("Code", Operator.Like, code));
            }
            if (!StringHelper.isNullOrEmpty(defect))
            {
                conditions.ConditionExpressions.Add(new Condition("Defect", Operator.Like, defect));
            }
            if (!StringHelper.isNullOrEmpty(qty))
            {
                conditions.ConditionExpressions.Add(new Condition("Qty", Operator.Like, qty));
            }
            if (!StringHelper.isNullOrEmpty(failRate))
            {
                conditions.ConditionExpressions.Add(new Condition("FailRate", Operator.Like, failRate));
            }
            if (!StringHelper.isNullOrEmpty(isPassed))
            {
                conditions.ConditionExpressions.Add(new Condition("IsPassed", Operator.EqualTo, isPassed));
            }
            if (!StringHelper.isNullOrEmpty(limited))
            {
                conditions.ConditionExpressions.Add(new Condition("Limited", Operator.EqualTo, limited));
            }
            conditions.Connector = Connector.AND;
            OrderExpression orderExpression = null;

            if (!StringHelper.isNullOrEmpty(orderBy))
            {
                orderExpression = new OrderExpression(orderBy, desc);
                return(this.dbGateway.getRecords(pageIndex, pageSize, conditions, orderExpression, null, Connector.AND, out recordCount));
            }
            return(this.dbGateway.getRecordsWithCustomerOrderStatement(pageIndex, pageSize, conditions, " order by IsTriggerd,IsPassed", null, Connector.AND, out recordCount));
        }
Example #8
0
        public IList <User> GetUsersBy(string keyword, string email, string role, string selJobType, string accountState, int pageIndex, int pageSize, out int recordCount)
        {
            Conditions conditions = new Conditions();

            if (!StringHelper.isNullOrEmpty(keyword))
            {
                conditions.ConditionExpressions.Add(new Condition("FullName", Operator.Like, keyword));
            }
            if (!StringHelper.isNullOrEmpty(email))
            {
                conditions.ConditionExpressions.Add(new Condition("Email", Operator.Like, email));
            }
            if (!StringHelper.isNullOrEmpty(role))
            {
                conditions.ConditionExpressions.Add(new Condition("Role", Operator.Like, role));
            }
            if (!StringHelper.isNullOrEmpty(accountState))
            {
                string str = accountState.ToUpper();
                if (!(str == "ACTIVE"))
                {
                    if (str == "DISABLED")
                    {
                        conditions.ConditionExpressions.Add(new Condition("AccountState", Operator.EqualTo, 2));
                    }
                }
                else
                {
                    conditions.ConditionExpressions.Add(new Condition("AccountState", Operator.EqualTo, 1));
                }
            }
            if (!string.IsNullOrEmpty(selJobType))
            {
                conditions.ConditionExpressions.Add(new Condition("JobType", Operator.EqualTo, selJobType));
            }
            conditions.Connector = Connector.AND;
            OrderExpression orderExpression = new OrderExpression("FullName", false);

            return(this.dbGateway.getRecords(pageIndex, pageSize, conditions, orderExpression, null, Connector.AND, out recordCount));
        }
Example #9
0
        private Expression BindOrderBy(MethodCallExpression call)
        {
            Expression       source        = call.Arguments[0];
            LambdaExpression orderSelector = GetLambda(call.Arguments[1]);
            OrderType        orderType     = call.Method.Name.EndsWith("Descending") ? OrderType.Descending : OrderType.Ascending;

            List <OrderExpression> myThenBys = _thenBys;

            _thenBys = null;
            ProjectionExpression projection = VisitSequence(source);

            _map[orderSelector.Parameters[0]] = projection.Projector;
            List <OrderExpression> orderings = new List <OrderExpression> {
                new OrderExpression(orderType, Visit(orderSelector.Body))
            };

            if (myThenBys != null)
            {
                for (int i = myThenBys.Count - 1; i >= 0; i--)
                {
                    OrderExpression  tb     = myThenBys[i];
                    LambdaExpression lambda = (LambdaExpression)tb.Expression;
                    _map[lambda.Parameters[0]] = projection.Projector;
                    orderings.Add(new OrderExpression(tb.OrderType, Visit(lambda.Body)));
                }
            }

            string           alias = GetNewAlias();
            ProjectedColumns pc    = ProjectColumns(projection.Projector, alias, projection.Source.Alias);

            return(new ProjectionExpression(
                       new SelectExpression(
                           alias,
                           pc.Columns,
                           projection.Source,
                           orderBy: orderings.AsReadOnly()
                           ),
                       pc.Projector
                       ));
        }
        public T ObterPor(Guid UnidadeNegocio, Guid Segmento, Guid FamiliaProduto, int ano, int trimestre)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições

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

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

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

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

            ConditionExpression cond5 = new ConditionExpression("itbc_ano", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, ano);
            query.Criteria.Conditions.Add(cond5);

            ConditionExpression cond6 = new ConditionExpression("itbc_trimestre", Microsoft.Xrm.Sdk.Query.ConditionOperator.Equal, trimestre);
            query.Criteria.Conditions.Add(cond6);

            #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]);
        }
Example #11
0
        public override CommandData CreateSelectBaseCommand(DataEntityMapping mapping, string customSelect,
                                                            QueryExpression query, OrderExpression order, Region region, CreateSqlState state)
        {
            if (region != null && region.Start > 0)
            {
                if (order == null)
                {
                    order = CreatePrimaryKeyOrderExpression(mapping);
                }

                if (order != null)
                {
                    var commandData = base.CreateSelectBaseCommand(mapping, customSelect, query, order, null, state);
                    commandData.CommandText =
                        $"{commandData.CommandText} offset {region.Start} row fetch next {region.Size} rows only";
                    commandData.InnerPage = true;
                    return(commandData);
                }
            }

            return(base.CreateSelectBaseCommand(mapping, customSelect, query, order, region, state));
        }
        public List <T> ObterDetalhadoProdutosManual(Guid orcamentounidadeId, Guid canalId)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition("itbc_canalid", ConditionOperator.Equal, canalId);

            query.AddLink("itbc_orcamentodocanal", "itbc_orcamentodocanalid", "itbc_orcamentodocanalid")
            .AddLink("itbc_orcamentoportrimestredaunidade", "itbc_orcamentoportrimestredaunidadeid", "itbc_orcamentoportrimestredaunidadeid")
            .LinkCriteria.AddCondition("new_orcamentoporunidadeid", ConditionOperator.Equal, orcamentounidadeId);
            #endregion

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

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

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            if (lstIdCanal != null)
            {
                query.Criteria.AddCondition(new ConditionExpression("itbc_canalid", ConditionOperator.NotIn, lstIdCanal));
            }

            query.AddLink("itbc_metaportrimestre", "itbc_metadotrimestreid", "itbc_metaportrimestreid")
            .LinkCriteria.AddCondition("itbc_metas", ConditionOperator.Equal, metaunidadeId);
            #endregion

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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #14
0
        public List <T> ListarSupervisoresPor(Guid unidadeId, List <Guid> lstIdSupervisor)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            //query.Criteria.AddCondition("isdisabled", ConditionOperator.Equal, false);
            query.Criteria.AddCondition("itbc_funcao", ConditionOperator.Equal, 993520000);
            query.Criteria.AddCondition("businessunitid", ConditionOperator.Equal, unidadeId);

            if (lstIdSupervisor != null && lstIdSupervisor.Count > 0)
            {
                query.Criteria.AddCondition(new ConditionExpression("systemuserid", ConditionOperator.NotIn, lstIdSupervisor));
            }
            #endregion

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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #15
0
        public async Task <List <Responses.Order> > GetUserOrders(string userId)
        {
            // Get user
            var user = await _mainDbContext.Users
                       .Include(x => x.Orders)
                       .FirstOrDefaultAsync(x => x.UserId == userId);

            // Check if it exists
            if (user == null)
            {
                throw new NotFoundException(UserMessage.UserNotFound);
            }

            // Get all orders
            var orders = await _mainDbContext.Orders.Where(OrderExpression.OrderFilter(userId)).ToListAsync();

            // Response
            var response = _mapper.Map <List <Responses.Order> >(orders);

            // Return
            return(response);
        }
Example #16
0
        public List <T> ListarOrcamentos(Guid unidadenegocioId, int ano)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition("itbc_ano", ConditionOperator.Equal, ano);

            if (!unidadenegocioId.Equals(Guid.Empty))
            {
                query.Criteria.AddCondition("itbc_unidadedenegocioid", ConditionOperator.Equal, unidadenegocioId);
            }

            #endregion

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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #17
0
        public List <T> ListarTodosDetalheProdutosKaRepresentante(Guid metaId, int?pagina, int?contagem, Guid unidadeId, int ano)
        {
            var query = GetQueryExpression <T>(true);

            query.Distinct = true;

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            if (ano != null)
            {
                query.Criteria.AddCondition("itbc_ano", ConditionOperator.Equal, ano);
            }

            query.AddLink("itbc_metadokaporproduto", "itbc_metadokaporprodutoid", "itbc_metadokaporprodutoid")
            .AddLink("itbc_metadokaporsubfamilia", "itbc_metadokaporsubfamiliaid", "itbc_metadokaporsubfamiliaid")
            .AddLink("itbc_metadokaporfamilia", "itbc_metadokaporfamiliaid", "itbc_metadokaporfamiliaid")
            .AddLink("itbc_metadokaporsegmento", "itbc_metadokaporsegmentoid", "itbc_metadokaporsegmentoid")
            .AddLink("itbc_metatrimestreka", "itbc_metatrimestrekaid", "itbc_metatrimestrekaid")
            .AddLink("itbc_metakeyaccount", "itbc_metadokarepresentanteid", "itbc_metakeyaccountid")
            .AddLink("contact", "itbc_contact", "contactid")
            .AddLink("itbc_portfoliokeyaccountrepresentantes", "contactid", "itbc_contatoid")
            .LinkCriteria.AddCondition("itbc_unidadedenegocioid", ConditionOperator.Equal, unidadeId);
            #endregion

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

            if (pagina.HasValue && contagem.HasValue)
            {
                PagingInfo paging = new PagingInfo();
                paging.Count      = contagem.Value;
                paging.PageNumber = pagina.Value;
                query.PageInfo    = paging;
            }

            return((List <T>) this.RetrieveMultiple(query).List);
        }
        protected override Expression VisitSelect(SelectExpression select)
        {
            // visit column projection first
            ReadOnlyCollection<ColumnDeclaration> columns = select.Columns;

            Expression take = this.Visit(select.Take);
            Expression skip = this.Visit(select.Skip);
            ReadOnlyCollection<Expression> groupbys = this.VisitExpressionList(select.GroupBy);
            ReadOnlyCollection<OrderExpression> orderbys = this.VisitOrderBy(select.OrderBy);
            Expression where = this.Visit(select.Where);
            Expression from = this.Visit(select.From);

            if (columns.Count == 1 && orderbys!=null) {
                if (columns[0].Expression.ToString() == "COUNT(*)" && orderbys.Count > 0) {
                    var newOrders=new OrderExpression[0];
                    //this is is COUNT/ORDER BY/GROUP BY issue
                    select = new SelectExpression(select.Alias, columns, from, where, newOrders, groupbys, select.IsDistinct, skip, take);
                    return select;
                }
            }

            return select;
        }
Example #19
0
        public T ObterPor(int itbc_condicao_pagamento)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            ConditionExpression cond1 = new ConditionExpression("itbc_condicao_pagamento", ConditionOperator.Equal, itbc_condicao_pagamento);
            query.Criteria.Conditions.Add(cond1);
            #endregion

            #region Ordenação
            OrderExpression ord1 = new OrderExpression("itbc_name", 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 #20
0
        public List <T> ObterProdutos(Guid metaunidadeId, List <Guid> lstIdProdutos)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition(new ConditionExpression("itbc_produtoid", ConditionOperator.NotIn, lstIdProdutos));

            query.AddLink("itbc_metadokaporsubfamilia", "itbc_metadokaporsubfamiliaid", "itbc_metadokaporsubfamiliaid")
            .AddLink("itbc_metadokaporfamilia", "itbc_metadokaporfamiliaid", "itbc_metadokaporfamiliaid")
            .AddLink("itbc_metadokaporsegmento", "itbc_metadokaporsegmentoid", "itbc_metadokaporsegmentoid")
            .AddLink("itbc_metakeyaccount", "itbc_metadokarepresentanteid", "itbc_metakeyaccountid")
            .AddLink("itbc_metaportrimestre", "itbc_metaportrimestredaunidadeid", "itbc_metaportrimestreid")
            .LinkCriteria.AddCondition("itbc_metas", ConditionOperator.Equal, metaunidadeId);
            #endregion

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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #21
0
            protected virtual Expression VisitOrder(OrderExpression expression)
            {
                Visit(expression.Source);
                Visit(expression.OrderSelector);

                if (expression.Options == OrderOptions.Ascending)
                {
                    _expressionInProgress.Enqueue(new StringFragment(" asc"));
                }
                else if (expression.Options == OrderOptions.Descending)
                {
                    _expressionInProgress.Enqueue(new StringFragment(" desc"));
                }
                else
                {
                    throw new ArgumentException("OrderBy expression does not have a sort order");
                }

                Query.ThenOrderClauses.Enqueue(new CompoundFragment(_expressionInProgress));
                _expressionInProgress = new Queue <IFragment>();

                return(expression);
            }
Example #22
0
        public T ObterPor(string codigofamilia)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition("itbc_codigo_familia", ConditionOperator.Equal, codigofamilia);
            #endregion

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

            var colecao = this.RetrieveMultiple(query);

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

            return(colecao.List[0]);
        }
        private ResultSetBuilder VisitOrderBy(OrderExpression exp)
        {
            var result    = Visit(exp.Body);
            var predicate = exp.Predicate;

            var lambda = predicate as LambdaExpression;

            if (lambda != null)
            {
                predicate = lambda.Body;
            }

            var member = ExHelper.GetMemberName(predicate, _itemType, exp);
            var column = _journal.Metadata.TryGetColumnByPropertyName(member);

            if (column == null)
            {
                throw QueryExceptionExtensions.ExpressionNotSupported(
                          string.Format("Column '{0}' does not exist", member), exp);
            }
            result.ApplyOrderBy(column, (EJournalExpressionType)exp.NodeType);
            return(result);
        }
Example #24
0
        public T ObterPorChaveIntegracao(String chaveIntegracao)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            ConditionExpression cond1 = new ConditionExpression("itbc_chave_integracao", ConditionOperator.Equal, chaveIntegracao);
            query.Criteria.Conditions.Add(cond1);
            #endregion

            #region Ordenação
            OrderExpression ord1 = new OrderExpression("productdescription", 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> Listar(Guid supervisorId, Guid produtoId, Guid trimestreId)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition("itbc_supervisor", ConditionOperator.Equal, supervisorId);
            query.Criteria.AddCondition("itbc_produtoid", ConditionOperator.Equal, produtoId);
            query.AddLink("itbc_potencialdosupervisorporproduto", "itbc_potencialdetalhadodosupervisorid", "itbc_potencialdosupervisorporprodutoid")
            .AddLink("itbc_potencial_supervisor_subfamilia", "itbc_potencialsupervisorporprodutoid", "itbc_potencial_supervisor_subfamiliaid")
            .AddLink("itbc_potencialdosupervisorporfamilia", "itbc_potencialsupervisorsubfamiliaid", "itbc_potencialdosupervisorporfamiliaid")
            .AddLink("itbc_potencial_supervisorporsegmento", "itbc_potencialsupervisorporfamiliaid", "itbc_potencial_supervisorporsegmentoid")
            .AddLink("itbc_potencialdosupervisor", "itbc_potencialdosupervisorid", "itbc_potencialdosupervisorid")
            .LinkCriteria.AddCondition("itbc_potencialportrimestredaunidadeid", ConditionOperator.Equal, trimestreId);
            #endregion

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

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #26
0
 protected override Expression VisitRowNumber(RowNumberExpression rowNumber)
 {
     Write("ROW_NUMBER() OVER(");
     if (rowNumber.OrderBy != null && rowNumber.OrderBy.Count > 0)
     {
         Write("ORDER BY ");
         for (int i = 0, n = rowNumber.OrderBy.Count; i < n; i++)
         {
             OrderExpression exp = rowNumber.OrderBy[i];
             if (i > 0)
             {
                 Write(", ");
             }
             VisitValue(exp.Expression);
             if (exp.OrderType != OrderType.Ascending)
             {
                 Write(" DESC");
             }
         }
     }
     Write(")");
     return(rowNumber);
 }
Example #27
0
        public T ObterPor(Guid accountid)
        {
            var query = GetQueryExpression <T>(true);

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

            #region Ordenação
            OrderExpression ord1 = new OrderExpression("productdescription", 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 #28
0
        public T ObterPorCodigo(string chaveIntegracaoUnidadeNegocio, Domain.Enum.OrcamentodaUnidade.Trimestres trimestre, string codigoEmitenteCanal, int ano, params string[] columns)
        {
            var query = GetQueryExpression <T>(true);

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

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            //query.Criteria.AddCondition("itbc_unidadedenegocioid", ConditionOperator.Equal, UnidNeg);
            query.Criteria.AddCondition("itbc_trimestre", ConditionOperator.Equal, (int)trimestre);
            query.Criteria.AddCondition("itbc_ano", ConditionOperator.Equal, ano);

            query.AddLink("account", "itbc_canalid", "accountid");
            query.LinkEntities[0].LinkCriteria.AddCondition("accountnumber", ConditionOperator.Equal, codigoEmitenteCanal);

            query.AddLink("businessunit", "itbc_unidadedenegocioid", "businessunitid");
            query.LinkEntities[1].LinkCriteria.AddCondition("itbc_chave_integracao", ConditionOperator.Equal, chaveIntegracaoUnidadeNegocio);

            #endregion

            #region Ordenações
            OrderExpression ord1 = new OrderExpression("itbc_name", 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 #29
0
        public List <T> ListarPor(Guid?Canal, int?RazaoDoStatus, DateTime?DataDeEnvioInicio, DateTime?DataDeEnvioFim)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            if (Canal.HasValue)
            {
                ConditionExpression cond1 = new ConditionExpression("itbc_canalid", ConditionOperator.Equal, Canal);
                query.Criteria.Conditions.Add(cond1);
            }
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);

            if (RazaoDoStatus.HasValue)
            {
                ConditionExpression cond2 = new ConditionExpression("statuscode", ConditionOperator.Equal, RazaoDoStatus.Value);
                query.Criteria.Conditions.Add(cond2);
            }

            if (DataDeEnvioInicio.HasValue)
            {
                ConditionExpression cond3 = new ConditionExpression("itbc_datadeenvio", ConditionOperator.GreaterEqual, DataDeEnvioInicio.Value);
                query.Criteria.Conditions.Add(cond3);
            }

            if (DataDeEnvioFim.HasValue)
            {
                ConditionExpression cond4 = new ConditionExpression("itbc_datadeenvio", ConditionOperator.LessEqual, DataDeEnvioFim.Value);
                query.Criteria.Conditions.Add(cond4);
            }

            #endregion

            OrderExpression ord1 = new OrderExpression("itbc_datadeenvio", OrderType.Descending);
            query.Orders.Add(ord1);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Example #30
0
        public IActionResult Export([FromBody] EntityGridModel model)
        {
            QueryView.Domain.QueryView queryView = null;
            if (model.QueryViewId.HasValue && !model.QueryViewId.Equals(Guid.Empty))
            {
                queryView = _queryViewFinder.FindById(model.QueryViewId.Value);
            }
            else if (model.EntityId.HasValue && !model.EntityId.Value.Equals(Guid.Empty))
            {
                queryView = _queryViewFinder.FindEntityDefaultView(model.EntityId.Value);
            }
            else if (model.EntityName.IsNotEmpty())
            {
                queryView = _queryViewFinder.FindEntityDefaultView(model.EntityName);
            }
            else
            {
                return(NotFound());
            }
            if (queryView == null)
            {
                return(NotFound());
            }
            OrderExpression orderExp = null;

            if (model.IsSortBySeted)
            {
                orderExp = new OrderExpression(model.SortBy, model.SortDirection == 0 ? OrderType.Ascending : OrderType.Descending);
            }
            string path = _dataExporter.ToExcelFile(queryView, model.Filter, orderExp, queryView.Name, model.ExportType == 1, includeIndex: model.IncludeIndex, title: model.ExportTitle);

            if (path.IsEmpty())
            {
                return(JError(T["list_nodata"]));
            }
            return(JOk(path));
        }
        public T ObterPor(Guid treinamentolId)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            ConditionExpression cond1 = new Microsoft.Xrm.Sdk.Query.ConditionExpression("itbc_treinamcertifid", ConditionOperator.Equal, treinamentolId);
            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]);
        }
Example #32
0
        protected ReadOnlyCollection <OrderExpression> VisitOrderBy(ReadOnlyCollection <OrderExpression> expressions)
        {
            if (expressions == null)
            {
                return(null);
            }

            List <OrderExpression> alternate = null;

            for (int i = 0, n = expressions.Count; i < n; i++)
            {
                OrderExpression expr = expressions[i];

                Expression e = Visit(expr.Expression);

                if (alternate == null && e != expr.Expression)
                {
                    alternate = expressions.Take(i).ToList();
                }
                alternate?.Add(new OrderExpression(expr.OrderType, e));
            }

            return(alternate != null?alternate.AsReadOnly() : expressions);
        }
Example #33
0
        protected DbOrdering ParseOrderExpression(OrderExpression orderExp)
        {
            ScopeParameterDictionary scopeParameters = this._resultElement.ScopeParameters.Clone(orderExp.KeySelector.Parameters[0], this._resultElement.MappingObjectExpression);

            DbExpression dbExpression = GeneralExpressionVisitor.ParseLambda(orderExp.KeySelector, scopeParameters, this._resultElement.ScopeTables);
            DbOrderType  orderType;

            if (orderExp.NodeType == QueryExpressionType.OrderBy || orderExp.NodeType == QueryExpressionType.ThenBy)
            {
                orderType = DbOrderType.Asc;
            }
            else if (orderExp.NodeType == QueryExpressionType.OrderByDesc || orderExp.NodeType == QueryExpressionType.ThenByDesc)
            {
                orderType = DbOrderType.Desc;
            }
            else
            {
                throw new NotSupportedException(orderExp.NodeType.ToString());
            }

            DbOrdering ordering = new DbOrdering(dbExpression, orderType);

            return(ordering);
        }
Example #34
0
        public T ObterOrcamentoSubFamilia(Guid subfamiliaId, Guid orcamentofamiliaId)
        {
            var query = GetQueryExpression <T>(true);

            #region Condições
            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition("itbc_orcamentoporfamiliaid", ConditionOperator.Equal, orcamentofamiliaId);
            query.Criteria.AddCondition("itbc_subfamiliaid", ConditionOperator.Equal, subfamiliaId);
            #endregion

            #region Ordenações
            OrderExpression ord1 = new OrderExpression("itbc_name", 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 #35
0
        public IList <User> GetUsersByRole(UserRoles role, int pageIndex, int pageSize, out int recordCount, string userJobType = "FT")
        {
            Conditions conditions = new Conditions();

            switch (role)
            {
            case UserRoles.OSAT:
            case UserRoles.OSATAdmin:
                conditions.ConditionExpressions.Add(new Condition("Role", Operator.EqualTo, UserRoles.OSAT));
                //conditions.ConditionExpressions.Add(new Condition("Role", Operator.EqualTo, UserRoles.OSATAdmin));
                break;

            case UserRoles.PC:
            case UserRoles.PCAdmin:
                conditions.ConditionExpressions.Add(new Condition("Role", Operator.Like, UserRoles.PC));
                //conditions.ConditionExpressions.Add(new Condition("Role", Operator.EqualTo, UserRoles.PCAdmin));
                break;

            case UserRoles.PE:
            case UserRoles.PEAdmin:
                conditions.ConditionExpressions.Add(new Condition("Role", Operator.Like, UserRoles.PE));
                //conditions.ConditionExpressions.Add(new Condition("Role", Operator.EqualTo, UserRoles.PEAdmin));
                break;

            case UserRoles.QA:
            case UserRoles.QAAdmin:
                conditions.ConditionExpressions.Add(new Condition("Role", Operator.Like, UserRoles.QA));
                //conditions.ConditionExpressions.Add(new Condition("Role", Operator.EqualTo, UserRoles.QAAdmin));
                break;
            }
            conditions.Connector = Connector.AND;
            conditions.ConditionExpressions.Add(new Condition("JobType", Operator.Like, userJobType.ToUpper()));
            OrderExpression orderExpression = new OrderExpression("FullName", false);

            return(this.dbGateway.getRecords(pageIndex, pageSize, conditions, orderExpression, StringHelper.BuildStringList(" AccountState=1 "), Connector.AND, out recordCount));
        }
        /// <summary>
        /// Create and configure the organization service proxy.
        /// Create a parent account record and subsequent 10 child account records.
        /// Retrieve batch of records using RetrieveMultiple message with paging cookie.
        /// Optionally delete any entity records that were created for this sample.
        /// </summary>
        /// <param name="serverConfig">Contains server connection information.</param>
        /// <param name="promptForDelete">When True, the user will be prompted to delete all
        /// created entities.</param>
        public void Run(ServerConnection.Configuration serverConfig, bool promptForDelete)
        {
            try
            {
                 
                // Connect to the Organization service. 
                // The using statement assures that the service proxy will be properly disposed.
                using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri,serverConfig.Credentials, serverConfig.DeviceCredentials))
                {
                    // This statement is required to enable early-bound type support.
                    _serviceProxy.EnableProxyTypes();

                    _service = (IOrganizationService)_serviceProxy;

                    // Call the method to create any data that this sample requires.
                    CreateRequiredRecords();

                    //<snippetQueryExpressionPagingWithCookie1>                    
                    // Query using the paging cookie.
                    // Define the paging attributes.
                    // The number of records per page to retrieve.
                    int queryCount = 3;
                    
                    // Initialize the page number.
                    int pageNumber = 1;
                    
                    // Initialize the number of records.
                    int recordCount = 0;
                    
                    // Define the condition expression for retrieving records.
                    ConditionExpression pagecondition = new ConditionExpression();
                    pagecondition.AttributeName = "parentaccountid";
                    pagecondition.Operator = ConditionOperator.Equal;
                    pagecondition.Values.Add(_parentAccountId);

                    // Define the order expression to retrieve the records.
                    OrderExpression order = new OrderExpression();
                    order.AttributeName = "name";
                    order.OrderType = OrderType.Ascending;

                    // Create the query expression and add condition.
                    QueryExpression pagequery = new QueryExpression();
                    pagequery.EntityName = "account";
                    pagequery.Criteria.AddCondition(pagecondition);
                    pagequery.Orders.Add(order);
                    pagequery.ColumnSet.AddColumns("name", "emailaddress1");                   

                    // Assign the pageinfo properties to the query expression.
                    pagequery.PageInfo = new 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 = null;
                    Console.WriteLine("Retrieving sample account records in pages...\n");
                    Console.WriteLine("#\tAccount Name\t\tEmail Address"); 
                    
                    while (true)
                    {
                        // Retrieve the page.
                        EntityCollection results = _serviceProxy.RetrieveMultiple(pagequery);
                        if (results.Entities != null)
                        {
                            // Retrieve all records from the result set.
                            foreach (Account acct in results.Entities)
                            {
                                Console.WriteLine("{0}.\t{1}\t{2}", ++recordCount, acct.Name,
                                                   acct.EMailAddress1);
                            }
                        }

                        // Check for more records, if it returns true.
                        if (results.MoreRecords)
                        {
                            Console.WriteLine("\n****************\nPage number {0}\n****************", pagequery.PageInfo.PageNumber);
                            Console.WriteLine("#\tAccount Name\t\tEmail Address");

                            // Increment the page number to retrieve the next page.
                            pagequery.PageInfo.PageNumber++;
                            
                            // Set the paging cookie to the paging cookie returned from current results.
                            pagequery.PageInfo.PagingCookie = results.PagingCookie;
                        }
                        else
                        {
                            // If no more records are in the result nodes, exit the loop.
                            break;
                        }
                    }
                    //</snippetQueryExpressionPagingWithCookie1>                    

                    DeleteRequiredRecords(promptForDelete);
                }
            }
            // Catch any service fault exceptions that Microsoft Dynamics CRM throws.
            catch (FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>)
            {
                // You can handle an exception here or pass it back to the calling method.
                throw;
            }
            return;
        }
Example #37
0
        protected override OrderExpression VisitOrderBy(OrderExpression o)
        {
            var e = MakeSqlValue(Visit(o.Expression));
            if (e == o.Expression)
                return o;

            return new OrderExpression(o.OrderType, e);
        }
 public static SelectExpression RemoveOrderExpression(this SelectExpression select, OrderExpression ordering)
 {
     if (select.OrderBy != null && select.OrderBy.Count > 0)
     {
         List<OrderExpression> orderby = new List<OrderExpression>(select.OrderBy);
         orderby.Remove(ordering);
         return select.SetOrderBy(orderby);
     }
     return select;
 }
		private void FillMeetingList(int page)
		{
			#region Create Table
			DataTable dtb = new DataTable();
			dtb.Columns.Add("number");
			dtb.Columns.Add("name");
			dtb.Columns.Add("dateholding");
			dtb.Columns.Add("starttime");
			dtb.Columns.Add("endtime");
			dtb.Columns.Add("status");
			dtb.Columns.Add("attendancelistid");
			#endregion

			#region Get Record From Crm

			QueryExpression query = new QueryExpression("new_attendancelist");
			query.ColumnSet = new ColumnSet(new string[] { "new_name", "new_meetingnumber", "new_dateholding", "new_starttime",
														   "new_endtime", "new_status", "new_attendancelistid", "createdon", "new_starttime1", "new_minutesstart", "new_endtime1", "new_minutesend"});
			query.Criteria.AddCondition("new_relatedteacher", ConditionOperator.Equal, new Guid("{" + Session["Personnelid"].ToString() + "}"));
			query.Criteria.AddCondition("new_relatedclassid", ConditionOperator.Equal, new Guid(ClassId));
			OrderExpression _Order = new OrderExpression("new_dateholding", OrderType.Ascending);
			query.Orders.Add(_Order);

            query.PageInfo = new PagingInfo();
            query.PageInfo.ReturnTotalRecordCount = true;
            query.PageInfo.Count = 10;
            query.PageInfo.PageNumber = page;

			query.PageInfo.PagingCookie = null;

			EntityCollection retrieved = crmService.RetrieveMultiple(query);


			#endregion

			#region Fill DataTable
			if (retrieved != null && retrieved.Entities.Count > 0)
			{

				TimeSpan time = new TimeSpan(3, 30, 0);
				for (int i = 0; i < retrieved.Entities.Count; i++)
				{
					DataRow dr = dtb.NewRow();

					if (retrieved.Entities[i].Contains("new_meetingnumber"))
						dr["number"] = retrieved.Entities[i].Attributes["new_meetingnumber"].ToString();
					if (retrieved.Entities[i].Contains("new_name"))
						dr["name"] = retrieved.Entities[i].Attributes["new_name"].ToString();
					if (retrieved.Entities[i].Contains("new_dateholding"))
						dr["dateholding"] = gregorianToShamsi(((DateTime)retrieved.Entities[i].Attributes["new_dateholding"]).Date);
					if (retrieved.Entities[i].Contains("new_starttime1") && retrieved.Entities[i].Contains("new_minutesstart"))
						dr["starttime"] = GetOptionsSetTextOnValue(crmService, "new_attendancelist", "new_starttime1", ((OptionSetValue)retrieved.Entities[i]["new_starttime1"]).Value, 1065) + ":" +
										  GetOptionsSetTextOnValue(crmService, "new_attendancelist", "new_minutesstart", ((OptionSetValue)retrieved.Entities[i]["new_minutesstart"]).Value, 1065);
					if (retrieved.Entities[i].Contains("new_endtime1") && retrieved.Entities[i].Contains("new_minutesend"))
						dr["endtime"] = GetOptionsSetTextOnValue(crmService, "new_attendancelist", "new_endtime1", ((OptionSetValue)retrieved.Entities[i]["new_endtime1"]).Value, 1065) + ":" +
										  GetOptionsSetTextOnValue(crmService, "new_attendancelist", "new_minutesend", ((OptionSetValue)retrieved.Entities[i]["new_minutesend"]).Value, 1065);
					//if (retrieved.Entities[i].Contains("new_endtime"))
					//    dr["endtime"] = gregorianToShamsi(((DateTime)retrieved.Entities[i].Attributes["new_endtime"]).Date) + " " + String.Format("{0:t}", ((DateTime)retrieved.Entities[i].Attributes["new_endtime"]).Add(time));
					if (retrieved.Entities[i].Contains("new_status"))
						dr["status"] = GetOptionsSetTextOnValue(crmService, "new_attendancelist", "new_status", ((OptionSetValue)retrieved.Entities[i].Attributes["new_status"]).Value, 1065);
					if (retrieved.Entities[i].Contains("new_attendancelistid"))
						dr["attendancelistid"] = retrieved.Entities[i].Attributes["new_attendancelistid"].ToString();

					dtb.Rows.Add(dr);
				}
			}
			#endregion


			if (retrieved.MoreRecords)
			{
				query.PageInfo.PagingCookie = retrieved.PagingCookie;
				RequestMeetingView.VirtualItemCount = retrieved.TotalRecordCount;
			}
			

			
			RequestMeetingView.PageSize = 10;
			RequestMeetingView.DataSource = dtb;
			RequestMeetingView.DataBind();
		}
Example #40
0
        protected virtual OrderExpression VisitOrderBy(OrderExpression o)
        {
            var e = Visit(o.Expression);
            if (e == o.Expression)
                return o;

            return new OrderExpression(o.OrderType, e);
        }
Example #41
0
        protected static DbOrderSegment VisistOrderExpression(List<IMappingObjectExpression> moeList, OrderExpression orderExp)
        {
            DbExpression dbExpression = GeneralExpressionVisitor.VisitPredicate(orderExp.Expression, moeList);
            OrderType orderType;
            if (orderExp.NodeType == QueryExpressionType.OrderBy || orderExp.NodeType == QueryExpressionType.ThenBy)
            {
                orderType = OrderType.Asc;
            }
            else if (orderExp.NodeType == QueryExpressionType.OrderByDesc || orderExp.NodeType == QueryExpressionType.ThenByDesc)
            {
                orderType = OrderType.Desc;
            }
            else
                throw new NotSupportedException(orderExp.NodeType.ToString());

            DbOrderSegment orderSeg = new DbOrderSegment(dbExpression, orderType);

            return orderSeg;
        }
        private void FillTuitionList()
        {
            #region Create Table
            DataTable dtb = new DataTable();
            dtb.Columns.Add("requestdate");
            dtb.Columns.Add("code");
            dtb.Columns.Add("paymentstatus");
            dtb.Columns.Add("totalteachinghours_ds");
            dtb.Columns.Add("teachersalary");
            dtb.Columns.Add("deductions");
            dtb.Columns.Add("theamountpaid");
            dtb.Columns.Add("typeofpayment");
            dtb.Columns.Add("dateofpayment");
            dtb.Columns.Add("teacherpaymentrequestid");
            #endregion

            #region Get Record From Crm
            QueryExpression query = new QueryExpression("new_teacherpaymentrequest");
            query.ColumnSet = new ColumnSet(new string[] { "new_teacherpaymentrequestid", "new_requestdate", "new_code", "new_paymentstatus",
                                                           "new_totalteachinghours_ds", "new_teachersalary", "new_deductions", "new_theamountpaid",
                                                            "new_typeofpayment","new_dateofpayment","createdon" });
            query.Criteria.AddCondition("new_teacherid", ConditionOperator.Equal, new Guid("{" + Session["Personnelid"].ToString() + "}"));
            query.Criteria.AddCondition("new_classid", ConditionOperator.Equal, new Guid(ClassId));
            OrderExpression _Order = new OrderExpression("createdon", OrderType.Ascending);
            query.Orders.Add(_Order);

            EntityCollection retrieved = crmService.RetrieveMultiple(query);
            #endregion

            #region Fill DataTable
            if (retrieved != null && retrieved.Entities.Count > 0)
            {
                for (int i = 0; i < retrieved.Entities.Count; i++)
                {
                    DataRow dr = dtb.NewRow();

                    if (retrieved.Entities[i].Contains("new_requestdate") && retrieved.Entities[i]["new_requestdate"] != null)
                        dr["requestdate"] = gregorianToShamsi(((DateTime)retrieved.Entities[i].Attributes["new_requestdate"]).Date);
                    if (retrieved.Entities[i].Contains("new_code") && retrieved.Entities[i]["new_code"] != null)
                        dr["code"] = (string)retrieved.Entities[i]["new_code"];
                    if (retrieved.Entities[i].Contains("new_paymentstatus") && retrieved.Entities[i]["new_paymentstatus"] != null)
                        dr["paymentstatus"] = GetOptionsSetTextOnValue(crmService, "new_teacherpaymentrequest", "new_paymentstatus", ((OptionSetValue)retrieved.Entities[i]["new_paymentstatus"]).Value, 1065);
                    if (retrieved.Entities[i].Contains("new_totalteachinghours_ds") && retrieved.Entities[i]["new_totalteachinghours_ds"] != null)
                        dr["totalteachinghours_ds"] = ((decimal)retrieved.Entities[i]["new_totalteachinghours_ds"]).ToString("0.#####");
                    if (retrieved.Entities[i].Contains("new_teachersalary") && retrieved.Entities[i]["new_teachersalary"] != null)
                        dr["teachersalary"] = (((Money)retrieved.Entities[i]["new_teachersalary"]).Value).ToString("0.#####");
                    if (retrieved.Entities[i].Contains("new_deductions") && retrieved.Entities[i]["new_deductions"] != null)
                        dr["deductions"] = ((decimal)retrieved.Entities[i]["new_deductions"]).ToString("0.#####");
                    if (retrieved.Entities[i].Contains("new_theamountpaid") && retrieved.Entities[i]["new_theamountpaid"] != null)
                        dr["theamountpaid"] = (((Money)retrieved.Entities[i]["new_theamountpaid"]).Value).ToString("0.#####");
                    if (retrieved.Entities[i].Contains("new_typeofpayment") && retrieved.Entities[i]["new_typeofpayment"] != null)
                        dr["typeofpayment"] = GetOptionsSetTextOnValue(crmService, "new_teacherpaymentrequest", "new_typeofpayment", ((OptionSetValue)retrieved.Entities[i]["new_typeofpayment"]).Value, 1065);
                    if (retrieved.Entities[i].Contains("new_dateofpayment") && retrieved.Entities[i]["new_dateofpayment"] != null)
                        dr["dateofpayment"] = gregorianToShamsi(((DateTime)retrieved.Entities[i].Attributes["new_dateofpayment"]).Date);

                    dr["teacherpaymentrequestid"] = retrieved.Entities[i].Attributes["new_teacherpaymentrequestid"].ToString();
                    dtb.Rows.Add(dr);
                }
            }
            #endregion

            RequestTuitionListView.DataSource = dtb;
            RequestTuitionListView.DataBind();
        }
Example #43
0
        private static string ResolveOrderExpression(OrderExpression orderExpression, string qualColumnName)
        {
            StringBuilder sqlExpression = new StringBuilder();

            switch (orderExpression.SortOrder)
            {
                case SortOrder.Asc:
                    sqlExpression.Append(qualColumnName + " ASC");
                    break;

                case SortOrder.Desc:
                    sqlExpression.Append(qualColumnName + " DESC");
                    break;

                default:
                    throw new Exception("Sort order is not specified.");
            }

            return sqlExpression.ToString();
        }
 protected virtual Expression VisitSimpleDbOrder(OrderExpression oex)
 {
     return oex;
 }
        private void FillRequestList()
        {
            #region Create Table
            DataTable dtb = new DataTable();
            dtb.Columns.Add("ticketnumber");
            dtb.Columns.Add("title");
            dtb.Columns.Add("casetypecode");
            dtb.Columns.Add("description");
            dtb.Columns.Add("statecode");
            dtb.Columns.Add("state");
            dtb.Columns.Add("incidentid");
            dtb.Columns.Add("helpdesk_requesterconfirm");
            dtb.Columns.Add("helpdesk_statusdescription");
            #endregion

            #region Get Record From Crm
            QueryExpression query = new QueryExpression("incident");
            query.ColumnSet = new ColumnSet(true);
            OrderExpression _Order = new OrderExpression("createdon", OrderType.Descending);
            query.Orders.Add(_Order);
            FilterExpression _filterCustomer = new FilterExpression(LogicalOperator.And);
            _filterCustomer.AddCondition("customerid", ConditionOperator.Equal, new Guid("{" + Session["Personnelid"].ToString() + "}"));

            query.Criteria = new FilterExpression(LogicalOperator.And);
            query.Criteria.AddFilter(_filterCustomer);

            if (SelectType.SelectedValue.Trim() == "2" || SelectType.SelectedValue.Trim() == "3")
            {
                FilterExpression _filterState = new FilterExpression();
                if (SelectType.SelectedValue.Trim() == "2")
                {
                    _filterState.FilterOperator = LogicalOperator.And;
                    _filterState.AddCondition("statecode", ConditionOperator.Equal, 0);
                }
                else if (SelectType.SelectedValue.Trim() == "3")
                {
                    _filterState.FilterOperator = LogicalOperator.Or;
                    _filterState.AddCondition("statecode", ConditionOperator.Equal, 1);
                    _filterState.AddCondition("statecode", ConditionOperator.Equal, 2);
                }
                query.Criteria.AddFilter(_filterState);
            }
            EntityCollection retrieved = crmService.RetrieveMultiple(query);
            #endregion

            #region Fill DataTable
            if (retrieved != null && retrieved.Entities.Count > 0)
            {
                for (int i = 0; i < retrieved.Entities.Count; i++)
                {
                    DataRow dr = dtb.NewRow();
                    dr["ticketnumber"] = retrieved.Entities[i].Attributes["ticketnumber"].ToString();
                    if (retrieved.Entities[i].Contains("helpdesk_requesterconfirm") && retrieved.Entities[i].Attributes["helpdesk_requesterconfirm"] != null)
                        dr["helpdesk_requesterconfirm"] = retrieved.Entities[i].Attributes["helpdesk_requesterconfirm"].ToString();
                    else
                        dr["helpdesk_requesterconfirm"] = false;
                    if (retrieved.Entities[i].Attributes.Contains("title"))
                        dr["title"] = retrieved.Entities[i].Attributes["title"].ToString();

                    int CaseType = 0;
                    if (retrieved.Entities[i].Attributes.Contains("casetypecode"))
                    {
                        CaseType = ((OptionSetValue)retrieved.Entities[i].Attributes["casetypecode"]).Value;
                    }
                    dr["casetypecode"] = GetOptionsSetTextOnValue(crmService, "incident", "casetypecode", CaseType, 1065);
                    if (retrieved.Entities[i].Attributes.Contains("description"))
                        dr["description"] = retrieved.Entities[i].Attributes["description"].ToString();
                    if (((OptionSetValue)retrieved.Entities[i].Attributes["statecode"]).Value == 0)
                    {
                        dr["statecode"] = getStatuscode(((OptionSetValue)retrieved.Entities[i].Attributes["statuscode"]).Value);
                        dr["state"] = 0;
                    }
                    else
                    {
                        dr["statecode"] = GetStateTextOnValue(crmService, "incident", "statecode", ((OptionSetValue)retrieved.Entities[i].Attributes["statecode"]).Value, 1065);
                        dr["state"] = ((OptionSetValue)retrieved.Entities[i].Attributes["statecode"]).Value;
                    }
                    dr["incidentid"] = retrieved.Entities[i].Attributes["incidentid"].ToString();
                    if (retrieved.Entities[i].Contains("helpdesk_statusdescription") && retrieved.Entities[i].Attributes["helpdesk_statusdescription"] != null)
                        dr["helpdesk_statusdescription"] = getStatusDesccode(((OptionSetValue)retrieved.Entities[i].Attributes["helpdesk_statusdescription"]).Value);
                    if (((OptionSetValue)retrieved.Entities[i].Attributes["statecode"]).Value == 1)
                        dr["helpdesk_statusdescription"] = getStatusDesccode(3);
                    dtb.Rows.Add(dr);
                }
            }
            #endregion

            RequestView.DataSource = dtb;
            RequestView.DataBind();
        }
        private void FillTechnicalList()
        {
            #region Create Table
            DataTable dtb = new DataTable();
            dtb.Columns.Add("name");
            dtb.Columns.Add("requestdate");
            dtb.Columns.Add("owner");
            dtb.Columns.Add("done1");
            dtb.Columns.Add("requestdescription");
            dtb.Columns.Add("donedescription");
            dtb.Columns.Add("classstechnicalrequestid");
            #endregion

            #region Get Record From Crm

            QueryExpression query = new QueryExpression("new_classstechnicalrequest");
            query.ColumnSet = new ColumnSet(new string[] { "new_name", "createdon", "ownerid", "new_done1",
                                                           "new_requestdescription", "new_donedescription", "new_classstechnicalrequestid" });
            query.Criteria.AddCondition("new_relatedclassid", ConditionOperator.Equal, new Guid(ClassId));
            OrderExpression _Order = new OrderExpression("createdon", OrderType.Ascending);
            query.Orders.Add(_Order);

            EntityCollection retrieved = crmService.RetrieveMultiple(query);

            #endregion

            #region Fill DataTable
            if (retrieved != null && retrieved.Entities.Count > 0)
            {
                for (int i = 0; i < retrieved.Entities.Count; i++)
                {
                    DataRow dr = dtb.NewRow();
                    if (retrieved.Entities[i].Contains("new_name"))
                        dr["name"] = retrieved.Entities[i].Attributes["new_name"].ToString();
                    if (retrieved.Entities[i].Contains("createdon"))
                        dr["requestdate"] = gregorianToShamsi(((DateTime)retrieved.Entities[i].Attributes["createdon"]).Date);
                    if (retrieved.Entities[i].Contains("ownerid"))
                        dr["owner"] = ((EntityReference)retrieved.Entities[i]["ownerid"]).Name;
                    if (retrieved.Entities[i].Contains("new_done1"))
                        dr["done1"] = GetOptionsSetTextOnValue(crmService, "new_classstechnicalrequest", "new_done1", ((OptionSetValue)retrieved.Entities[i].Attributes["new_done1"]).Value, 1065);
                    if (retrieved.Entities[i].Contains("new_requestdescription"))
                        dr["requestdescription"] = retrieved.Entities[i].Attributes["new_requestdescription"].ToString();
                    if (retrieved.Entities[i].Contains("new_donedescription"))
                        dr["donedescription"] = retrieved.Entities[i].Attributes["new_donedescription"].ToString();
                    if (retrieved.Entities[i].Contains("new_classstechnicalrequestid"))
                        dr["classstechnicalrequestid"] = retrieved.Entities[i].Attributes["new_classstechnicalrequestid"].ToString();

                    dtb.Rows.Add(dr);
                }
            }
            #endregion

            TechnicalListView.DataSource = dtb;
            TechnicalListView.DataBind();
        }
        private void FillStudentList()
        {
            #region Create Table
            DataTable dtb = new DataTable();
            dtb.Columns.Add("gendercode");
            dtb.Columns.Add("studentnumber");
            dtb.Columns.Add("name");
            dtb.Columns.Add("relatedclass");
            dtb.Columns.Add("relatedcompanyid");
            dtb.Columns.Add("attendanceitemsid");
            #endregion

            #region Get Record From Crm
            QueryExpression query = new QueryExpression("new_attendanceitems");
            query.ColumnSet = new ColumnSet(new string[] { "new_name", "new_relatedclass", "new_relatedcompanyid", "new_relatedregistrationid",
                                                           "new_attendanceitemsid", "createdon", "new_relatedattendanceid", "new_studentid", "new_present"});
            query.Criteria.AddCondition("new_relatedattendanceid", ConditionOperator.Equal, new Guid(meetingId));
            OrderExpression _Order = new OrderExpression("new_studentid", OrderType.Ascending);
            query.Orders.Add(_Order);

            EntityCollection retrieved = crmService.RetrieveMultiple(query);
            #endregion

            #region Fill DataTable
            if (retrieved != null && retrieved.Entities.Count > 0)
            {
                for (int i = 0; i < retrieved.Entities.Count; i++)
                {
                    DataRow dr = dtb.NewRow();
                    Entity student = crmService.Retrieve("contact", ((EntityReference)retrieved.Entities[i].Attributes["new_studentid"]).Id, new ColumnSet(new string[] { "contactid", "gendercode", "new_studentnumber" }));
                    if (student.Contains("gendercode") && student["gendercode"] != null)
                        dr["gendercode"] = GetOptionsSetTextOnValue(crmService, "contact", "gendercode", ((OptionSetValue)student["gendercode"]).Value, 1065);
                    if (student.Contains("new_studentnumber") && student["new_studentnumber"] != null)
                        dr["studentnumber"] = (string)student["new_studentnumber"];
                    if (retrieved.Entities[i].Contains("new_studentid"))
                        dr["name"] = ((EntityReference)retrieved.Entities[i].Attributes["new_studentid"]).Name;
                    if (retrieved.Entities[i].Contains("new_relatedclass"))
                        dr["relatedclass"] = ((EntityReference)retrieved.Entities[i].Attributes["new_relatedclass"]).Name;
                    if (retrieved.Entities[i].Contains("new_relatedcompanyid") && (EntityReference)retrieved.Entities[i].Attributes["new_relatedcompanyid"] != null)
                        dr["relatedcompanyid"] = ((EntityReference)retrieved.Entities[i].Attributes["new_relatedcompanyid"]).Name;
                    if (retrieved.Entities[i].Contains("new_attendanceitemsid"))
                        dr["attendanceitemsid"] = (retrieved.Entities[i].Attributes["new_attendanceitemsid"]).ToString();
                    dtb.Rows.Add(dr);
                }
            }
            #endregion

            RequestMeetingDetailView.DataSource = dtb;
            RequestMeetingDetailView.DataBind();
        }
Example #48
0
 protected virtual void VisitOrder(OrderExpression expression)
 {
     OrderFields.Add(new OrderField() { FieldName = expression.FieldName, Descending = expression.Descending });
 }
Example #49
0
        /// <summary>
        /// This method is used to find a record and return the GUID of records matching the criteria
        /// </summary>
        /// <param name="entityName_">CRM name of the entity you want to look for</param>
        /// <param name="primarykeyName">The attribute name containing the GUID for the entity (contactid,campaignid,...) that will be returned in an array</param>
        ///<param name="stringParams">The ArrayList containing the attributes names and their values. The research only work with string type attributes. You can use % to replace characters. A logical AND is used to concatenate the parameters in the search</param>
        public ArrayList findEntity(string entityName_, string primarykeyName, ArrayList stringParams, string attribute_order)
        {
            ArrayList arrayResults = new ArrayList();
            try
            {
                isconnected();

                ColumnSet cols = new ColumnSet();
                createStringConditionExpression(stringParams);
                cols.Attributes.Add(primarykeyName);

                m_filterExpression.FilterOperator = LogicalOperator.And;
                OrderExpression oe = new OrderExpression();
                oe.AttributeName = attribute_order;
                oe.OrderType = OrderType.Descending;
                QueryExpression query = new QueryExpression();
                query.EntityName = entityName_;
                query.ColumnSet = cols;
                query.Criteria = m_filterExpression;
                query.Orders.Add(oe);

                RetrieveMultipleRequest retrieve = new RetrieveMultipleRequest();
                retrieve.Query = query;
                retrieve.ReturnDynamicEntities = true;

                RetrieveMultipleResponse retrieved = (RetrieveMultipleResponse)m_crmService.Execute(retrieve);
                int i = 0;
                foreach (DynamicEntity rec in retrieved.BusinessEntityCollection.BusinessEntities)
                {
                    Microsoft.Crm.Sdk.Key sp = (Microsoft.Crm.Sdk.Key)rec.Properties[primarykeyName];
                    arrayResults.Add(sp.Value);
                    i++;
                }
                if (i == 0) throw new entitynotfoundException();
                return arrayResults;
            }
            catch (SoapException ex)
            {
                throw new InvalidPluginExecutionException("!SoapException!\n" + ex.Detail.SelectSingleNode("//description").InnerText);
            }
            catch (entitynotfoundException)
            {
                throw new entitynotfoundException();
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
		private void FillClassList(int page)
		{
			#region Create Table
			DataTable dtb = new DataTable();
			dtb.Columns.Add("name");
			dtb.Columns.Add("typeofclass");
			dtb.Columns.Add("showtimes");
			dtb.Columns.Add("classstatus");
			dtb.Columns.Add("vmname");
			dtb.Columns.Add("teacherpassword");
			dtb.Columns.Add("studentpassword");
			dtb.Columns.Add("holdinglocationid");
			dtb.Columns.Add("relatedlabid");
			dtb.Columns.Add("startdate");
			dtb.Columns.Add("starttime");
			dtb.Columns.Add("endtime");
			dtb.Columns.Add("classid");
			#endregion

			#region Get Record From Crm
			QueryExpression query = new QueryExpression("new_class");
			query.ColumnSet = new ColumnSet(new string[] { "new_name", "new_relatedcourseid", "new_holdinglocationid", "new_relatedlabid",
														   "new_startdate", "new_starttime", "new_endtime", "new_classid", "createdon", "new_minutesstart" , "new_minutesend",
															"new_typeofclass", "new_showtimes", "new_classstatus","new_vmname","new_teacherpassword","new_studentpassword",});
			query.Criteria.AddCondition("new_teacherid", ConditionOperator.Equal, new Guid("{" + Session["Personnelid"].ToString() + "}"));
			query.Criteria.AddCondition("new_classstatus", ConditionOperator.NotEqual, 4);
			query.Criteria.AddCondition("new_classstatus", ConditionOperator.NotEqual, 5);

			OrderExpression _Order = new OrderExpression("new_startdate", OrderType.Ascending);
			query.Orders.Add(_Order);

			query.PageInfo = new PagingInfo();
			query.PageInfo.ReturnTotalRecordCount = true;
			query.PageInfo.Count = 10;
			query.PageInfo.PageNumber = page;

			query.PageInfo.PagingCookie = null;

			EntityCollection retrieved = crmService.RetrieveMultiple(query);


			#endregion

			#region Fill DataTable
			if (retrieved != null && retrieved.Entities.Count > 0)
			{
				for (int i = 0; i < retrieved.Entities.Count; i++)
				{
					DataRow dr = dtb.NewRow();
					dr["name"] = retrieved.Entities[i].Attributes["new_name"].ToString();
					if (retrieved.Entities[i].Contains("new_typeofclass") && retrieved.Entities[i]["new_typeofclass"] != null)
						dr["typeofclass"] = GetOptionsSetTextOnValue(crmService, "new_class", "new_typeofclass", ((OptionSetValue)retrieved.Entities[i].Attributes["new_typeofclass"]).Value, 1065);
					if (retrieved.Entities[i].Contains("new_showtimes") && retrieved.Entities[i]["new_showtimes"] != null)
						dr["showtimes"] = GetOptionsSetTextOnValue(crmService, "new_class", "new_showtimes", ((OptionSetValue)retrieved.Entities[i].Attributes["new_showtimes"]).Value, 1065);
					if (retrieved.Entities[i].Contains("new_classstatus") && retrieved.Entities[i]["new_classstatus"] != null)
						dr["classstatus"] = GetOptionsSetTextOnValue(crmService, "new_class", "new_classstatus", ((OptionSetValue)retrieved.Entities[i].Attributes["new_classstatus"]).Value, 1065);
					if (retrieved.Entities[i].Contains("new_vmname") && retrieved.Entities[i]["new_vmname"] != null)
						dr["vmname"] = (string)retrieved.Entities[i].Attributes["new_vmname"];
					if (retrieved.Entities[i].Contains("new_teacherpassword") && retrieved.Entities[i]["new_teacherpassword"] != null)
						dr["teacherpassword"] = (string)retrieved.Entities[i].Attributes["new_teacherpassword"];
					if (retrieved.Entities[i].Contains("new_studentpassword") && retrieved.Entities[i]["new_studentpassword"] != null)
						dr["studentpassword"] = (string)retrieved.Entities[i].Attributes["new_studentpassword"];
					if (retrieved.Entities[i].Contains("new_holdinglocationid"))
						dr["holdinglocationid"] = ((EntityReference)retrieved.Entities[i].Attributes["new_holdinglocationid"]).Name;
					if (retrieved.Entities[i].Contains("new_relatedlabid"))
						dr["relatedlabid"] = ((EntityReference)retrieved.Entities[i].Attributes["new_relatedlabid"]).Name;
					if (retrieved.Entities[i].Contains("new_startdate"))
						dr["startdate"] = gregorianToShamsi((DateTime)retrieved.Entities[i].Attributes["new_startdate"]);
					if (retrieved.Entities[i].Contains("new_starttime"))
						dr["starttime"] = GetOptionsSetTextOnValue(crmService, "new_class", "new_starttime", ((OptionSetValue)retrieved.Entities[i].Attributes["new_starttime"]).Value, 1065)
									  + ":" + GetOptionsSetTextOnValue(crmService, "new_class", "new_minutesstart", ((OptionSetValue)retrieved.Entities[i].Attributes["new_minutesstart"]).Value, 1065);
					if (retrieved.Entities[i].Contains("new_endtime"))
						dr["endtime"] = GetOptionsSetTextOnValue(crmService, "new_class", "new_endtime", ((OptionSetValue)retrieved.Entities[i].Attributes["new_endtime"]).Value, 1065)
									  + ":" + GetOptionsSetTextOnValue(crmService, "new_class", "new_minutesend", ((OptionSetValue)retrieved.Entities[i].Attributes["new_minutesend"]).Value, 1065);
					if (retrieved.Entities[i].Contains("new_classid"))
						dr["classid"] = retrieved.Entities[i].Attributes["new_classid"].ToString();

					dtb.Rows.Add(dr);
				}
			}

			#endregion

			if (retrieved.MoreRecords)
			{
				query.PageInfo.PagingCookie = retrieved.PagingCookie;
				RequestClassView.VirtualItemCount = retrieved.TotalRecordCount;
			}


			RequestClassView.PageSize = 10;
			RequestClassView.DataSource = dtb;
			RequestClassView.DataBind();
		}