public ActionResult EditSendGrid(DbTables.SendGridAPI model)
        {
            try
            {
                var SendGrid    = new DbTables.SendGridAPI();
                var SendGridAPI = _context.SendGridAPI.ToList();
                if (SendGridAPI.Any())
                {
                    SendGrid          = SendGridAPI.First();
                    SendGrid.PassWord = model.PassWord;
                    SendGrid.UserName = model.UserName;
                }
                else
                {
                    SendGrid.PassWord = model.PassWord;
                    SendGrid.UserName = model.UserName;
                    _context.SendGridAPI.Add(SendGrid);
                }

                _context.SaveChanges();
                ViewBag.Success = "Sendgrid API variabler ble sukessfult oppdatert";
                return(PartialView("_SendGridPartial", _context.SendGridAPI.First()));
            }
            catch (EntityException ex)
            {
                ViewBag.Error = "Error:" + ex.Message;
                return(PartialView("_SendGridPartial", _context.SendGridAPI.First()));
            }
        }
Example #2
0
        /// <summary>
        ///     sends password resetting email
        /// </summary>
        /// <param name="user">user that needs password reset</param>
        /// <param name="callbackUrl">url where he can reset password</param>
        /// <returns>returns true or false based on success of sending the email</returns>
        public bool SendEmail(ApplicationUser user, string callbackUrl)
        {
            try
            {
                var mailMsg = new MailMessage();

                // To
                mailMsg.To.Add(new MailAddress(user.Email, user.Fname + " " + user.Lname));

                // From
                mailMsg.From = new MailAddress("*****@*****.**", "Butterfly Friends");

                // Subject and multipart/alternative Body

                mailMsg.Subject = "Passord resetting"; //Request accepted


                var text = "Ditt passord kan resettes her: " + callbackUrl +
                           "\nDersom du ikke ba om dette så ignorer denne mailen.\n\nMvh, \nButterfly Friends";
                var html = @"<p>Ditt passord kan resettes <a href=" + callbackUrl +
                           ">her</a>.<br>Om du ikke ba om dette så ignorer denne mailen.<br><br>Mvh,<br>Butterfly Friends</p>";
                mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null,
                                                                                       MediaTypeNames.Text.Plain));
                mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null,
                                                                                       MediaTypeNames.Text.Html));


                // Init SmtpClient and send
                var smtpClient      = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
                var SendGridAPIList = _context.SendGridAPI.ToList();
                var SendGridAPI     = new DbTables.SendGridAPI();
                if (SendGridAPIList.Any())
                {
                    SendGridAPI = SendGridAPIList.First();
                    if (!SendGridAPI.Enabeled)
                    {
                        return(false);
                    }
                }
                else
                {
                    return(false);
                }


                var credentials =
                    new NetworkCredential(SendGridAPI.UserName,
                                          SendGridAPI.PassWord);
                smtpClient.Credentials = credentials;

                smtpClient.Send(mailMsg); //send email
            }
            catch (Exception)
            {
                return(false);
            }
            return(true); //email successfully sent
        }
