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;
            }
        }
Example #4
0
        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;
            }
        }
Example #5
0
        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;
            }
        }