public ClinicaServicoDeAplicacao(IClinicaRepositorio clinicaRepositorio, IRepresentanteRepositorio representanteRepositorio, IRepresentanteRegionalRepositorio representanteRegionalRepositorio, IGerenteRepositorio gerenteRepositorio, ServicoDeEmail servicoDeEmail, IProgramaRepositorio programaRepositorio, IFuncionarioRepositorio funcionarioRepositorio, IUnitOfWork unitOfWork) { _clinicaRepositorio = clinicaRepositorio; _representanteRepositorio = representanteRepositorio; _representanteRegionalRepositorio = representanteRegionalRepositorio; _gerenteRepositorio = gerenteRepositorio; _servicoDeEmail = servicoDeEmail; _programaRepositorio = programaRepositorio; _funcionarioRepositorio = funcionarioRepositorio; _unitOfWork = unitOfWork; _clinicaServico = new ClinicaServico(_clinicaRepositorio); }
public RespostaBase EnviarPreviaPorEmail(int idClinica, int mes, int ano, string email) { var clinica = _clinicaRepositorio.ObterPor(idClinica); var infusoes = _infusaoRepositorio.ObterTodasInfusoesDaClinicaNoMes(idClinica, mes, ano); var html = new StringBuilder(); html.Append("Segue abaixo a prévia de faturamento referente ao mês: <b>" + new DateTime(ano, mes == 13 ? 1 : mes, 1).ToString("MM/yyyy") + "</b></br></br>"); html.Append("Clínica: <b>" + clinica.Nome + "</b></br></br>"); html.Append("<table style='border-spacing:0px;border: 1px solid #dddddd;position: relative;display: inline-block;margin-right: 4px;color: #555;content: '\f0dc';font-weight: normal;font-size: 13px;font-family: FontAwesome;'><thead>"); html.Append("<tr style='background-color:lightgray'><th style='color: #307ECC;'>Data da infusão</th><th style='color: #307ECC;'>Paciente</th><th style='color: #307ECC;'>Localizador</th><th style='color: #307ECC;'>Lote</th><th style='color: #307ECC;'>Valor</th></tr>"); html.Append("</thead><tbody>"); foreach (var infusao in infusoes) { html.Append("<tr style='background-color:lightblue'>"); html.Append("<td>" + infusao.DataInfusao.ToString("dd/MM/yyyy") + "</td>"); html.Append("<td>" + (infusao.NomePaciente.Split('|').Length - 1 > 0 ? infusao.NomePaciente.Split('|')[0] : infusao.NomePaciente) + "</td>"); html.Append("<td style='text-align: center;'>" + infusao.Localizador + "</td>"); html.Append("<td>" + infusao.Lote + "</td>"); html.Append("<td>" + infusao.Clinica.ValorDeInfusao + "</td>"); html.Append("</tr>"); } html.Append("</tbody></table>"); html.Append("</br>"); html.Append("Quantidade: " + infusoes.Count().ToString(CultureInfo.InvariantCulture)); html.Append("</br>"); html.Append("Total: R$ " + string.Format("{0:#.00}", Convert.ToDecimal(infusoes.Sum(inf => inf.Clinica.ValorDeInfusao).ToString(CultureInfo.InvariantCulture)) / 100)); html.Append("</br></br>"); html.Append("<ul style='list-style-type: circle'>"); html.Append("<li>Nota Fiscal deverá ser encaminhada para o Programa Essencial” através do e-mail [email protected] ou via correios “junto com as <b>AUTORIZAÇÕES DE INFUSÃO</b>” </br>"); html.Append("até o dia 10 de cada mês para a ÍNTEGRA MEDICAL – A/C PROGRAMA ESSENCIAL.</li>"); html.Append("<br>"); html.Append("<li><b style='color:red;'>Ressaltamos para que o pgamento seja realizado, será obrigatório o envio das AUTORIZAÇÕES DE INFUSÃO. Caso não sejam enviadas, o Programa Essencial poderá cancelar o pagamento, até que seja enviado o documento, conforme contrato </br>vigente com a clínica.</b></li>"); html.Append("</ul>"); html.Append("</br>"); html.Append("<img src='http://www.integrawebservice.com.br/Site_PainelDeControle/Content/images/LogoEssencial.fw.png' />"); var servicoDeEmail = new ServicoDeEmail(); servicoDeEmail.EnviarEmailInfusao(email, "Programa Essencial - Prévia de Faturamento", html.ToString()); return new RespostaBase { Sucesso = true }; }
public RecuperarSenhaResposta RecuperarSenha(RecuperarSenhaRequisicao requisicao) { var resposta = new RecuperarSenhaResposta(); try { var pessoa = _pessoaRepositorio.ObterPeloNomeDeUsuario(requisicao.NomeDoUsuario); if (pessoa != null) { var senha = DateTime.Now.ToString("MddYYffffmmss"); pessoa.Usuario.AlterarSenha(Crypto.HashPassword(senha)); var servicoDeEmail = new ServicoDeEmail(pessoa.Usuario.NomeDeUsuario); servicoDeEmail.EnviarEmail("Acesso Painel de Controle - Recuperar Senha", String.Format(@"Prezado usuário, <br /><br /><br />Sua nova senha para utilização do Painel de Controle.<br /><br />O endereço é: http://www.integramedical.com.br/paineldecontrole <br />Seu login é: {0}<br />Sua senha é: {1}<br /><br /><br />Atenciosamente, <br /><br />Íntegra Medical<br />(11) 5054-9199<br />[email protected]", requisicao.NomeDoUsuario, senha)); _unitOfWork.Commit(); resposta.Sucesso = true; } else { resposta.Erros.Add(new RegraDeNegocioBase("Usuário não encontrado!")); } } catch (RegraException regraException) { resposta.Erros = regraException.Erros; } return resposta; }
public OuvidoriaServicoDeAplicacao(ServicoDeEmail servicoDeEmail) { _servicoDeEmail = servicoDeEmail; }