Example #3
0
        /// <summary>
        ///     Sends an email with reciept information
        /// </summary>
        /// <param name="message">Message in reciept</param>
        /// <param name="messageHTML">Message without html</param>
        /// <param name="subject">Subject of email</param>
        /// <param name="recieverEmail">Recipient email</param>
        /// <param name="recieverName">Name of recipient</param>
        /// <returns>Returns true or false based on wether email was sent or not</returns>
        public bool SendEmail(string message, string messageHTML, string subject, string recieverEmail,
                              string recieverName)
        {
            try
            {
                var mailMsg = new MailMessage();

                // To
                mailMsg.To.Add(new MailAddress(recieverEmail, recieverName));

                // From
                mailMsg.From = new MailAddress("*****@*****.**", "Butterfly Friends");

                // Subject and multipart/alternative Body

                mailMsg.Subject = subject;
                if (message != "")
                {
                    var text = message;
                    var html = messageHTML;
                    mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null,
                                                                                           MediaTypeNames.Text.Plain));
                    mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null,
                                                                                           MediaTypeNames.Text.Html));
                }

                // Init SmtpClient and send
                var smtpClient      = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
                var SendGridAPIList = _context.SendGridAPI.ToList();
                var SendGridAPI     = new DbTables.SendGridAPI();
                if (SendGridAPIList.Any())
                {
                    SendGridAPI = SendGridAPIList.First();
                }
                else
                {
                    return(false);
                }
                if (!SendGridAPI.Enabeled)
                {
                    return(false);
                }


                var credentials =
                    new NetworkCredential(SendGridAPI.UserName,
                                          SendGridAPI.PassWord);
                smtpClient.Credentials = credentials;

                smtpClient.Send(mailMsg);
            }
            catch (Exception)
            {
                return(false);
            }
            return(true);
        }
        // GET: Admin/Various
        /// <summary>
        ///     Index view of various, check if various database elements are actually added and then add these to the model if
        ///     they exist
        /// </summary>
        /// <returns>Various index view</returns>
        public ActionResult Index()
        {
            var carouselObj   = new DbTables.Carousel();
            var GoogleCap     = new DbTables.GoogleCaptchaAPI();
            var GoogleCapList = _context.GoogleCaptchaAPI.ToList();

            if (GoogleCapList.Any())
            {
                GoogleCap = GoogleCapList.First();
            }
            var SendG        = new DbTables.SendGridAPI();
            var SendgridList = _context.SendGridAPI.ToList();

            if (SendgridList.Any())
            {
                SendG = SendgridList.First();
            }
            var Stripe     = new DbTables.StripeAPI();
            var StripeList = _context.StripeAPI.ToList();

            if (StripeList.Any())
            {
                Stripe = StripeList.First();
            }
            var Facebook     = new DbTables.Facebook();
            var FacebookList = _context.Facebook.ToList();

            if (FacebookList.Any())
            {
                Facebook = FacebookList.First();
            }
            var Twitter     = new DbTables.Twitter();
            var TwitterList = _context.Twitter.ToList();

            if (TwitterList.Any())
            {
                Twitter = TwitterList.First();
            }
            var Disqus     = new DbTables.Disqus();
            var DisqusList = _context.Disqus.ToList();

            if (DisqusList.Any())
            {
                Disqus = DisqusList.First();
            }
            var About     = new DbTables.Info();
            var AboutList = _context.About.ToList();

            if (AboutList.Any())
            {
                About = AboutList.First();
            }
            var carousel = _context.Carousel.ToList();

            if (carousel.Any())
            {
                carouselObj = carousel.First();
            }
            var Terms     = new DbTables.TermsOfUse();
            var TermsList = _context.TermsOfUse.ToList();

            if (TermsList.Any())
            {
                Terms = TermsList.First();
            }
            var Background     = new DbTables.BackgroundImage();
            var BackgroundList = _context.BackgroundImage.ToList();

            if (BackgroundList.Any())
            {
                Background = BackgroundList.First();
            }

            var model = new VariousModel
            {
                GoogleCaptchaAPI = GoogleCap,
                SendGridAPI      = SendG,
                Terms            = Terms,
                Carousel         = carouselObj,
                About            = About,
                StripeAPI        = Stripe,
                Twitter          = Twitter,
                Facebook         = Facebook,
                Background       = Background,
                Disqus           = Disqus
            };

            return(View(model));
        }
