public void Criar(Guid orcamentounidadeId, OrcamentodaUnidadeporSubFamilia mOrcamentodaUnidadeporSubFamilia, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado, Guid subfamiliaId, Guid orcamentosegmentoid) { OrcamentodaUnidadeporProduto mOrcamentodaUnidadeporProduto = null; OrcamentodaUnidadeporProduto mOrcUnidadeProduto = null; var lstOrcamentoporSegSubFamilia = (from x in lstOrcamentoDetalhado group x by string.Format("{0}/{1}/{2}/{3}", x.Segmento.Id, x.Familia.Id, x.SubFamilia.Id, x.Produto.Id)); foreach (var OrcaProduto in lstOrcamentoporSegSubFamilia) { if (OrcaProduto.First().Produto.Id != Guid.Empty) { mOrcUnidadeProduto = RepositoryService.OrcamentodaUnidadeporProduto.ObterOrcamentoporProduto(OrcaProduto.First().Produto.Id, mOrcamentodaUnidadeporSubFamilia.ID.Value); if (mOrcUnidadeProduto == null) { #region mOrcamentodaUnidadeporProduto = new OrcamentodaUnidadeporProduto(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); mOrcamentodaUnidadeporProduto.ID = Guid.NewGuid(); mOrcamentodaUnidadeporProduto.Ano = mOrcamentodaUnidadeporSubFamilia.Ano; mOrcamentodaUnidadeporProduto.Trimestre = mOrcamentodaUnidadeporSubFamilia.Trimestre; mOrcamentodaUnidadeporProduto.Produto = new Lookup(OrcaProduto.First().Produto.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Product>()); mOrcamentodaUnidadeporProduto.OrcamentoporSubFamilia = new Lookup(mOrcamentodaUnidadeporSubFamilia.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodaUnidadeporSubFamilia>()); mOrcamentodaUnidadeporProduto.Nome = OrcaProduto.First().Produto.Name; //mOrcamentodaUnidadeporProduto.UnidadeNegocio = new Lookup(mOrcamentodaUnidadeporSubFamilia.UnidadedeNegocio.Id, SDKore.Crm.Util.Utility.GetEntityName<Model.UnidadeNegocio>()); RepositoryService.OrcamentodaUnidadeporProduto.Create(mOrcamentodaUnidadeporProduto); ServiceOrcamentodaUnidadeDetalhadoporProduto.Criar(mOrcamentodaUnidadeporProduto); #endregion } } } }
public void Criar(Guid orcamentounidadeId, OrcamentodaUnidadeporFamilia mOrcamentodaUnidadeporSegFamilia, List <Model.OrcamentoDetalhado> lstOrcamentoDetalhado, Guid familiaId) { var lstOrcamentoporSegSubFamilia = (from x in lstOrcamentoDetalhado group x by string.Format("{0}/{1}/{2}", x.Segmento.Id, x.Familia.Id, x.SubFamilia.Id)); foreach (var OrcaSegSubFamilia in lstOrcamentoporSegSubFamilia) { OrcamentodaUnidadeporSubFamilia mOrcamentodaUnidadeporSubFamilia; mOrcamentodaUnidadeporSubFamilia = RepositoryService.OrcamentodaUnidadeporSubFamilia.ObterOrcamentoSubFamilia(OrcaSegSubFamilia.First().SubFamilia.Id, mOrcamentodaUnidadeporSegFamilia.ID.Value); if (mOrcamentodaUnidadeporSubFamilia == null) { mOrcamentodaUnidadeporSubFamilia = new OrcamentodaUnidadeporSubFamilia(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); mOrcamentodaUnidadeporSubFamilia.ID = Guid.NewGuid(); mOrcamentodaUnidadeporSubFamilia.UnidadedeNegocio = mOrcamentodaUnidadeporSegFamilia.UnidadedeNegocio; mOrcamentodaUnidadeporSubFamilia.Ano = mOrcamentodaUnidadeporSegFamilia.Ano; mOrcamentodaUnidadeporSubFamilia.Trimestre = mOrcamentodaUnidadeporSegFamilia.Trimestre; mOrcamentodaUnidadeporSubFamilia.Segmento = new Lookup(OrcaSegSubFamilia.First().Segmento.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.Segmento>()); mOrcamentodaUnidadeporSubFamilia.FamiliadeProduto = new Lookup(OrcaSegSubFamilia.First().Familia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.FamiliaProduto>()); mOrcamentodaUnidadeporSubFamilia.SubFamilia = new Lookup(OrcaSegSubFamilia.First().SubFamilia.Id, SDKore.Crm.Util.Utility.GetEntityName <Model.SubfamiliaProduto>()); mOrcamentodaUnidadeporSubFamilia.OrcamentoporFamilia = new Lookup(mOrcamentodaUnidadeporSegFamilia.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <Model.OrcamentodaUnidadeporFamilia>()); mOrcamentodaUnidadeporSubFamilia.Nome = (mOrcamentodaUnidadeporSegFamilia.Nome + " - " + OrcaSegSubFamilia.First().SubFamilia.Name).Length > 99 ? (mOrcamentodaUnidadeporSegFamilia.Nome + " - " + OrcaSegSubFamilia.First().SubFamilia.Name).Substring(1, 99) : (mOrcamentodaUnidadeporSegFamilia.Nome + " - " + OrcaSegSubFamilia.First().SubFamilia.Name); RepositoryService.OrcamentodaUnidadeporSubFamilia.Create(mOrcamentodaUnidadeporSubFamilia); } ServiceOrcamentodaUnidadeporProduto.Criar(orcamentounidadeId, mOrcamentodaUnidadeporSubFamilia, OrcaSegSubFamilia.ToList(), OrcaSegSubFamilia.First().SubFamilia.Id, mOrcamentodaUnidadeporSegFamilia.OrcamentoporSegmento.Id); } }
public void RetornoDWTrimestreSubFamilia(int ano, int trimestre) { List <OrcamentodaUnidade> lstOrcamentodaUnidade = RepositoryService.OrcamentodaUnidade.ListarOrcamentos(ano); if (lstOrcamentodaUnidade.Count == 0) { return; } DataTable dtOrcamentoTrimestreSeg = RepositoryService.OrcamentodaUnidadeporSubFamilia.ListarOrcamentoSubFamiliaDW(ano, trimestre, lstOrcamentodaUnidade); foreach (DataRow item in dtOrcamentoTrimestreSeg.Rows) { UnidadeNegocio mUnidadeNegocio = RepositoryService.UnidadeNegocio.ObterPorChaveIntegracao(item["CD_Unidade_Negocio"].ToString()); Segmento mSegmento = RepositoryService.Segmento.ObterPor(item["cd_segmento"].ToString()); FamiliaProduto mFamiliaProduto = RepositoryService.FamiliaProduto.ObterPor(item["CD_familia"].ToString()); SubfamiliaProduto mSubfamiliaProduto = RepositoryService.SubfamiliaProduto.ObterPor(item["CD_subfamilia"].ToString()); if (mUnidadeNegocio != null && mSegmento != null && mFamiliaProduto != null && mSubfamiliaProduto != null) { OrcamentodaUnidadeporSubFamilia mOrcamentodaUnidadeporSubFamilia = RepositoryService.OrcamentodaUnidadeporSubFamilia .ObterPorSubFamiliaTrimestreUnidade(mUnidadeNegocio.ID.Value, ano, trimestre, mSegmento.ID.Value, mFamiliaProduto.ID.Value, mSubfamiliaProduto.ID.Value); if (mOrcamentodaUnidadeporSubFamilia != null) { mOrcamentodaUnidadeporSubFamilia.OrcamentoRealizado = decimal.Parse(item["vlr"].ToString()); RepositoryService.OrcamentodaUnidadeporSubFamilia.Update(mOrcamentodaUnidadeporSubFamilia); } } } }
public void Calcular(OrcamentodaUnidadeporSubFamilia mOrcamentodaUnidadeporSubFamilia, OrcamentoDetalhado mOrcamentoDetalhado) { OrcamentodaUnidadeporProduto mOrcamentodaUnidadeporProduto = RepositoryService.OrcamentodaUnidadeporProduto.ObterOrcamentoporProduto(mOrcamentoDetalhado.ProdutoID.Value, mOrcamentodaUnidadeporSubFamilia.ID.Value); mOrcamentodaUnidadeporProduto.OrcamentoPlanejado = mOrcamentoDetalhado.Trimestre1.Mes1Vlr.Value + mOrcamentoDetalhado.Trimestre1.Mes2Vlr.Value + mOrcamentoDetalhado.Trimestre1.Mes3Vlr.Value; mOrcamentodaUnidadeporProduto.QtdePlanejada = mOrcamentoDetalhado.Trimestre1.Mes1Qtde.Value + mOrcamentoDetalhado.Trimestre1.Mes2Qtde.Value + mOrcamentoDetalhado.Trimestre1.Mes3Qtde.Value; //RepositoryService.OrcamentodaUnidadeporProduto.Update(mOrcamentodaUnidadeporProduto); }
public void Atualizar(OrcamentoDetalhado mOrcamentoDetalhado, OrcamentodaUnidadeporSubFamilia mOrcUnidporSubFamilia, Trimestre trimestre) { decimal valor = 0; int quantidade = 0; OrcamentodaUnidadeporProduto mOrcamentodaUnidadeporProduto = RepositoryService.OrcamentodaUnidadeporProduto.ObterOrcamentoporProduto(mOrcamentoDetalhado.ProdutoID.Value, mOrcUnidporSubFamilia.ID.Value); mOrcamentodaUnidadeporProduto.OrcamentoPlanejado = trimestre.Mes1Vlr.Value + trimestre.Mes2Vlr.Value + trimestre.Mes3Vlr.Value; mOrcamentodaUnidadeporProduto.QtdePlanejada = trimestre.Mes1Qtde.Value + trimestre.Mes2Qtde.Value + trimestre.Mes3Qtde.Value; ServiceOrcamentodaUnidadeDetalhadoporProduto.Calcular(mOrcamentodaUnidadeporProduto, trimestre, ref valor, ref quantidade); RepositoryService.OrcamentodaUnidadeporProduto.Update(mOrcamentodaUnidadeporProduto); }
public void Calcular(OrcamentodaUnidadeporFamilia mOrcamentodaUnidadeporFamilia, OrcamentoDetalhado mOrcamentoDetalhado) { OrcamentodaUnidadeporSubFamilia mOrcamentodaUnidadeporSubFamilia = RepositoryService.OrcamentodaUnidadeporSubFamilia.ObterOrcamentoSubFamilia(mOrcamentoDetalhado.SubFamiliaID.Value, mOrcamentodaUnidadeporFamilia.ID.Value); ServiceOrcamentodaUnidadeporProduto.Calcular(mOrcamentodaUnidadeporSubFamilia, mOrcamentoDetalhado); }