public void Criar(PotencialdoKARepresentante mPotencialdoKARepresentante, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado) { int numTrimestreFormatado = 0; PotencialdoKAporTrimestre mPotencialdoKAporTrimestre; for (int cont = 1; cont <= 4; cont++) { #region monta trimeste switch (cont) { case 1: numTrimestreFormatado = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre1; break; case 2: numTrimestreFormatado = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre2; break; case 3: numTrimestreFormatado = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre3; break; case 4: numTrimestreFormatado = (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre4; break; } #endregion Console.WriteLine("Trimestre " + (int)numTrimestreFormatado + " em " + cont + "/ " + cont + " as " + DateTime.Now.ToString()); mPotencialdoKAporTrimestre = RepositoryService.PotencialdoKAporTrimestre.ObterPor(mPotencialdoKARepresentante.ID.Value, mPotencialdoKARepresentante.KeyAccountRepresentante.Id, numTrimestreFormatado); if (mPotencialdoKAporTrimestre == null) { mPotencialdoKAporTrimestre = new PotencialdoKAporTrimestre(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); mPotencialdoKAporTrimestre.ID = Guid.NewGuid(); mPotencialdoKAporTrimestre.Nome = "Trimestre " + numTrimestreFormatado + " / " + mPotencialdoKARepresentante.Ano + " - Unidade de Negocio " + mPotencialdoKARepresentante.UnidadedeNegocio.Name; mPotencialdoKAporTrimestre.UnidadedeNegocio = mPotencialdoKARepresentante.UnidadedeNegocio; mPotencialdoKAporTrimestre.Ano = mPotencialdoKARepresentante.Ano; mPotencialdoKAporTrimestre.Trimestre = numTrimestreFormatado; mPotencialdoKAporTrimestre.PotencialdoKARepresentante = new Lookup(mPotencialdoKARepresentante.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.PotencialdoKARepresentante>()); RepositoryService.PotencialdoKAporTrimestre.Create(mPotencialdoKAporTrimestre); } ServicePotencialdoKAporSegmento.Criar(mPotencialdoKAporTrimestre, lstOrcamentoDetalhado, mPotencialdoKARepresentante.KeyAccountRepresentante.Id, numTrimestreFormatado); } }
public List <PotencialdoKARepresentante> ListarValoresPorUnidadeNegocio(Guid unidadeNegocioId, int ano) { var lista = new List <PotencialdoKARepresentante>(); string fetch = @"<fetch aggregate='true' no-lock='true' returntotalrecordcount='true' > <entity name='itbc_metatrimestreka' > <attribute name='itbc_metaplanejada' alias='valor_planejado' aggregate='sum' /> <attribute name='itbc_metarealizada' alias='valor_realizado' aggregate='sum' /> <link-entity name='itbc_metakeyaccount' from='itbc_metakeyaccountid' to='itbc_metadokarepresentanteid' alias='ka' > <attribute name='itbc_metakeyaccountid' alias='id' groupby='true' /> <filter type='and' > <condition attribute='itbc_ano' operator='eq' value='{0}' /> <condition attribute='itbc_unidadedenegocioid' operator='eq' value='{1}' /> </filter> </link-entity> </entity> </fetch>"; fetch = string.Format(fetch, ano, unidadeNegocioId); var retrieveMultiple = new RetrieveMultipleRequest() { Query = new FetchExpression(fetch) }; EntityCollection collection = ((RetrieveMultipleResponse)this.Execute(retrieveMultiple)).EntityCollection; foreach (var item in collection.Entities) { var potencialRepresentante = new PotencialdoKARepresentante(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(potencialRepresentante); } return(lista); }