Esempio n. 1
0
        public ActionResult Create([Bind(Include = "ID,LastName,FirstMidName,EnrollmentDate")] Volunteer volunteer)
        {
            if (ModelState.IsValid)
            {
                db.Volunteers.Add(volunteer);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(volunteer));
        }
        public ActionResult Create([Bind(Include = "EnrollmentID,VolunteerID,City,State,DisasterType")] Enrollment enrollment)
        {
            if (ModelState.IsValid)
            {
                db.Enrollments.Add(enrollment);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.VolunteerID = new SelectList(db.Volunteers, "ID", "LastName", enrollment.VolunteerID);
            return(View(enrollment));
        }
Esempio n. 3
0
        private static void Cleanup()
        {
            using (HelpContext db = new HelpContext())
            {
                foreach (User user in db.Users.Where(u => u.SerializedRoles == "" || u.SerializedRoles == null || u.SerializedRoles.StartsWith(",")))
                {
                    var roles = user.Roles.ToList();
                    if (!roles.Contains(Role.UserRole))
                    {
                        roles.Add(Role.UserRole);
                    }
                    roles.Remove("");
                    user.Roles = roles.Distinct().ToArray();
                }
                var usersToRemove = new List <User>();
                foreach (User user in db.Users.Where(u => u.EmailAddress == "" || u.EmailAddress == null).ToList())
                {
                    if (string.IsNullOrWhiteSpace(user.VirtualId))
                    {
                        bool shouldDelete = user.LoginTokens.Any(loginToken => loginToken.CreatedAt.AddDays(31) < DateTime.Now);
                        if (shouldDelete)
                        {
                            usersToRemove.Add(user);
                        }
                    }
                }
                db.Users.RemoveRange(usersToRemove);

                db.Channels.RemoveRange(db.Channels.Where(c => !c.Users.Any()));
                db.SaveChanges();
            }
        }
Esempio n. 4
0
        public bool SendPasswordRecovery(string email)
        {
            using (HelpContext db = new HelpContext())
            {
                User user =
                    db.Users.SingleOrDefault(
                        u => u.EmailAddress.Equals(email, StringComparison.InvariantCultureIgnoreCase));
                if (user == null)
                {
                    return(false);
                }

                string resetKey = user.GenerateResetKey();
                db.SaveChanges();

                string resetLink = "https://" + HttpContext.Current.Request.Url.Host +
                                   (HttpContext.Current.Request.Url.Port != 430
                                       ? ":" + HttpContext.Current.Request.Url.Port
                                       : "") + "/Account/ResetPassword2?key=" + resetKey + "&email=" + HttpUtility.UrlEncode(email);
                SendGridMessage message = new SendGridMessage
                {
                    From    = new MailAddress("*****@*****.**", "NoReply"),
                    Subject = "Nulstilling af kodeord",
                    Html    =
                        "<p>Du har anmodet om at få nulstillet dit kodeord.</p><p>Brug denne nøgle for at nulstille dit kodeord. </p>" +
                        "<pre>" + resetKey + "</pre>" +
                        "<p>Eller gå til <a href=\"" + resetLink + "\">" + resetLink + "</a>" +
                        "<p>Du har til " + user.ResetExpiresAt.ToUniversalTime() + " UTC til at nulstille dit kodeord.</p>" +
                        "<p>Har du ikke anmodet om at få dit kodeord nulstillet kan du se bort fra denne mail."
                };

                message.AddTo(email);

                Web transportWeb = new Web(key);
                transportWeb.DeliverAsync(message);
            }

            return(true);
        }