public ActionResult WritePost(FormalPostViewModel postmodel) { var ctx = new ApplicationDbContext(); var userId = User.Identity.GetUserId(); var store = new UserStore <ApplicationUser>(new ApplicationDbContext()); var userManager = new UserManager <ApplicationUser>(store); ApplicationUser user = userManager.FindById(userId); var post = new FormalPostModel { Title = postmodel.Title, Content = postmodel.Content, Author = User.Identity.GetUserName(), Date = DateTime.Now }; if (ModelState.IsValid) { if (postmodel.File != null && postmodel.File.ContentLength > 0) { var fileName = Path.GetFileName(postmodel.File.FileName); var path = Path.Combine(Server.MapPath("~/UploadedFiles/"), fileName); post.FilePath = "~/UploadedFiles/" + fileName; postmodel.File.SaveAs(path); } ctx.Post.Add(post); ctx.SaveChanges(); } else { postmodel.Posts = ctx.Post.OrderByDescending(p => p.Date).ToList(); return(View("ShowPost", postmodel)); } return(RedirectToAction("ShowPost")); }
public ActionResult EmailWhenPost(FormalPostModel post) { try { var user = System.Web.HttpContext.Current.User.Identity.GetUserName(); if (ModelState.IsValid) { var ctx = new ApplicationDbContext(); string email = ctx.Users.Where(s => s.Id == user).Select(x => x.Email).SingleOrDefault(); string category = ctx.Category.Where(x => x.Id == post.CategoryId).Select(x => x.Name).SingleOrDefault(); var senderEmail = new MailAddress("*****@*****.**", "Infoblog"); var receiverEmail = new MailAddress(user); var password = "******"; var subject = "Nytt blogginlägg"; var body = "Ett nytt inlägg om " + category + " har lagts till"; var smtp = new SmtpClient { Host = "smtp.gmail.com", Port = 587, EnableSsl = true, DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(senderEmail.Address, password) }; using (var mess = new MailMessage(senderEmail, receiverEmail) { Subject = subject, Body = body }) { smtp.Send(mess); } return(View()); } } catch (Exception) { ViewBag.Error = "Some Error"; } return(View()); }