private static MailContent createVendorReportEmail(Vendor vendor, String recipient, UserPurchase user, int categoryId) { MailContent mailContent = new MailContent(); mailContent.MailFrom = vendorsContactEmail; mailContent.MailingAdress = recipient; QuestionnaireContext _context = new QuestionnaireContext(); String sectionName = (categoryId != 0 ) ? _context.Categories.Where(x => x.Id == categoryId).First().Title : "General List of ‘Suggested Service Providers’"; mailContent.Subject = "Referral from AFFI-FSMA Assessments – Request for Information"; mailContent.HtmlText = "<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\" style=\"width: 600px;\">" + "<tbody><tr><td>" + "<img alt=\"\" src=\"http://affi-fsma.seneca.com/Content/img/affi_logo.jpg\" style=\"width: 100px; height: 73px;\" /></td>" + "<td><div><span style=\"font-size:18px;\"><strong>Responses from the AFFI – FSMA Self Assessment</strong></span></div>" + "<div><span style=\"font-size:18px;\"><strong>Request for Information to “Suggested Service Provider”</strong></span></div>" + "</td></tr></tbody></table><br/>" + "<span style=\"font-size:16px;\">TO: " + vendor.Name + "<br/><br/>" + "The following person has clicked on the “Contact Me” button while taking the AFFI – FSMA Self-Assessment:<br/><br/>" + "Name of person: " + user.Name + "<br/>" + "Facility name: " + user.FacilityName + "<br/>" + "Email address: " + user.Email + "<br/>" + "Date and time: " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToShortTimeString() + "<br/><br/>" + "Section of the AFFI – FSMA Self-Assessment Report: " + sectionName + "<br/><br/>" + "By clicking on the Contact Me button the person anticipates that they will receive information about your company’s services related to the section of the FSMA Self-Assessment Report as referenced above.<br/><br/>" + "If you have any questions about this email, please “Reply” to this email with your questions.<br/><br/>" + "Thank you – <br/>" + "Seneca Corporation</span>"; return mailContent; }
public string CreateNewUser(SignUpModel model) { if (IsNewUserValid(model)) { var salt = GenerateSequenceOfChars(20); // TODO: check facility name length var password = GeneratePassword(model.FacilityName); var user = new UserPurchase { Email = model.Email, PasswordSalt = salt, Password = HashPassword(password, salt), FacilityName = model.FacilityName, UserRegistrationDate = DateTime.Now, UserExpirationDate = DateTime.Now.AddMonths(6) }; _context.UserPurchases.Add(user); _context.SaveChanges(); return password; } return null; }
public static MailContent createUserReportEmail(UserPurchase user, QuestionnaireReport report) { MailContent mailContent = new MailContent(); mailContent.MailFrom = adminEmail; mailContent.MailingAdress = user.Email; mailContent.Subject = "FSMA Self Assessment Report for " + user.FacilityName; return mailContent; }
private void sendEmails(Vendor vendor, UserPurchase user, int categoryId) { MailContent vendorMailContent = MailConfigurator.createVendorReport(vendor, user, categoryId); MailContent vendorAdminMailContent = MailConfigurator.createVendorAdminReport(vendor, user, categoryId); mailService.sendMail(vendorMailContent, true); mailService.sendMail(vendorAdminMailContent, true); }
public ActionResult AddUser() { UserPurchase userPurchase = new UserPurchase(); DateTime x = DateTime.Now; DateTime y = x.AddMonths(6).Date; userPurchase.UserExpirationDate = y; //userPurchase.ActivatorsEmail = User.Identity.Name; return View(userPurchase); }
public QuestionnaireWithSelectedAnswersForUser(QuestionnaireWithSelectedAnswers questionniare, UserPurchase user) { this.Questionnaire = questionniare; UserData = new UserData(); UserData.Email = user.Email; UserData.Name = user.Name; UserData.FacilityName = user.FacilityName; DemographicData = new DemographicDataContainer(); DemographicData.SizeOfFacility = user.SizeOfFacility; DemographicData.IndustrialClassification = user.IndustrialClassification; DemographicData.AdditionalProductClassification = user.AdditionalProductClassification; DemographicData.AnotherProductClassification = user.AnotherProductClassification; SubmittedStatusForUser status = _context.SubmittedeStatusForUsers.SingleOrDefault(x => x.UserId == user.Id); WasEverSubmitted = (status != null); if (status != null) { lastSubmitted = status.SubmitedDate; } }
public ActionResult AddUser(UserPurchase userPurchase) { UserRepository userRepository = new UserRepository(); if (ModelState.IsValid) { var salt = "ururu"; userPurchase.Password = UserRepository.HashPassword(userPurchase.Password.Trim(), salt); userPurchase.PasswordSalt = salt; userPurchase.Email = userPurchase.Email.ToLower().Trim(); if (userPurchase.ActivatorsEmail != null) { userPurchase.ActivatorsEmail = userPurchase.ActivatorsEmail.ToLower().Trim(); } userPurchase.DateOfPurchase = DateTime.Now; userPurchase.UserRegistrationDate = DateTime.Now; //Check to make sure the combination of Email, Password, and Facilty is unique int existingUserCheck = _context.UserPurchases.Where(x => x.Email == userPurchase.Email && x.Password == userPurchase.Password && x.FacilityName == userPurchase.FacilityName).Count(); if (existingUserCheck == 0) { _context.UserPurchases.Add(userPurchase); _context.SaveChanges(); return RedirectToAction("Index"); } else { ModelState.AddModelError("Email", "The combination of Email, Password, and Facility Name must be unique. "); } } return View(userPurchase); }
public static MailContent createVendorReport(Vendor vendor, UserPurchase user, int categoryId) { return createVendorReportEmail(vendor, vendor.Email, user, categoryId); }
public ActionResult Activate(PurchasedItemModel model, string returnUrl) { if (!ModelState.IsValid) return Redirect("Index"); string facilityName = model.Facility; string userName = model.Name; string email = model.Email; string dateOfPurchase = model.DateOfPurchase; List<PurchasedItem> purchasedItems = GetStoredPurchasedItems(); if (purchasedItems == null) { return LogOutAndRedirectToLoginPage(); } DateTime date = DateTime.Parse(dateOfPurchase); var purchasedItem = purchasedItems.Find(i => Math.Abs(i.DateOfPurchase.Subtract(date).TotalSeconds) < 1); if (purchasedItem != null) { var count = context.UserPurchases.Where(u => EntityFunctions.DiffSeconds(u.DateOfPurchase, purchasedItem.DateOfPurchase) < 1).Count(); //if(count != 0) // return Content("<html><head></head><body><h1>Error! This item already activated </h1></body></html>"); var salt = GenerateSequenceOfChars(20); // TODO: check facility name length var password = GeneratePassword(facilityName); //TODO: move following code to method var userPurchase = new UserPurchase(); userPurchase.Email = email; userPurchase.ActivatorsEmail = User.Identity.Name; userPurchase.Name = userName; userPurchase.PasswordSalt = salt; userPurchase.Password = HashPassword(password, salt); userPurchase.FacilityName = facilityName; userPurchase.DateOfPurchase = purchasedItem.DateOfPurchase; userPurchase.UserRegistrationDate = DateTime.Now; userPurchase.UserExpirationDate = DateTime.Now.AddMonths(6); context.UserPurchases.Add(userPurchase); context.SaveChanges(); HttpContext.Session["lastPurchase"] = userPurchase; HttpContext.Session["lastPurchasePassword"] = password; //Send an email to user IMailService mailService = new SmptMailService(System.Configuration.ConfigurationManager.AppSettings["smtpServer"]); MailContent mailContent = new MailContent(); mailContent.MailFrom = "*****@*****.**"; mailContent.MailingAdress = userPurchase.Email; mailContent.Subject = "AFFI FSMA Self-Assessment Login Credentials and Instructions"; mailContent.HtmlText = "<html><head></head><body>Dear " + userPurchase.Name + ":<br/>" + "<p>When you want to begin your FSMA Self-Assessment for your facility (<b>" + userPurchase.FacilityName + "</b>), you can just click on the Login link below.</p>" + "<p>Your login credentials for the FSMA Self-Assessment are: </p>" + "<p><b>Userid: </b>" + userPurchase.Email + "</p>" + "<p><b>Password: </b>" + password + "</p>" + "<p>If you have any questions regarding the FSMA Self-Assessment Tool, please contact AFFI Vice President of Regulatory and Technical Affairs Dr. Donna Garren at <a href=\"mailto:[email protected]\">[email protected]</a> or (703) 821-0770.</p>" + "<p>Thank you.</p>" + "<p><a href=\"http://affi-fsma.seneca.com/signIn\" target=\"_blank\">Click Here to Login</a></p></body></html>"; mailContent.PlainText = mailContent.HtmlText; mailService.sendMail(mailContent); //And if needed - to a person who had activated the purchase (if not same person) if (userPurchase.Email != userPurchase.ActivatorsEmail) { mailContent.MailingAdress = userPurchase.ActivatorsEmail; mailService.sendMail(mailContent); } return Redirect("Index"); } else { return Content("<html><head></head><body><h1>Error!Can't find purchasedItem</h1></body></html>"); } }
private UserPurchase createUserPurchaseByPurchasedItem(PurchasedItem purchasedItem) { var salt = GenerateSequenceOfChars(20); // TODO: check facility name length var password = GeneratePassword(purchasedItem.Facility); var userPurchase = new UserPurchase(); userPurchase.Email = purchasedItem.Email; userPurchase.Name = purchasedItem.Name; userPurchase.PasswordSalt = salt; userPurchase.Password = HashPassword(password, salt); userPurchase.FacilityName = purchasedItem.Facility; userPurchase.DateOfPurchase = purchasedItem.DateOfPurchase; userPurchase.UserRegistrationDate = DateTime.Now; userPurchase.UserExpirationDate = DateTime.Now.AddMonths(6); return userPurchase; }
private DashboardItem createDasboardItemByUserPurchase(UserPurchase userPurchase) { var dashboardItem = new DashboardItem(); dashboardItem.Email = userPurchase.Email; dashboardItem.Name = userPurchase.Name; dashboardItem.Facility = userPurchase.FacilityName; dashboardItem.DateOfPurchase = userPurchase.DateOfPurchase; dashboardItem.UserRegistrationDate = userPurchase.UserRegistrationDate; dashboardItem.UserExpirationDate = userPurchase.UserExpirationDate; if (dashboardItem.UserExpirationDate > DateTime.Now) dashboardItem.status = PurchaseStatus.Active; else dashboardItem.status = PurchaseStatus.Expired; return dashboardItem; }
public ActionResult EditUser(UserPurchase userPurchase) { UserPurchase temp = _context.UserPurchases.First(x => x.Id == userPurchase.Id); UserRepository userRepository = new UserRepository(); if (ModelState.IsValid) { String oldPassword = temp.Password; var salt = "ururu"; var pw = UserRepository.HashPassword(userPurchase.Password.Trim(), salt); //If password changed if (userPurchase.Password != oldPassword) { temp.Password = pw; temp.PasswordSalt = salt; } temp.UserRegistrationDate = DateTime.Now; temp.UserExpirationDate = userPurchase.UserExpirationDate; temp.ActivatorsEmail = User.Identity.Name; temp.Name = userPurchase.Name; temp.Email = userPurchase.Email.ToLower().Trim(); if (userPurchase.ActivatorsEmail != null) { temp.ActivatorsEmail = userPurchase.ActivatorsEmail.ToLower().Trim(); } else { temp.ActivatorsEmail = null; } temp.FacilityName = userPurchase.FacilityName; temp.IsAdmin = userPurchase.IsAdmin; //Check to make sure the combination of Email, Password, and Facilty is unique int existingUserCheck = _context.UserPurchases.Where(x => x.Email == userPurchase.Email && x.Password == pw && x.FacilityName == userPurchase.FacilityName && x.Id != userPurchase.Id).Count(); if (existingUserCheck == 0) { _context.SaveChanges(); return RedirectToAction("Index"); } else { ModelState.AddModelError("Email", "The combination of Email, Password, and Facility Name must be unique. "); } } return View(userPurchase); }
public QuestionnaireReportForUser(QuestionnaireReport report, UserPurchase user) { this.Report = report; this.UserPurchase = user; }
public UserDetails(UserPurchase user, QuestionnaireReport questionnaireReport) { this.UserPurchase = user; this.QuestionnaireReport = questionnaireReport; }