/// <summary> /// Bestätigung einer Austragung /// </summary> /// <param name="model"></param> /// <returns></returns> public EmailResult Discharge(SubscriptionMailModel model) { To.Add(model.User.Email); Subject = "Ihre Eintragung in " + model.Summary.Name; return(Email("Discharge", model)); }
/// <summary> /// Bestätigung einer Austragung /// </summary> /// <param name="model"></param> /// <returns></returns> public EmailResult Discharge(SubscriptionMailModel model) { InitSenderTopic(MAIL_SECTION_SUBSCRIPTIONS); To.Add(model.User.Email); Subject = "Ihre Eintragung in " + model.Summary.Name; return(Email("Discharge", model)); }
/// <summary> /// Wird nur als Dummy zum Erzeugen des Standardtexts verwendet /// </summary> /// <param name="model"></param> /// <returns></returns> public EmailResult ReactivateOccurrence(SubscriptionMailModel model) { From = new MailAddress(model.SenderUser.Email, model.SenderUser.FirstName + " " + model.SenderUser.LastName + " (via NINE)").ToString(); Subject = "Reaktivierung " + model.Summary.Name; return(Email("ReactivateOccurrence", model)); }
public PartialViewResult SubscribeActivity(Guid Id) { //Db.Database.BeginTransaction() var activity = Db.Occurrences.SingleOrDefault(ac => ac.Id == Id); var model = new OccurrenceStateModel(); if (activity != null) { model.Occurrence = activity; var userProfile = UserManager.FindByName(User.Identity.Name); var occService = new OccurrenceService(UserManager); var msg = occService.SubscribeOccurrence(activity.Id, userProfile); model.HasError = msg.HasError; model.ErrorMessage = msg.Message; model.Subscription = msg.Subscription; var logger = LogManager.GetLogger("SubscribeActivity"); var ac = new ActivityService(); var summary = ac.GetSummary(Id); if (msg.HasError) { logger.InfoFormat("{0} ({1}) by [{2}]: {3}", summary.Activity.Name, summary.Activity.ShortName, User.Identity.Name, msg.Message); } else { logger.InfoFormat("{0} ({1}) by [{2}]", summary.Activity.Name, summary.Activity.ShortName, User.Identity.Name); } if (new SystemConfig().MailSubscriptionEnabled) { var mailModel = new SubscriptionMailModel { Summary = summary, Subscription = model.Subscription, User = userProfile, }; var mail = new MailController(); mail.Subscription(mailModel).Deliver(); } } return(PartialView("_SubscriptionState", model)); }
/// <summary> /// /// </summary> /// <param name="model"></param> /// <returns></returns> public EmailResult CancelAllOccurrences(SubscriptionMailModel model) { From = new MailAddress(model.SenderUser.Email, model.SenderUser.FirstName + " " + model.SenderUser.LastName + " (via NINE)").ToString(); Subject = "Absage " + model.Summary.Name; return(Email("CancelAllOccurrences", model)); }
/// <summary> /// Austragen durch anderen Benutzer /// </summary> /// <param name="model"></param> /// <returns></returns> public EmailResult RemoveSubscription(SubscriptionMailModel model) { To.Add(model.User.Email); From = new MailAddress(model.SenderUser.Email, model.SenderUser.FirstName + " " + model.SenderUser.LastName + " (via NINE)").ToString(); CC.Add(model.SenderUser.Email); Subject = "Ihre Eintragung in " + model.Summary.Name; return(Email("RemoveSubscription", model)); }
/// <summary> /// /// </summary> /// <param name="Id"></param> public void DeleteSubscription(Guid Id) { var activity = Db.Occurrences.SingleOrDefault(ac => ac.Id == Id); if (activity != null) { var logger = LogManager.GetLogger("DischargeActivity"); var userProfile = UserManager.FindByName(User.Identity.Name); // das können auch mehrere sein! // es ist nicht klar, welche Subscription gemeint ist // die erste ist dann die beste var subscription = activity.Subscriptions.FirstOrDefault(s => s.UserId.Equals(userProfile.Id)); var ac = new ActivityService(); var summary = ac.GetSummary(Id); if (subscription != null) { 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); } activity.Subscriptions.Remove(subscription); Db.Subscriptions.Remove(subscription); Db.SaveChanges(); logger.InfoFormat("{0} ({1}) by [{2}]", summary.Activity.Name, summary.Activity.ShortName, User.Identity.Name); if (new SystemConfig().MailSubscriptionEnabled) { var mailModel = new SubscriptionMailModel { Summary = summary, Subscription = subscription, User = userProfile, }; var mail = new MailController(); mail.Discharge(mailModel).Deliver(); } } else { logger.ErrorFormat("Missing subscription for activity {0} and user {1}", summary.Activity.Name, User.Identity.Name); } } }