public void RetornoDWMetaCanalProdutoDetalhado(int ano, int trimestre) { List <MetadaUnidade> lstMetadaUnidade = RepositoryService.MetadaUnidade.ListarMetas(ano); if (lstMetadaUnidade.Count == 0) { return; } DataTable dtMetaCanalProdDetalhado = RepositoryService.MetaDetalhadadoCanalporProduto.ListarMetaCanalDetalhadoProdutoDW(ano, trimestre, lstMetadaUnidade); foreach (DataRow item in dtMetaCanalProdDetalhado.Rows) { UnidadeNegocio mUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item["CD_Unidade_Negocio"].ToString()); Conta mConta = RepositoryService.Conta.ObterCanal(item["CD_Emitente"].ToString()); SubfamiliaProduto mSubfamiliaProduto = RepositoryService.SubfamiliaProduto.ObterPor(item["CD_subfamilia"].ToString()); Product mProduto = RepositoryService.Produto.ObterPor(item["CD_Item"].ToString()); if (mUnidadeNegocio != null && mConta != null && mSubfamiliaProduto != null && mProduto != null) { MetadoCanalporProduto mMetadoCanalporProduto = RepositoryService.MetadoCanalporProduto .Obterpor(mUnidadeNegocio.ID.Value, mConta.ID.Value, Convert.ToInt32(item["cd_ano"].ToString()), trimestre, mSubfamiliaProduto.ID.Value, mProduto.ID.Value); if (mMetadoCanalporProduto != null) { MetaDetalhadadoCanalporProduto mMetaDetalhadadoCanalporProduto = RepositoryService.MetaDetalhadadoCanalporProduto.Obter(Convert.ToInt32(item["cd_ano"].ToString()), Helper.TrimestreAtual()[1], Convert.ToInt32(item["cd_mes"].ToString()), mConta.ID.Value, mMetadoCanalporProduto.ID.Value, mProduto.ID.Value); if (mMetaDetalhadadoCanalporProduto != null) { mMetaDetalhadadoCanalporProduto.MetaRealizada = decimal.Parse(item["vlr"].ToString()); mMetaDetalhadadoCanalporProduto.QtdeRealizada = decimal.Parse(item["qtde"].ToString()); RepositoryService.MetaDetalhadadoCanalporProduto.Update(mMetaDetalhadadoCanalporProduto); } } } } }
public void Criar(Model.MetadoCanalporProduto mMetadoCanalporProduto) { Model.MetaDetalhadadoCanalporProduto mMetaDetalhadadoCanalporProduto; switch (mMetadoCanalporProduto.Trimestre) { case (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre1: #region 1º Trimestre foreach (var mes in System.Enum.GetValues(typeof(Domain.Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre1))) { mMetaDetalhadadoCanalporProduto = new MetaDetalhadadoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); mMetaDetalhadadoCanalporProduto.MetadoCanalporProduto = new Lookup(mMetadoCanalporProduto.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.MetadoCanalporProduto>()); mMetaDetalhadadoCanalporProduto.Ano = mMetadoCanalporProduto.Ano; mMetaDetalhadadoCanalporProduto.Canal = new Lookup(mMetadoCanalporProduto.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Conta>()); mMetaDetalhadadoCanalporProduto.Mes = (int)mes; mMetaDetalhadadoCanalporProduto.Trimestre = mMetadoCanalporProduto.Trimestre; mMetaDetalhadadoCanalporProduto.Produto = new Lookup(mMetadoCanalporProduto.Produto.Id, SDKore.Crm.Util.Utility.GetEntityName <Product>()); mMetaDetalhadadoCanalporProduto.Nome = mMetadoCanalporProduto.Nome; RepositoryService.MetaDetalhadadoCanalporProduto.Create(mMetaDetalhadadoCanalporProduto); } #endregion break; case (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre2: #region 2º Trimestre foreach (var mes in System.Enum.GetValues(typeof(Domain.Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre2))) { mMetaDetalhadadoCanalporProduto = new Model.MetaDetalhadadoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); mMetaDetalhadadoCanalporProduto.MetadoCanalporProduto = new Lookup(mMetadoCanalporProduto.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodoCanalporProduto>()); mMetaDetalhadadoCanalporProduto.Ano = mMetadoCanalporProduto.Ano; mMetaDetalhadadoCanalporProduto.Canal = new Lookup(mMetadoCanalporProduto.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>()); mMetaDetalhadadoCanalporProduto.Mes = (int)mes; mMetaDetalhadadoCanalporProduto.Trimestre = mMetadoCanalporProduto.Trimestre; mMetaDetalhadadoCanalporProduto.Produto = new Lookup(mMetadoCanalporProduto.Produto.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Product>()); mMetaDetalhadadoCanalporProduto.Nome = mMetadoCanalporProduto.Nome; RepositoryService.MetaDetalhadadoCanalporProduto.Create(mMetaDetalhadadoCanalporProduto); } #endregion break; case (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre3: #region 3º Trimestre foreach (var mes in System.Enum.GetValues(typeof(Domain.Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre3))) { mMetaDetalhadadoCanalporProduto = new Model.MetaDetalhadadoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); mMetaDetalhadadoCanalporProduto.MetadoCanalporProduto = new Lookup(mMetadoCanalporProduto.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodoCanalporProduto>()); mMetaDetalhadadoCanalporProduto.Ano = mMetadoCanalporProduto.Ano; mMetaDetalhadadoCanalporProduto.Mes = (int)mes; mMetaDetalhadadoCanalporProduto.Canal = new Lookup(mMetadoCanalporProduto.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>()); mMetaDetalhadadoCanalporProduto.Trimestre = mMetadoCanalporProduto.Trimestre; mMetaDetalhadadoCanalporProduto.Produto = new Lookup(mMetadoCanalporProduto.Produto.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Product>()); mMetaDetalhadadoCanalporProduto.Nome = mMetadoCanalporProduto.Nome; RepositoryService.MetaDetalhadadoCanalporProduto.Create(mMetaDetalhadadoCanalporProduto); } #endregion break; case (int)Enum.OrcamentodaUnidade.Trimestres.Trimestre4: #region 4º Trimestre foreach (var mes in System.Enum.GetValues(typeof(Domain.Enum.OrcamentodaUnidadeDetalhadoporProduto.Trimestre4))) { mMetaDetalhadadoCanalporProduto = new Model.MetaDetalhadadoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); mMetaDetalhadadoCanalporProduto.MetadoCanalporProduto = new Lookup(mMetadoCanalporProduto.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodoCanalporProduto>()); mMetaDetalhadadoCanalporProduto.Ano = mMetadoCanalporProduto.Ano; mMetaDetalhadadoCanalporProduto.Mes = (int)mes; mMetaDetalhadadoCanalporProduto.Canal = new Lookup(mMetadoCanalporProduto.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Conta>()); mMetaDetalhadadoCanalporProduto.Trimestre = mMetadoCanalporProduto.Trimestre; mMetaDetalhadadoCanalporProduto.Produto = new Lookup(mMetadoCanalporProduto.Produto.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Product>()); mMetaDetalhadadoCanalporProduto.Nome = mMetadoCanalporProduto.Nome; RepositoryService.MetaDetalhadadoCanalporProduto.Create(mMetaDetalhadadoCanalporProduto); } #endregion break; } }
public void CriarManual(MetadoCanal mMetadoCanal, Trimestre trimestre) { try { MetaDetalhadadoCanalporProduto mMetaDetalhadadoCanalporProduto; mMetaDetalhadadoCanalporProduto = RepositoryService.MetaDetalhadadoCanalporProduto.ListarPorManual(mMetadoCanal.Canal.Id, (int)trimestre.Mes1); if (mMetaDetalhadadoCanalporProduto == null) { mMetaDetalhadadoCanalporProduto = new MetaDetalhadadoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); } mMetaDetalhadadoCanalporProduto.Ano = mMetadoCanal.Ano; mMetaDetalhadadoCanalporProduto.Trimestre = (int)trimestre.trimestre; mMetaDetalhadadoCanalporProduto.Mes = (int)trimestre.Mes1; mMetaDetalhadadoCanalporProduto.MetaPlanejada = trimestre.Mes1Vlr.HasValue ? trimestre.Mes1Vlr.Value : 0; mMetaDetalhadadoCanalporProduto.Canal = new Lookup(mMetadoCanal.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Conta>()); mMetaDetalhadadoCanalporProduto.MetadoCanal = new Lookup(mMetadoCanal.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <MetadoCanal>()); mMetaDetalhadadoCanalporProduto.MetadoCanal = mMetadoCanal.UnidadedeNegocio; if (!mMetaDetalhadadoCanalporProduto.ID.HasValue) { RepositoryService.MetaDetalhadadoCanalporProduto.Create(mMetaDetalhadadoCanalporProduto); } else { RepositoryService.MetaDetalhadadoCanalporProduto.Update(mMetaDetalhadadoCanalporProduto); } mMetaDetalhadadoCanalporProduto = RepositoryService.MetaDetalhadadoCanalporProduto.ListarPorManual(mMetadoCanal.Canal.Id, (int)trimestre.Mes2); if (mMetaDetalhadadoCanalporProduto == null) { mMetaDetalhadadoCanalporProduto = new MetaDetalhadadoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); } mMetaDetalhadadoCanalporProduto.Ano = mMetadoCanal.Ano; mMetaDetalhadadoCanalporProduto.Trimestre = (int)trimestre.trimestre; mMetaDetalhadadoCanalporProduto.Mes = (int)trimestre.Mes2; mMetaDetalhadadoCanalporProduto.MetaPlanejada = trimestre.Mes2Vlr.HasValue ? trimestre.Mes2Vlr : 0; mMetaDetalhadadoCanalporProduto.Canal = new Lookup(mMetadoCanal.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Conta>()); mMetaDetalhadadoCanalporProduto.MetadoCanal = new Lookup(mMetadoCanal.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <MetadoCanal>()); mMetaDetalhadadoCanalporProduto.MetadoCanal = mMetadoCanal.UnidadedeNegocio; if (!mMetaDetalhadadoCanalporProduto.ID.HasValue) { RepositoryService.MetaDetalhadadoCanalporProduto.Create(mMetaDetalhadadoCanalporProduto); } else { RepositoryService.MetaDetalhadadoCanalporProduto.Update(mMetaDetalhadadoCanalporProduto); } mMetaDetalhadadoCanalporProduto = RepositoryService.MetaDetalhadadoCanalporProduto.ListarPorManual(mMetadoCanal.Canal.Id, (int)trimestre.Mes3); if (mMetaDetalhadadoCanalporProduto == null) { mMetaDetalhadadoCanalporProduto = new MetaDetalhadadoCanalporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline); } mMetaDetalhadadoCanalporProduto.Ano = mMetadoCanal.Ano; mMetaDetalhadadoCanalporProduto.Trimestre = (int)trimestre.trimestre; mMetaDetalhadadoCanalporProduto.Mes = (int)trimestre.Mes3; mMetaDetalhadadoCanalporProduto.MetaPlanejada = trimestre.Mes3Vlr.HasValue ? trimestre.Mes3Vlr : 0; mMetaDetalhadadoCanalporProduto.Canal = new Lookup(mMetadoCanal.Canal.Id, SDKore.Crm.Util.Utility.GetEntityName <Conta>()); mMetaDetalhadadoCanalporProduto.MetadoCanal = new Lookup(mMetadoCanal.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <MetadoCanal>()); mMetaDetalhadadoCanalporProduto.MetadoCanal = mMetadoCanal.UnidadedeNegocio; if (!mMetaDetalhadadoCanalporProduto.ID.HasValue) { RepositoryService.MetaDetalhadadoCanalporProduto.Create(mMetaDetalhadadoCanalporProduto); } else { RepositoryService.MetaDetalhadadoCanalporProduto.Update(mMetaDetalhadadoCanalporProduto); } } catch (Exception ex) { throw new ArgumentException("(CRM) Ocorreu erro ao gerar Detalhe meta manual, contate o administrator.", ex); } }