Beispiel #1
0
        protected void ModeloEmailIsol(ref Domain.Model.Email email)
        {
            if (email.ReferenteA != null && email.ReferenteA.Type == "incident" && !string.IsNullOrEmpty(email.Mensagem))
            {
                if (email.Mensagem.Contains("{link_ocorrencia_isol}"))
                {
                    string link = string.Format("<a href=\"{0}\">Clique Aqui</a>", SDKore.Configuration.ConfigurationManager.GetSettingValue("LINK_ISOL_FECHAMENTO") + email.ReferenteA.Id.ToString());
                    email.Mensagem     = email.Mensagem.Replace("{link_ocorrencia_isol}", link);
                    email.MensagemErro = "ALTERADO";
                }

                if (email.Mensagem.Contains("{link_ocorrencia_impressao}"))
                {
                    string link = string.Format("<a href=\"{0}\">Clique Aqui</a>", SDKore.Configuration.ConfigurationManager.GetSettingValue("LINK_ISOL_OS") + email.ReferenteA.Id.ToString());
                    email.Mensagem     = email.Mensagem.Replace("{link_ocorrencia_impressao}", link);
                    email.MensagemErro = "ALTERADO";
                }

                if (email.Mensagem.Contains("{valor_linha_contrato}"))
                {
                    var ocorrencia = new Ocorrencia()
                    {
                        Id = email.ReferenteA.Id
                    };
                    var linhaDeContrato = (new Domain.Servicos.RepositoryService()).LinhaDoContrato.ObterPor(ocorrencia, "new_valor_pago");

                    string valorPago = (linhaDeContrato != null && linhaDeContrato.PrecoPago.HasValue) ? linhaDeContrato.PrecoPago.Value.ToString("F") : "0,00";

                    email.Mensagem     = email.Mensagem.Replace("{valor_linha_contrato}", valorPago);
                    email.MensagemErro = "ALTERADO";
                }
            }
        }
        public void CriarEmail(Lookup referenteA, ParticipantesDoProcesso PartProcesso)
        {
            Guid fromUserId;

            if (!Guid.TryParse(SDKore.Configuration.ConfigurationManager.GetSettingValue("Intelbras.Usuario.EnvioEmail", true), out fromUserId))
            {
                throw new ApplicationException("O parâmetro 'Intelbras.Usuario.EnvioEmail' não foi possível converte em GUID.");
            }

            SolicitacaoBeneficio Solicitacao = RepositoryService.SolicitacaoBeneficio.Retrieve(referenteA.Id);

            String msg = string.Empty;

            var email = new Domain.Model.Email(NomeDaOrganizacao, _isOffline);

            email.Assunto = Solicitacao.Canal.Name + " - " + Solicitacao.Nome + " - " + Solicitacao.TipoSolicitacao.Name + " - " + Solicitacao.DataCriacao.Value;


            msg  = "Canal: " + Solicitacao.Canal.Name;
            msg += "</br>Nome da Solicitação: " + Solicitacao.Nome;
            msg += "</brTipo da Solicitação: " + Solicitacao.TipoSolicitacao.Name;
            msg += "</brValor: " + Solicitacao.ValorSolicitado.Value;
            msg += "</brDescrição: " + Solicitacao.Descricao;
            msg += "</brStatus da Solicitação : " + Solicitacao.StatusSolicitacao.Value;

            email.Mensagem = msg;
            email.De       = new Lookup[1];
            email.De[0]    = new Lookup {
                Id = fromUserId, Type = SDKore.Crm.Util.Utility.GetEntityName <Domain.Model.Usuario>()
            };
            email.ReferenteA = new Lookup {
                Id = referenteA.Id, Type = referenteA.Type
            };

            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 = SDKore.Crm.Util.Utility.GetEntityName <Domain.Model.Usuario>()
                    };
                    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.Email.EnviarEmail(email.ID.Value);
        }