public ActionResult <LoginResult> Authentication(string userName, string password) { try { bool isValid = true; // isValid = AuthenticateUserAD(userName, password); var token = string.Empty; if (isValid) { token = GenerateJwtToken(); } var loginResult = new LoginResult(token, isValid); return(loginResult); } catch (Exception ex) { var extraData = new { userName, password }; _logLogic.InsertLog(new Log("autenticacion", ex.Message, extraData)); throw ex; } }
public async Task <ActionResult <List <Proposal> > > GetProposals() { try { var ProposalsDTO = await _ProposalLogic.GetProposals(); List <Proposal> Proposals = await getProposalWithData(ProposalsDTO); return(Proposals); } catch (Exception ex) { _logLogic.InsertLog(new Log("/api/getProposals", ex.Message)); throw ex; } }
public async Task SendEmailAsync(Email emailData, SmtpConfig config) { try { var mainUrl = Path.Combine(_env.ContentRootPath, "wwwroot"); var email = new MimeMessage(); email.From.Add(new MailboxAddress(emailData.FromDisplayName, emailData.FromEmailAddress)); email.To.Add(new MailboxAddress(emailData.ToName, emailData.ToEmailAddress)); email.Subject = emailData.Subject; var content = string.Empty; /* var urlMail = Path.Combine(mainUrl, "emailResources", "emailTemplate.html"); * * var objReader = new StreamReader(urlMail); * content = objReader.ReadToEnd(); * objReader.Close(); * * content = Regex.Replace(content, "{BoydText}", emailData.Message);*/ var body = new BodyBuilder { HtmlBody = emailData.Message }; if (emailData.Array != null) { body.Attachments.Add("Proposal.pdf", emailData.Array, new ContentType("application", "pdf")); } email.Body = body.ToMessageBody(); using var client = new MailKit.Net.Smtp.SmtpClient(); client.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true; client.AuthenticationMechanisms.Remove("XOAUTH2"); // Start of provider specific settings await client.ConnectAsync(config.SmtpHost, config.Port, false).ConfigureAwait(false); await client.AuthenticateAsync(config.UserName, config.Password).ConfigureAwait(false); // End of provider specific settings await client.SendAsync(email).ConfigureAwait(false); await client.DisconnectAsync(true).ConfigureAwait(false); } catch (Exception ex) { var extraData = new { smtpConfig = config, dataEmail = emailData }; _logLogic.InsertLog(new Log("Enviar email", ex.Message, extraData)); throw ex; } }
public async Task <ActionResult <List <SuggestorClient> > > GetClients() { try { var clientList = new List <SuggestorClient>(); var clientsDto = await _clientService.GetClientes(); foreach (var item in clientsDto) { var clientModel = _mapper.Map <SuggestorClient>(item); clientList.Add(clientModel); } return(clientList); } catch (Exception ex) { _logLogic.InsertLog(new Log("/api/getClients", ex.Message)); throw ex; } }
public byte[] GeneratePdfFromHtml(List <DevicePymes> movilDevices, List <OfertPlan> planList, string companyName, double devicePayment) { //directorio temporal que va a alojar provisoriamente los html que se van a modificar y los pdfs string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); try { Directory.CreateDirectory(tempDirectory); CopyFiles(tempDirectory, movilDevices); //copio los htmls desde el directorio base a un directorio temporal GenerateHtml(tempDirectory, movilDevices, planList, companyName, devicePayment); //modifico las copias generadas ConvertHtmlToPdf(tempDirectory); // ConvertHtmlToPdf(tempDirectory); //convierto las copias a pdf var bytesArrayPdf = MergePdf(tempDirectory); //mergeo los pdf generados con las primeras paginas estaticas del pdf completo y retorno un array de bytes de ese pdf completo return(bytesArrayPdf); } catch (Exception ex) { var extraData = new { directory = tempDirectory, step = "first" }; _logLogic.InsertLog(new Log("generar pdf", ex.Message, extraData)); DeleteDirectory(tempDirectory); throw ex; } }