private void InativarBeneficiosECompromissosPorCanaleUnidadeDeNegocios(CategoriasCanal categoriaDoCanal, Conta canal) { var lstBeneficiosDoCanal = this.RepositoryService.BeneficioDoCanal.ListarPorContaUnidadeNegocio(canal.ID.Value, categoriaDoCanal.UnidadeNegocios.Id); var lstCompromissosDoCanal = this.RepositoryService.CompromissosDoCanal.ListarPorContaUnidade(canal.ID.Value, categoriaDoCanal.UnidadeNegocios.Id); foreach (var beneficioDoCanal in lstBeneficiosDoCanal) { if (!beneficioDoCanal.VerbaBrutaPeriodoAtual.HasValue || beneficioDoCanal.VerbaBrutaPeriodoAtual.Value == 0) { if (beneficioDoCanal.Status.Value == (int)Enum.BeneficioDoCanal.StateCode.Ativo) { this.RepositoryService.BeneficioDoCanal.AtualizarStatus(beneficioDoCanal.ID.Value, (int)Enum.BeneficioDoCanal.StateCode.Inativo, (int)Enum.BeneficioDoCanal.StatusCode.Inativo); } } else { beneficioDoCanal.AcumulaVerba = false; this.RepositoryService.BeneficioDoCanal.Update(beneficioDoCanal); } } foreach (var compromissoDoCanal in lstCompromissosDoCanal) { if (compromissoDoCanal.Status == (int)Enum.CompromissoCanal.Status.Ativo) { this.RepositoryService.CompromissosDoCanal.AtualizarStatus(compromissoDoCanal.ID.Value, (int)Enum.CompromissoCanal.StateCode.Inativo, (int)Enum.CompromissoCanal.Status.Desativado); } } }
private Intelbras.Message.Helper.MSG0122 DefinirPropriedades(CategoriasCanal crm) { Intelbras.Message.Helper.MSG0122 xml = new Pollux.MSG0122(Domain.Enum.Sistemas.RetornaSistema(Domain.Enum.Sistemas.Sistema.CRM), Helper.Truncate(crm.Nome, 40)); xml.CodigoCategoriaCanal = crm.ID.ToString(); xml.Nome = crm.Nome; UnidadeNegocio unidade = new Servicos.UnidadeNegocioService(this.Organizacao, this.IsOffline).BuscaUnidadeNegocio(crm.UnidadeNegocios.Id); if (unidade != null) { xml.UnidadeNegocio = unidade.ChaveIntegracao; } xml.Conta = crm.Canal.Id.ToString(); //Categoria categ = new Servicos.CategoriaService(this.Organizacao, this.IsOffline).IntegracaoBarramento xml.Categoria = crm.Categoria.Id.ToString(); xml.Classificacao = crm.Classificacao.Id.ToString(); xml.SubClassificacao = crm.SubClassificacao.Id.ToString(); xml.Situacao = (crm.Status.HasValue ? crm.Status.Value : 0); xml.Proprietario = "259A8E4F-15E9-E311-9420-00155D013D39"; xml.TipoProprietario = "systemuser"; return(xml); }
public void InativarCategoriaDoCanal(CategoriasCanal categoriaDoCanal) { if (this.CanalEhFilialEApuracaoCentralizadaNaMatrizOuMatrizNaoPossuiACategoria(categoriaDoCanal)) { return; } var canal = this.RepositoryService.Conta.Retrieve(categoriaDoCanal.Canal.Id); // Se Matriz e Apuração centralizada na Matriz if ((canal.TipoConta.HasValue && canal.TipoConta.Value == (int)Enum.Conta.MatrizOuFilial.Matriz) && (canal.ApuracaoBeneficiosCompromissos.HasValue && canal.ApuracaoBeneficiosCompromissos.Value == (int)Enum.Conta.ApuracaoDeBeneficiosECompromissos.Centralizada_Na_Matriz)) { this.InativarBeneficiosECompromissosPorCanaleUnidadeDeNegocios(categoriaDoCanal, canal); // Inativa a categoria nas Filiais. var lstFilias = this.RepositoryService.Conta.ListarContasFiliaisPorMatriz(canal.ID.Value); foreach (var filial in lstFilias) { var lstCategoriasDaFilial = this.ListarPor(filial.ID.Value, categoriaDoCanal.UnidadeNegocios.Id); foreach (var categoriaDaFilial in lstCategoriasDaFilial) { if (categoriaDaFilial.Status.Value == (int)Enum.CategoriaCanal.StateCode.Ativado) { this.RepositoryService.CategoriasCanal.AtualizarStatus(categoriaDaFilial.ID.Value, (int)Enum.CategoriaCanal.StateCode.Desativado, (int)Enum.CategoriaCanal.StatusCode.Inativo); } } } return; } // Se Matriz e Apuração por filial if ((canal.TipoConta.HasValue && canal.TipoConta.Value == (int)Enum.Conta.MatrizOuFilial.Matriz) && (canal.ApuracaoBeneficiosCompromissos.HasValue && canal.ApuracaoBeneficiosCompromissos.Value == (int)Enum.Conta.ApuracaoDeBeneficiosECompromissos.Por_Filiais)) { this.InativarBeneficiosECompromissosPorCanaleUnidadeDeNegocios(categoriaDoCanal, canal); } // Se Filial e Apuração por filial if ((canal.TipoConta.HasValue && canal.TipoConta.Value == (int)Enum.Conta.MatrizOuFilial.Filial) && (canal.ApuracaoBeneficiosCompromissos.HasValue && canal.ApuracaoBeneficiosCompromissos.Value == (int)Enum.Conta.ApuracaoDeBeneficiosECompromissos.Por_Filiais)) { this.InativarBeneficiosECompromissosPorCanaleUnidadeDeNegocios(categoriaDoCanal, canal); } }
public Lookup ObterCategoriaPrincipalDoCanal(Conta canal) { List <CategoriasCanal> listaCategorias = RepositoryService.CategoriasCanal.ListarPor(canal); if (listaCategorias.Count > 0) { CategoriasCanal categoriaPrincipal = listaCategorias.First(); if (categoriaPrincipal.Categoria.Name == "Ouro") { return(categoriaPrincipal.Categoria); } ObterCategoriaPrincipal(listaCategorias, ref categoriaPrincipal); return(categoriaPrincipal.Categoria); } else { return(null); } }
public string Enviar(CategoriasCanal objModel) { string resposta; Intelbras.Message.Helper.MSG0122 mensagem = DefinirPropriedades(objModel); Domain.Servicos.Integracao integracao = new Servicos.Integracao(this.Organizacao, this.IsOffline); if (integracao.EnviarMensagemBarramento(mensagem.GenerateMessage(true), "1", "1", out resposta)) { Intelbras.Message.Helper.MSG0122R1 retorno = CarregarMensagem <Pollux.MSG0122R1>(resposta); if (!retorno.Resultado.Sucesso) { throw new Exception(retorno.Resultado.Mensagem); } } else { Intelbras.Message.Helper.ERR0001 erro001 = CarregarMensagem <Pollux.ERR0001>(resposta); throw new Exception(erro001.GenerateMessage(false)); } return(resposta); }
private void ObterCategoriaPrincipal(List <CategoriasCanal> listaCategoriasDoCanal, ref CategoriasCanal categoriaPrincipal) { foreach (var item in listaCategoriasDoCanal) { item.Categoria.Name = EnumerarCategoria(item.Categoria.Name); } var IsNumber = new Regex("^[0-9]"); foreach (var novo in listaCategoriasDoCanal) { if (IsNumber.IsMatch(novo.Categoria.Name)) { if (Convert.ToInt32(categoriaPrincipal.Categoria.Name) < Convert.ToInt32(novo.Categoria.Name)) { categoriaPrincipal = novo; } } } categoriaPrincipal.Categoria.Name = EnumerarCategoria(categoriaPrincipal.Categoria.Name, true); }
/// <summary> /// Verifica se o canal da categoria de canal /// </summary> /// <param name="categoriasCanal"></param> /// <returns></returns> public bool CanalEhFilialEApuracaoCentralizadaNaMatrizOuMatrizNaoPossuiACategoria(CategoriasCanal categoriasCanal) { if (categoriasCanal.Canal == null || categoriasCanal.Canal.Id == Guid.Empty) { return(false); } var canal = this.RepositoryService.Conta.Retrieve(categoriasCanal.Canal.Id); if (!canal.TipoConta.HasValue || !canal.ApuracaoBeneficiosCompromissos.HasValue) { return(false); } if (canal.ParticipantePrograma == (int)Enum.Conta.ParticipaDoPrograma.Sim && canal.TipoConta.Value == (int)Enum.Conta.MatrizOuFilial.Filial && canal.ApuracaoBeneficiosCompromissos.Value == (int)Enum.Conta.ApuracaoDeBeneficiosECompromissos.Centralizada_Na_Matriz) { // Verifica se Existe a mesma categoria de canal na Matriz if (canal.ContaPrimaria != null) { var categoriaNaMatriz = this.RepositoryService.CategoriasCanal.ListarPor(canal.ContaPrimaria.Id, categoriasCanal.UnidadeNegocios.Id, categoriasCanal.Classificacao.Id, categoriasCanal.SubClassificacao.Id, categoriasCanal.Categoria.Id); if (categoriaNaMatriz == null || categoriaNaMatriz.Count == 0) { return(false); } } return(true); } return(false); }
public CategoriasCanal DefinirPropriedades(Intelbras.Message.Helper.MSG0122 xml) { var crm = new CategoriasCanal(this.Organizacao, this.IsOffline); return(crm); }