Example #5
0
        /// <summary>
        ///     Sends email
        /// </summary>
        /// <returns>error or success message</returns>
        public ActionResult SendEmail()
        {
            var emailHTML    = Request.Unvalidated.Form["html"]; //email text
            var emailSubject = Request.Form["subject"];
            var recipients   = Request.Form["recipients"].Split(',');
            var allsponsors  = Request.Form["allsponsors"];
            var allemployees = Request.Form["allemployees"];

            if (!string.IsNullOrEmpty(emailHTML) && !string.IsNullOrEmpty(emailSubject))
            {
                if ((recipients[0] == "") && (recipients.Length == 1) && (allsponsors == null) && (allemployees == null))
                {
                    return(Json(new { error = true, message = "Error: Ingen mottakere", success = false }));
                }
                //no recievers sent in

                try
                {
                    var mailMsg = new MailMessage(); //mailmessage object

                    if (Request.Files.Count > 0)
                    {
                        //  Get all files from Request object
                        var files = Request.Files;
                        for (var i = 0; i < files.Count; i++)
                        {
                            var file = files[i];

                            mailMsg.Attachments.Add(new Attachment(file.InputStream, Path.GetFileName(file.FileName),
                                                                   file.ContentType));
                        }
                    }

                    // To
                    if ((allsponsors != null) && (allemployees != null)) //add everyone in the database
                    {
                        var results = _context.Users.ToList();
                        foreach (var result in results)
                        {
                            mailMsg.To.Add(new MailAddress(result.Email, result.Fname + " " + result.Lname));
                        }
                    }
                    else if (allsponsors != null) //add all sponsors
                    {
                        var sponsors = (from s in _context.Users
                                        where
                                        s.Employee == null
                                        select s).ToList();
                        foreach (var sponsor in sponsors)
                        {
                            mailMsg.To.Add(new MailAddress(sponsor.Email, sponsor.Fname + " " + sponsor.Lname));
                        }
                    }
                    else if (allemployees != null) //add all employees
                    {
                        var employees = (from s in _context.Users
                                         where
                                         s.Employee != null
                                         select s).ToList();
                        foreach (var employee in employees)
                        {
                            mailMsg.To.Add(new MailAddress(employee.Email, employee.Fname + " " + employee.Lname));
                        }
                    }

                    if (!((recipients[0] == "") && (recipients.Length == 1))) //there's recipients in recipient list
                    {
                        foreach (var recipient in recipients)
                        {
                            mailMsg.To.Add(new MailAddress(recipient));
                        }
                    }

                    // From
                    mailMsg.From = new MailAddress("*****@*****.**", "Butterfly Friends");

                    mailMsg.Subject = "Email";

                    var html = emailHTML;
                    mailMsg.Body       = html;
                    mailMsg.IsBodyHtml = true;


                    // Init SmtpClient and send
                    var smtpClient      = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
                    var SendGridAPIList = _context.SendGridAPI.ToList();
                    var SendGridAPI     = new DbTables.SendGridAPI();
                    if (SendGridAPIList.Any())
                    {
                        SendGridAPI = SendGridAPIList.First();
                    }
                    else
                    {
                        return(Json(new { error = true, message = "SendGrid er ikke konfigurert", success = false }));
                    }
                    if (!SendGridAPI.Enabeled) //sendgrid is disabeled
                    {
                        return(Json(new { error = true, message = "SendGrid er slått av", success = false }));
                    }

                    var credentials =
                        new NetworkCredential(SendGridAPI.UserName,
                                              SendGridAPI.PassWord);
                    smtpClient.Credentials = credentials;

                    smtpClient.Send(mailMsg);

                    return(Json(new { error = false, message = "Emailen ble sendt", success = true }));
                }
                catch (Exception ex)
                {
                    return(Json(new { error = true, message = "Error: " + ex.Message, success = false }));
                }
            }
            return(Json(new { error = true, message = "Kan ikke sende en tom email", success = false }));
        }
