public ActionResult DeleteAccount(DeleteUserModel model) { var user = UserManager.FindByName(User.Identity.Name); if (user != null) { // Devices löschen! var _db = new ApplicationDbContext(); var devices = _db.Devices.Where(d => d.User.Id.Equals(user.Id)).ToList(); foreach (var userDevice in devices) { _db.Devices.Remove(userDevice); } _db.SaveChanges(); UserManager.Delete(user); // Mail senden var mailModel = new DeleteUserMailModel { User = user }; new MailController().DeleteUserMail(mailModel).Deliver(); // Abmelden und byebye anzeigen AuthenticationManager.SignOut(); return(RedirectToAction("ByeBye")); } throw new Exception("Kein gültiger Benutzer"); }
internal EmailResult DeleteUserMail(DeleteUserMailModel model) { To.Add(model.User.Email); Subject = "Ihr Benutzerkonto bei NINE"; return(Email("DeleteUser", model)); }
/// <summary> /// Der Benutzer löscht sein eigenes Konto /// </summary> /// <param name="model"></param> /// <returns></returns> internal EmailResult DeleteUserMail(DeleteUserMailModel model) { InitSenderTopic(MAIL_SECTION_ACCOUNT); To.Add(model.User.Email); Subject = "Ihr Benutzerkonto bei NINE"; return(Email("DeleteUser", model)); }
public PartialViewResult DeleteUser(string id) { // es wird nur noch der User gelöscht, alle Infos bleiben erhalten try { var user = UserManager.FindById(id); // Devices löschen! var devices = _db.Devices.Where(d => d.User.Id.Equals(user.Id)).ToList(); foreach (var userDevice in devices) { _db.Devices.Remove(userDevice); } _db.SaveChanges(); UserManager.Delete(user); var mailModel = new DeleteUserMailModel { User = user }; new MailController().DeleteUserMail(mailModel).Deliver(); return(PartialView("_EmptyRow")); } catch (Exception ex) { var msg = ex.Message; if (ex.InnerException != null) { msg += " - "; msg += ex.InnerException.Message; if (ex.InnerException.InnerException != null) { msg += " - "; msg += ex.InnerException.InnerException.Message; } } return(PartialView("_EmptyRow", msg)); } }
public ActionResult DeleteAccount(DeleteUserModel model) { var user = UserManager.FindByName(User.Identity.Name); if (user != null) { // Alle Eintragungen löschen // Das darf nur der Admin, der weiss, was er tut. Daher hier auch keine E-Mail oder ähnliches var subscriptions = Db.Subscriptions.OfType <OccurrenceSubscription>().Where(s => !string.IsNullOrEmpty(s.UserId) && s.UserId.Equals(user.Id)).ToList(); foreach (var subscription in subscriptions) { var allDrawings = Db.SubscriptionDrawings.Where(x => x.Subscription.Id == subscription.Id).ToList(); foreach (var drawing in allDrawings) { Db.SubscriptionDrawings.Remove(drawing); } var bets = subscription.Bets.ToList(); foreach (var bet in bets) { Db.LotteriyBets.Remove(bet); } Db.Subscriptions.Remove(subscription); } var games = Db.LotteryGames.Where(x => x.UserId.Equals(user.Id)).ToList(); foreach (var lotteryGame in games) { Db.LotteryGames.Remove(lotteryGame); } var semSubscriptions = Db.Subscriptions.OfType <SemesterSubscription>().Where(s => !string.IsNullOrEmpty(s.UserId) && s.UserId.Equals(user.Id)).ToList(); foreach (var subscription in semSubscriptions) { Db.Subscriptions.Remove(subscription); } Db.SaveChanges(); // Devices löschen! var _db = new ApplicationDbContext(); var devices = _db.Devices.Where(d => d.User.Id.Equals(user.Id)).ToList(); foreach (var userDevice in devices) { _db.Devices.Remove(userDevice); } _db.SaveChanges(); UserManager.Delete(user); // Mail senden var mailModel = new DeleteUserMailModel { User = user }; new MailController().DeleteUserMail(mailModel).Deliver(); // Abmelden und byebye anzeigen AuthenticationManager.SignOut(); return(RedirectToAction("ByeBye")); } throw new Exception("Kein gültiger Benutzer"); }