public void CriarSolicitacaoCriacaoFornecedor() { Solicitacao criacaoFornecedor = new SolicitacaoCadastro(_nelson, _sorteq); Assert.AreEqual(criacaoFornecedor.Criador, _nelson); Assert.AreEqual(criacaoFornecedor.Contratante, _nelson.Contratante); }
public void CriarSolicitacaoDeFornecedorComFluxo() { var webForLink = new Aplicacao("WebForLink", "Cadastro De Fornecedores"); var samarco = new ClienteAncora("Samarco"); var nelson = new Usuario("nelson", webForLink, samarco); TipoEmpresa pessoaJuridica = new EmpressaPessoaJuridica(); Empresa sorteq = new Fornecedor("Sorteq", "12345678900", pessoaJuridica); Solicitacao solicitacaoCadastro = new SolicitacaoCadastro(nelson, sorteq); Assert.IsNull(solicitacaoCadastro.Fluxo); var cadastro = new Fluxo(new FluxoCriacao(), samarco, pessoaJuridica); var a = new Etapa("A"); cadastro.AdicionarPassos(a, new Passo("A.1"), new Passo("A.2")); cadastro.AdicionarPassos(new Etapa("B"), new Passo("B.1")); cadastro.AdicionarPassos(new Etapa("C"), new Passo("C.1"), new Passo("C.2"), new Passo("C.3")); solicitacaoCadastro.SetFluxo(cadastro); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, a); cadastro.AprovarPasso(new Passo("A.2")); //var cadastroDeFornecedor = new Fluxo(cadastroFornecedor, _samarco, _pessoaJuridica); //var cadastroFornecedor = new TipoFluxo("Cadastro de Fornecedor"); //solicitacaoCadastro.Tipo.SetFluxo(cadastroDeFornecedor); //cadastroDeFornecedor.AdicionarEtapas(new Etapa("Solicitacao"), new Etapa("MDA"), new Etapa("Conclusão")); //Assert.AreEqual(cadastroDeFornecedor.EtapaAtual.Nome, "Solicitacao"); //Assert.AreEqual(solicitacaoCadastro.Tipo.Fluxo.EtapaAtual.Nome, "Solicitacao"); }
public SolicitacaoCadastro Persistir(SolicitacaoCadastro SolCadastro) { if (SolCadastro.ID.HasValue) { SolicitacaoCadastro tmpSolCad = RepositoryService.SolicitacaoCadastro.ObterPor(SolCadastro.ID.Value); if (tmpSolCad != null) { //Para não tentar alterar status junto com o update int statusAnterior = SolCadastro.Status.Value; SolCadastro.Status = tmpSolCad.Status; RepositoryService.SolicitacaoCadastro.Update(SolCadastro); SolCadastro.Status = statusAnterior; if (SolCadastro.State.HasValue && SolCadastro.Status.HasValue && !tmpSolCad.State.Equals(SolCadastro.State.Value) && (SolCadastro.Status.Value == (int)Intelbras.CRM2013.Domain.Enum.SolicitacaoCadastro.StatusSolicitacao.Criada || SolCadastro.Status.Value == (int)Intelbras.CRM2013.Domain.Enum.SolicitacaoCadastro.StatusSolicitacao.EmAnalise || SolCadastro.Status.Value == (int)Intelbras.CRM2013.Domain.Enum.SolicitacaoCadastro.StatusSolicitacao.Inativo)) { MudarStatus(SolCadastro.ID.Value, SolCadastro.State.Value); } return(tmpSolCad); } else { return(null); } } else { SolCadastro.ID = RepositoryService.SolicitacaoCadastro.Create(SolCadastro); return(SolCadastro); } }
public void CriarSolicitacaoCriacaoFornecedor() { var nelson = new Usuario("nelson.neto", new Aplicacao("WebForLink", ""), new ClienteAncora("")); Empresa sorteq = new Fornecedor("Sorteq", "12345678900", new EmpressaPessoaJuridica()); // new TipoEmpresa("Fornecedor")); Solicitacao criacaoFornecedor = new SolicitacaoCadastro(nelson, sorteq); Assert.AreEqual(criacaoFornecedor.Criador, nelson); Assert.AreEqual(criacaoFornecedor.Solicitante, nelson.Contratante); }
public static void Send(string nome, string email, SolicitacaoCadastro solicitacao) { var message = new MimeMessage(); message.To.Add(new MailboxAddress(nome, email)); message.From.Add(new MailboxAddress("Central de Licitações", "*****@*****.**")); message.Subject = "Solicitação de Cadastro - Central de Licitação"; message.Body = new TextPart(TextFormat.Html) { Text = @$ " <article style='padding-top: 90px'> <h1 style='font-size: 2.1em;font-weight: 600;letter-spacing: 0.2em;line-height: 1.1em;margin: 0 0 0.6em 0; text-align: center'>CENTRAL DE LICITAÇÕES</h1> <p style = 'font-family: "Times New Roman", serif;line-height: 1.3em;margin: 0 0 1em 0' > Notificação </p>
public void CriarSolicitacaoDeFornecedorComFluxo() { TipoEmpresa pessoaJuridica = new EmpresaPessoaJuridica(); Empresa sorteq = new Fornecedor("Sorteq", "12345678900", pessoaJuridica); Solicitacao solicitacaoCadastro = new SolicitacaoCadastro(_nelson, sorteq); Assert.IsNull(solicitacaoCadastro.Fluxo); var cadastro = new Fluxo(new FluxoCriacao(), _samarco, pessoaJuridica); var a = new Etapa("A"); var b = new Etapa("B"); var c = new Etapa("C"); cadastro.AdicionarPassos(a, new Passo("A.1"), new Passo("A.2")); cadastro.AdicionarPassos(b, new Passo("B.1")); cadastro.AdicionarPassos(c, new Passo("C.1"), new Passo("C.2"), new Passo("C.3")); solicitacaoCadastro.SetFluxo(cadastro); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, a); cadastro.AprovarPasso(new Passo("A.2")); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, a); cadastro.AprovarPasso(new Passo("A.1")); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, b); //--- cadastro.AprovarPasso(new Passo("B.1")); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, c); //--- cadastro.AprovarPasso(new Passo("C.3")); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, c); cadastro.AprovarPasso(new Passo("C.1")); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, c); cadastro.ReprovarPasso(new Passo("C.1")); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, c); cadastro.AprovarPasso(new Passo("C.1")); Assert.AreEqual(solicitacaoCadastro.EtapaAtual, c); cadastro.AprovarPasso(new Passo("C.2")); Assert.IsNull(solicitacaoCadastro.EtapaAtual); //var cadastroDeFornecedor = new Fluxo(cadastroFornecedor, _samarco, _pessoaJuridica); //var cadastroFornecedor = new TipoFluxo("Cadastro de Fornecedor"); //solicitacaoCadastro.Tipo.SetFluxo(cadastroDeFornecedor); //cadastroDeFornecedor.AdicionarEtapas(new Etapa("Solicitacao"), new Etapa("MDA"), new Etapa("Conclusão")); //Assert.AreEqual(cadastroDeFornecedor.EtapaAtual.Nome, "Solicitacao"); //Assert.AreEqual(solicitacaoCadastro.Tipo.Fluxo.EtapaAtual.Nome, "Solicitacao"); }
public void CriarSolicitacaoDeCadastro() { Solicitacao solicitacaoDeCadastro = new SolicitacaoCadastro(_nelson, _sorteq); }
public void CriarSolicitacaoDeCadastro() { Solicitacao solicitacaoDeCadastro = new SolicitacaoCadastro(_nelson, _sorteq); //Assert.AreEqual(solicitacaoDeCadastro.Tipo.Descricao, "Cadastro de Pessoa Jurídica"); }
public List <SolicitacaoCadastro> ListarSolicitacaoCadastro(SolicitacaoCadastro solCadastro, DateTime?dtInicio, DateTime?dtFim) { return(RepositoryService.SolicitacaoCadastro.ListarPorConta(solCadastro.Representante.Id, dtInicio, dtFim, solCadastro.Status)); }
public void CriacaoDeTarefasSolicitacaoDeCadastro(SolicitacaoCadastro SolCadastro, Guid usuarioId, int Ordem) { Model.Processo tmpProcesso = RepositoryService.Processo.ObterPorTipoDeSolicitacao(SolCadastro.TipoDeSolicitacao.Id, null); if (tmpProcesso == null) { return; } string ParecerAnterior = String.Empty; if (Ordem > 1) { //Busca os pareceres anteriores. //SolCadastro.ID.Value ParecerAnterior = OrdemMaior1(SolCadastro.ID.Value); } List <ParticipantesDoProcesso> lstParticipanteDoProcesso = RepositoryService.ParticipantesDoProcesso.ListarPor(tmpProcesso.ID.Value, Ordem); bool CriouTarefa = false; foreach (ParticipantesDoProcesso PartProcesso in lstParticipanteDoProcesso) { Lookup referenteA = new Lookup(SolCadastro.ID.Value, SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoCadastro>()); CriouTarefa = false; if (PartProcesso.Papel.Name == "Informado") { this.CriarEmail(referenteA, PartProcesso); #region código comentado, foi isolado um método generico citado acima //var email = new Domain.Model.Email(NomeDaOrganizacao, _isOffline); //email.Assunto = "a definir"; //email.Mensagem = "a definir"; //email.De = new Lookup[1]; //email.De[0] = new Lookup { Id = SolCadastro.Proprietario.Id, Type = SolCadastro.Proprietario.Type }; //email.RefenteA = new Lookup { Id = SolCadastro.ID.Value, Type = "itbc_solicitacaodecadastro" }; //if (PartProcesso.Equipe != null) //{ // List<TeamMembership> lstTeam = RepositoryService.TeamMembership.ListarPor(PartProcesso.Equipe.Id); // email.Para = new Lookup[lstTeam.Count()]; // int i = 0; // foreach (TeamMembership team in lstTeam) // { // email.Para[i] = new Lookup { Id = team.Usuario, Type = "systemuser" }; // i++; // } //} //if (PartProcesso.Usuario != null) //{ // email.Para = new Lookup[1]; // email.Para[0] = new Lookup { Id = PartProcesso.Usuario.Id, Type = PartProcesso.Usuario.Type }; //} //if (PartProcesso.Contato != null) //{ // email.Para = new Lookup[1]; // email.Para[0] = new Lookup { Id = PartProcesso.Contato.Id, Type = PartProcesso.Contato.Type }; //} //email.Direcao = false; //email.ID = RepositoryService.Email.Create(email); ////RepositoryService.RepositorioEmail.EnviarEmail(email.ID.Value); #endregion } else { CriouTarefa = this.CriarTarefa(referenteA, SolCadastro.TipoDeSolicitacao.Name, SolCadastro.Descricao, ParecerAnterior, PartProcesso); #region código comentado, foi isolado um método generico citado acima //Model.Tarefa task = new Model.Tarefa(NomeDaOrganizacao, _isOffline); //task.Assunto = "Plugin - " + SolCadastro.Nome; //task.ReferenteA = new Lookup(SolCadastro.ID.Value, "itbc_solicitacaodecadastro"); //task.Assunto = PartProcesso.Papel.Name + " - " + SolCadastro.TipoDeSolicitacao.Name; //task.Ordem = PartProcesso.Ordem; //task.PareceresAnteriores = ParecerAnterior; //task.DescricaoSolicitacao = SolCadastro.Descricao; //task.Conclusao = DateTime.Now.AddDays(1).AddHours(3); //TipoDeAtividade tmpTipoDeAtividade = RepositoryService.TipoDeAtividade.ObterPorPapel(PartProcesso.Papel.Id); //if (tmpTipoDeAtividade == null) // throw new ArgumentException("Tipo de Atividade do Participante Não Encontrado!"); //if (tmpTipoDeAtividade.ID.HasValue) // task.TipoDeAtividade = new Lookup(tmpTipoDeAtividade.ID.Value, "itbc_tipoatividade"); //if (PartProcesso.Equipe != null) // task.Proprietario = new Lookup(PartProcesso.Equipe.Id, PartProcesso.Equipe.Type); //if (PartProcesso.Usuario != null) // task.Proprietario = new Lookup(PartProcesso.Usuario.Id, PartProcesso.Usuario.Type); //if (PartProcesso.Contato != null) // task.Proprietario = new Lookup(PartProcesso.Contato.Id, PartProcesso.Contato.Type); //RepositoryService.Tarefa.Create(task); //CriouTarefa = true; #endregion } if (!CriouTarefa) { CriacaoDeTarefasSolicitacaoDeCadastro(SolCadastro, usuarioId, Ordem + 1); } } }
public bool CriarTarefa(Lookup referenteA, string tiposolicitacaonome, string descricao, string ParecerAnterior, ParticipantesDoProcesso PartProcesso) { Guid idProprietario = Guid.Empty; string tipoProprietario = ""; Model.Tarefa task = new Model.Tarefa(NomeDaOrganizacao, _isOffline); Model.SolicitacaoBeneficio tmpSolBen = new SolicitacaoBeneficio(NomeDaOrganizacao, _isOffline); Model.SolicitacaoCadastro tmpSolCad = new SolicitacaoCadastro(NomeDaOrganizacao, _isOffline); List <RelacionamentoCanal> lstRelacionamento = new List <RelacionamentoCanal>(); task.Assunto = "Plugin - " + referenteA.Name; task.ReferenteA = new Lookup(referenteA.Id, referenteA.Type); task.Assunto = PartProcesso.Papel.Name + " - " + tiposolicitacaonome; task.Ordem = PartProcesso.Ordem; task.PareceresAnteriores = ParecerAnterior; task.DescricaoSolicitacao = descricao; task.Conclusao = DateTime.Now.AddDays(1).AddHours(3); TipoDeAtividade tmpTipoDeAtividade = RepositoryService.TipoDeAtividade.ObterPorPapel(PartProcesso.Papel.Id); if (tmpTipoDeAtividade == null) { throw new ArgumentException("Tipo de Atividade do Participante Não Encontrado! : " + PartProcesso.Papel.Name + " : " + PartProcesso.Papel.Id.ToString()); } if (tmpTipoDeAtividade.ID.HasValue) { task.TipoDeAtividade = new Lookup(tmpTipoDeAtividade.ID.Value, "itbc_tipoatividade"); } if (PartProcesso.Equipe != null) { idProprietario = PartProcesso.Equipe.Id; tipoProprietario = PartProcesso.Equipe.Type; } if (PartProcesso.Usuario != null) { idProprietario = PartProcesso.Usuario.Id; tipoProprietario = PartProcesso.Usuario.Type; } if (PartProcesso.Contato != null) { idProprietario = PartProcesso.Contato.Id; tipoProprietario = PartProcesso.Contato.Type; } if (PartProcesso.PapelNoCanal.HasValue) { if (referenteA.Type.ToLower().Equals(SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoCadastro>().ToLower())) { tmpSolCad = RepositoryService.SolicitacaoCadastro.Retrieve(referenteA.Id); lstRelacionamento = RepositoryService.RelacionamentoDoCanal.ListarPor(tmpSolCad.Canal.Id); } if (referenteA.Type.ToLower().Equals(SDKore.Crm.Util.Utility.GetEntityName <SolicitacaoBeneficio>().ToLower())) { tmpSolBen = RepositoryService.SolicitacaoBeneficio.Retrieve(referenteA.Id); lstRelacionamento = RepositoryService.RelacionamentoDoCanal.ListarPor(tmpSolBen.Canal.Id); } if (PartProcesso.PapelNoCanal.Value == (int)Domain.Enum.ParticipanteDoCanal.PapelNoCanal.DiretorDeUnidade) { if (lstRelacionamento.First <RelacionamentoCanal>().Supervisor == null) { throw new ArgumentException("Diretor da Unidade Não encontrado. Não é possivel criar o próximo passo de Tarefa!"); } Usuario _usuario = new Intelbras.CRM2013.Domain.Servicos.UsuarioService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline).ObterPor(lstRelacionamento.First <RelacionamentoCanal>().Supervisor.Id); if (_usuario == null) { throw new ArgumentException("Não foi encontrado o usuário."); } if (_usuario.Gerente == null) { throw new ArgumentException("Gerente do Supervisor não confiurado.Operação cancelada."); } //Descemos mais um nivel para pegar o gerente do gerente _usuario = new Intelbras.CRM2013.Domain.Servicos.UsuarioService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline).ObterPor(_usuario.Gerente.Id); if (_usuario == null) { throw new ArgumentException("Não foi encontrado o usuário."); } if (_usuario.Gerente == null) { throw new ArgumentException("Gerente do Supervisor não confiurado.Operação cancelada."); } idProprietario = _usuario.Gerente.Id; tipoProprietario = _usuario.Gerente.Type; } if (PartProcesso.PapelNoCanal.Value == (int)Domain.Enum.ParticipanteDoCanal.PapelNoCanal.GerenteNacionalGerenteDeDistribuicao) { if (lstRelacionamento.First <RelacionamentoCanal>().Supervisor == null) { throw new ArgumentException("Gerente Nacional Gerente De Distribuicao Não encontrado. Não é possivel criar o próximo passo de Tarefa!"); } Usuario _usuario = new Intelbras.CRM2013.Domain.Servicos.UsuarioService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline).ObterPor(lstRelacionamento.First <RelacionamentoCanal>().Supervisor.Id); if (_usuario == null) { throw new ArgumentException("Não foi encontrado o usuário."); } if (_usuario.Gerente == null) { throw new ArgumentException("Gerente do Supervisor não confiurado.Operação cancelada."); } idProprietario = _usuario.Gerente.Id; tipoProprietario = _usuario.Gerente.Type; } if (PartProcesso.PapelNoCanal.Value == (int)Domain.Enum.ParticipanteDoCanal.PapelNoCanal.KeyAccountRepresentante) { if (lstRelacionamento.First <RelacionamentoCanal>().Supervisor != null) { idProprietario = lstRelacionamento.First <RelacionamentoCanal>().Supervisor.Id; tipoProprietario = lstRelacionamento.First <RelacionamentoCanal>().Supervisor.Type; } else { throw new ArgumentException("Key Account Representante Não encontrado. Não é possivel criar o próximo passo de Tarefa!"); } } if (PartProcesso.PapelNoCanal.Value == (int)Domain.Enum.ParticipanteDoCanal.PapelNoCanal.SupervisorDeVendas) { if (lstRelacionamento.First <RelacionamentoCanal>().Supervisor != null) { idProprietario = lstRelacionamento.First <RelacionamentoCanal>().Supervisor.Id; tipoProprietario = lstRelacionamento.First <RelacionamentoCanal>().Supervisor.Type; } else { throw new ArgumentException("Supervisor De Vendas Não encontrado. Não é possivel criar o próximo passo de Tarefa!"); } } } Guid idTask = RepositoryService.Tarefa.Create(task); if (idTask != Guid.Empty) { new Domain.Servicos.UtilService(RepositoryService.NomeDaOrganizacao, RepositoryService.IsOffline, RepositoryService.Provider).MudarProprietarioRegistro(tipoProprietario, idProprietario, "task", idTask); } return(true); }
public string Enviar(SolicitacaoCadastro objModel) { return(String.Empty); }
public static void EnviarNovaSolicitacaoCadastro(string nome, string email, SolicitacaoCadastro solicitacao) => NovaSolicitacaoCadastro.Send(nome, email, solicitacao);