Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }
Exemplo n.º 3
0
        /// <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));
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
        /// <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));
        }
Exemplo n.º 6
0
        /// <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));
        }
Exemplo n.º 7
0
        /// <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);
                }
            }
        }