Ejemplo n.º 1
0
        public List <T> ListarPorUnidadeNegocio(Guid unidadeNegocioId, int ano, Domain.Enum.OrcamentodaUnidade.Trimestres trimestre)
        {
            var query = GetQueryExpression <T>(true);

            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition("itbc_ano", ConditionOperator.Equal, ano);
            query.Criteria.AddCondition("itbc_trimestre", ConditionOperator.Equal, (int)trimestre);
            query.Criteria.AddCondition("itbc_unidadedenegocioid", ConditionOperator.Equal, unidadeNegocioId);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Ejemplo n.º 2
0
        public List <T> ListarPorUnidadeNegocio(Guid unidadeNegocioId, int ano, Domain.Enum.OrcamentodaUnidade.Trimestres trimestre, Guid subfamiliaProdutoId)
        {
            var query = GetQueryExpression <T>(true);

            query.Criteria.AddCondition("statecode", ConditionOperator.Equal, 0);
            query.Criteria.AddCondition("itbc_ano", ConditionOperator.Equal, ano);
            query.Criteria.AddCondition("itbc_trimestre", ConditionOperator.Equal, (int)trimestre);
            query.Criteria.AddCondition("itbc_unidade_negocio", ConditionOperator.Equal, unidadeNegocioId);

            query.AddLink("itbc_metadocanalporsubfamilia", "itbc_metadocanalporsubfamiliaid", "itbc_metadocanalporsubfamiliaid")
            .LinkCriteria.AddCondition("itbc_subfamiliaid", ConditionOperator.Equal, subfamiliaProdutoId);

            return((List <T>) this.RetrieveMultiple(query).List);
        }
Ejemplo n.º 3
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]);
        }
        public List <PotencialdoKAporSubfamilia> ListarValoresPorUnidadeNegocio(Guid unidadeNegocioId, int ano, Domain.Enum.OrcamentodaUnidade.Trimestres trimestre)
        {
            var lista = new List <PotencialdoKAporSubfamilia>();

            string fetch = @"<fetch aggregate='true' no-lock='true' returntotalrecordcount='true' >
                              <entity name='itbc_metadokaporproduto' >
                                <attribute name='itbc_metaplanejada' alias='valor_planejado' aggregate='sum' />
                                <attribute name='itbc_metarealizada' alias='valor_realizado' aggregate='sum' />
                                <link-entity name='itbc_metadokaporsubfamilia' from='itbc_metadokaporsubfamiliaid' to='itbc_metadokaporsubfamiliaid' link-type='inner' alias='sub' >
                                  <attribute name='itbc_metadokaporsubfamiliaid' alias='id' groupby='true' />
                                  <filter type='and' >
                                    <condition attribute='itbc_ano' operator='eq' value='{0}' />
                                    <condition attribute='itbc_unidadedenegocioid' operator='eq' value='{1}' />
                                    <condition attribute='itbc_trimestre' operator='eq' value='{2}' />
                                  </filter>
                                </link-entity>
                              </entity>
                            </fetch>";


            fetch = string.Format(fetch, ano, unidadeNegocioId, (int)trimestre);

            var retrieveMultiple = new RetrieveMultipleRequest()
            {
                Query = new FetchExpression(fetch)
            };

            EntityCollection collection = ((RetrieveMultipleResponse)this.Execute(retrieveMultiple)).EntityCollection;

            foreach (var item in collection.Entities)
            {
                var potencialSubfamilia = new PotencialdoKAporSubfamilia(OrganizationName, IsOffline, Provider)
                {
                    ID = (Guid)((AliasedValue)(item.Attributes["id"])).Value,
                    PotencialPlanejado = ((Money)((AliasedValue)item.Attributes["valor_planejado"]).Value).Value,
                    PotencialRealizado = ((Money)((AliasedValue)item.Attributes["valor_realizado"]).Value).Value
                };

                lista.Add(potencialSubfamilia);
            }

            return(lista);
        }
Ejemplo n.º 5
0
        public List <MetadaUnidadeporProduto> ListarValoresPorUnidadeNegocio(Guid unidadeNegocioId, int ano, Domain.Enum.OrcamentodaUnidade.Trimestres trimestre)
        {
            var lista = new List <MetadaUnidadeporProduto>();

            string fetch = @"<fetch aggregate='true' no-lock='true' >
                              <entity name='itbc_potencialdosupervisorporproduto' >
                                <attribute name='itbc_potencialplanejado' alias='valor_planejado' aggregate='sum' />
                                <attribute name='itbc_potencialrealizado' alias='valor_realizado' aggregate='sum' />
                                <attribute name='itbc_produtoid' alias='produto' groupby='true' />
                                <attribute name='itbc_qtdeplanejada' alias='quantidade_planejada' aggregate='sum' />
                                <attribute name='itbc_qtderealizada' alias='quantidade_realizada' aggregate='sum' />
                                <filter type='and' >
                                  <condition attribute='itbc_ano' operator='eq' value='{0}' />
                                  <condition attribute='itbc_unidade_negociosid' operator='eq' value='{1}' />
                                  <condition attribute='itbc_trimestre' operator='eq' value='{2}' />
                                </filter>
                                <link-entity name='itbc_potencial_supervisor_subfamilia' from='itbc_potencial_supervisor_subfamiliaid' to='itbc_potencialsupervisorporprodutoid' >
                                  <attribute name='itbc_subfamliadeprodutoid' alias='subfamilia' groupby='true' />
                                </link-entity>
                              </entity>
                            </fetch>";

            fetch = string.Format(fetch, ano, unidadeNegocioId, (int)trimestre);

            var retrieveMultiple = new RetrieveMultipleRequest()
            {
                Query = new FetchExpression(fetch)
            };

            EntityCollection collection = ((RetrieveMultipleResponse)this.Execute(retrieveMultiple)).EntityCollection;

            foreach (var item in collection.Entities)
            {
                var produto    = ((EntityReference)((AliasedValue)item.Attributes["produto"]).Value);
                var subfamilia = ((EntityReference)((AliasedValue)item.Attributes["subfamilia"]).Value);

                var potencial = new MetadaUnidadeporProduto(OrganizationName, IsOffline, Provider)
                {
                    MetaPlanejada = ((Money)((AliasedValue)item.Attributes["valor_planejado"]).Value).Value,
                    MetaRealizada = ((Money)((AliasedValue)item.Attributes["valor_realizado"]).Value).Value,
                    QtdePlanejada = (decimal)((AliasedValue)item.Attributes["quantidade_planejada"]).Value,
                    QtdeRealizada = (decimal)((AliasedValue)item.Attributes["quantidade_realizada"]).Value,
                    Trimestre     = (int)trimestre,
                    Ano           = ano,
                    Produto       = new SDKore.DomainModel.Lookup(produto.Id, produto.Name, produto.LogicalName),
                    Subfamilia    = new SDKore.DomainModel.Lookup(subfamilia.Id, subfamilia.Name, subfamilia.LogicalName)
                };

                lista.Add(potencial);
            }

            return(lista);
        }