public void InsereProdutosporFamiliaComercial(string politicaComercialId, string familiasIds, int qtdIni, int qtdFin, double Fator) { try { FamiliaComercialService fcs = new FamiliaComercialService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); List <Product> produtos = fcs.ProdutosPorFamilias(familiasIds); PoliticaComercial InfoPoliticaComercial = RepositoryService.PoliticaComercial.Retrieve(new Guid(politicaComercialId)); foreach (Product produto in produtos) { ProdutoPoliticaComercial prodPolCom = new ProdutoPoliticaComercial(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider); prodPolCom.Produto = new Lookup((Guid)produto.ID, ""); prodPolCom.QtdInicial = qtdIni; prodPolCom.QtdFinal = qtdFin; prodPolCom.Nome = InfoPoliticaComercial.Nome + " - " + produto.Nome; if (produto.FamiliaProduto != null) { prodPolCom.FamiliaProduto = new Lookup(produto.FamiliaProduto.Id, ""); } prodPolCom.PoliticaComercial = new Lookup(new Guid(politicaComercialId), ""); prodPolCom.Fator = Fator; prodPolCom.DataInicioVigencia = InfoPoliticaComercial.DataInicio; prodPolCom.DataFimVigencia = InfoPoliticaComercial.DataFim; RepositoryService.ProdutoPoliticaComercial.Create(prodPolCom); } } catch (Exception ex) { //trace.Trace(String.Format("EXCEPTION PLUGIN {0} {1} [{2}]", context.MessageName.ToLower(), "Account", DateTime.Now)); //trace.Trace(SDKore.Helper.Error.GetMessageError(ex)); throw new ArgumentException(ex.Message); } }
public bool VerificarExistenciaPoliticaComercial(PoliticaComercial politicaComercial) { List <PoliticaComercial> lstPoliticaComercial; if (politicaComercial.AplicarPoliticaPara.Value == (int)Enum.PoliticaComercial.AplicarPolíticaPara.PerfilDeCanais) { if (politicaComercial.Estabelecimento == null || !politicaComercial.ID.HasValue || politicaComercial.UnidadeNegocio == null || politicaComercial.Classificacao == null || politicaComercial.Categoria == null || !politicaComercial.TipoDePolitica.HasValue || !politicaComercial.DataInicio.HasValue || !politicaComercial.DataFim.HasValue) { throw new ArgumentException("Campos incompletos no formulário, preencha corretamente."); } lstPoliticaComercial = RepositoryService.PoliticaComercial.ListarPor(politicaComercial.Estabelecimento.Id, politicaComercial.ID, politicaComercial.UnidadeNegocio.Id, politicaComercial.Classificacao.Id, politicaComercial.Categoria.Id, politicaComercial.TipoDePolitica.Value, politicaComercial.DataInicio.Value, politicaComercial.DataFim.Value); if (lstPoliticaComercial.Count() > 0) { return(true); } } return(false); }
/// <summary> /// Retorna true para registro duplicado e false para nao /// </summary> /// <param name="IgnorarPoliticaPropria">True ignora o uso da politica propria e false não ignora</param> /// <returns></returns> public bool VerificarDuplicidadePoliticaRegistros(PoliticaComercial politicaComercial, List <Guid> lstRegistros, string tipoDuplicidade, Boolean IgnorarPoliticaPropria) { Guid?politicaId = IgnorarPoliticaPropria ? null : politicaComercial.ID; switch (tipoDuplicidade) { case "estado": if (!politicaComercial.TipoDePolitica.HasValue || !politicaComercial.AplicarPoliticaPara.HasValue || politicaComercial.Estabelecimento == null || politicaComercial.UnidadeNegocio == null || !politicaComercial.DataInicio.HasValue || !politicaComercial.DataFim.HasValue || politicaComercial.Classificacao == null || politicaComercial.Categoria == null || lstRegistros.Count == 0) { throw new ArgumentException("(CRM) Dados incompletos.Necessário o preenchimento dos campos Tipo de Política,Aplicar Política Para,Estabelecimento,Unidade de Negócio,Classificação,Categoria"); } if (RepositoryService.PoliticaComercial.ListarPorEstado(politicaId, politicaComercial.TipoDePolitica.Value, politicaComercial.AplicarPoliticaPara.Value, politicaComercial.Estabelecimento.Id, politicaComercial.UnidadeNegocio.Id, politicaComercial.Classificacao.Id, politicaComercial.Categoria.Id, lstRegistros, politicaComercial.DataInicio.Value, politicaComercial.DataFim.Value).Count > 0) { return(true); } break; case "conta": if (!politicaComercial.TipoDePolitica.HasValue || !politicaComercial.AplicarPoliticaPara.HasValue || politicaComercial.Estabelecimento == null || politicaComercial.UnidadeNegocio == null || !politicaComercial.DataInicio.HasValue || !politicaComercial.DataFim.HasValue || lstRegistros.Count == 0) { throw new ArgumentException("(CRM) Dados incompletos.Necessário o preenchimento dos campos Tipo de Política,Aplicar Política Para,Estabelecimento,Unidade de Negócio"); } if (RepositoryService.PoliticaComercial.ListarPor(politicaId, politicaComercial.TipoDePolitica.Value, politicaComercial.AplicarPoliticaPara.Value, politicaComercial.Estabelecimento.Id, politicaComercial.UnidadeNegocio.Id, lstRegistros, politicaComercial.DataInicio.Value, politicaComercial.DataFim.Value).Count > 0) { return(true); } break; } return(false); }