Example #6
0
        /// <summary>
        ///     send email
        /// </summary>
        /// <param name="request"></param>
        /// <param name="callbackUrl"></param>
        /// <param name="message"></param>
        /// <returns></returns>
        public bool SendEmail(DbTables.MembershipRequest request, string callbackUrl, string message)
        {
            try
            {
                var mailMsg = new MailMessage();

                // To
                mailMsg.To.Add(new MailAddress(request.Email, request.Fname + " " + request.Lname));

                // From
                mailMsg.From = new MailAddress("*****@*****.**", "Butterfly Friends");

                // Subject and multipart/alternative Body
                if (callbackUrl == null) //no callbackurl, request is declined
                {
                    mailMsg.Subject = "Medlemskap avist";
                    if (message != "")
                    {
                        var text = "Vi beklager å måtte melde at din forespørsel om medlamskap har blitt avist. \n\n" +
                                   message + "\n\nMvh, \nButterfly Friends";
                        var html =
                            @"<p>Vi beklager å måtte melde at din forespørsel om medlamskap har blitt avist.<br><br>" +
                            message + "<br><br>Mvh,<br>Butterfly Friends</p>";
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null,
                                                                                               MediaTypeNames.Text.Plain));
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null,
                                                                                               MediaTypeNames.Text.Html));
                    }
                    else
                    {
                        var text =
                            "Vi beklager å måtte melde at din forespørsel om medlamskap har blitt avist. \n\nMvh, \nButterfly Friends";
                        var html =
                            @"<p>Vi beklager å måtte melde at din forespørsel om medlamskap har blitt avist.<br><br>Mvh,<br>Butterfly Friends</p>";
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null,
                                                                                               MediaTypeNames.Text.Plain));
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null,
                                                                                               MediaTypeNames.Text.Html));
                    }
                }
                else
                {
                    mailMsg.Subject = "Medlemskap akseptert"; //Request accepted
                    if (message != "")
                    {
                        var text =
                            "Ditt medlemskap har blitt akseptert og vi er veldig glad for å ha deg med på laget! \n\nDitt passord kan settes her: " +
                            callbackUrl + "\nDette kan også byttes på dine profilsider.\n\n" + message +
                            "\n\nMvh, \nButterfly Friends";
                        var html =
                            @"<p>Ditt medlemskap har blitt akseptert og vi er veldig glad for å ha deg med på laget!<br><br>Ditt passord kan settes <a href=" +
                            callbackUrl + ">her</a>.<br>Dette kan ogsp byttes på dine profilsider.<br><br>" + message +
                            "<br><br>Mvh,<br>Butterfly Friends</p>";
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null,
                                                                                               //add both html and normal bodies to email
                                                                                               MediaTypeNames.Text.Plain));
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null,
                                                                                               MediaTypeNames.Text.Html));
                    }
                    else
                    {
                        var text =
                            "Ditt medlemskap har blitt akseptert og vi er veldig glad for å ha deg med på laget! \n\nDitt passord kan settes her: " +
                            callbackUrl + "\nDette kan også byttes på dine profilsider.\n\nMvh, \nButterfly Friends";
                        var html =
                            @"<p>Ditt medlemskap har blitt akseptert og vi er veldig glad for å ha deg med på laget!<br><br>Ditt kan passord settes <a href=" +
                            callbackUrl +
                            ">her</a>.<br>Dette kan også byttes på dine profilsider.<br><br>Mvh,<br>Butterfly Friends</p>";
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(text, null,
                                                                                               MediaTypeNames.Text.Plain));
                        mailMsg.AlternateViews.Add(AlternateView.CreateAlternateViewFromString(html, null,
                                                                                               MediaTypeNames.Text.Html));
                    }
                }
                // Init SmtpClient and send
                var smtpClient      = new SmtpClient("smtp.sendgrid.net", Convert.ToInt32(587));
                var SendGridAPIList = _context.SendGridAPI.ToList();
                var SendGridAPI     = new DbTables.SendGridAPI();
                if (SendGridAPIList.Any())
                {
                    SendGridAPI = SendGridAPIList.First();
                    if (!SendGridAPI.Enabeled)
                    {
                        return(true);
                    }
                }
                else
                {
                    return(false);
                }


                var credentials =
                    new NetworkCredential(SendGridAPI.UserName,
                                          SendGridAPI.PassWord);
                smtpClient.Credentials = credentials;

                smtpClient.Send(mailMsg); //send email
            }
            catch (Exception)
            {
                return(false);
            }
            return(true); //email successfully sent
        }