Esempio n. 1
0
        public async Task <ActionResult> Notifications(UserEmailNotificationSettingsVM model)
        {
            await _userAccountManager.SaveNotificationSettings(model);

            SetMessage(MessageType.Success, "Settings updated successfully");
            return(RedirectToAction("Index", "Settings"));
        }
        public async Task SaveNotificationSettings(UserEmailNotificationSettingsVM model)
        {
            //DELETE EXISTING
            var q = @"DELETE FROM UserNotificationSubscription WHERE UserId=@userId and TeamId=@teamId;";

            using (var con = new SqlConnection(ConnectionString))
            {
                con.Open();
                await con.ExecuteAsync(q, new { @userId = model.UserId, @teamId = model.TeamId });
            }
            //Insert new
            foreach (var setting in model.EmailSubscriptions.Where(s => s.IsSelected))
            {
                var q2 = @"INSERT INTO
                    UserNotificationSubscription(UserID,NotificationTypeID,TeamId,Subscribed,ModifiedDate) VALUES
                    (@userId,@notificationTypeId,@teamId,@subscibed,@dt)";
                using (var con = new SqlConnection(ConnectionString))
                {
                    con.Open();
                    await con.ExecuteAsync(q2, new
                    {
                        @userId             = model.UserId,
                        @subscibed          = true,
                        @notificationTypeId = setting.NotificationTypeId,
                        @dt     = DateTime.Now,
                        @teamId = model.TeamId
                    });
                }
            }
        }
 public ActionResult NotificationSettings(UserEmailNotificationSettingsVM model)
 {
     try
     {
         foreach (var setting in model.EmailSubscriptions)
         {
             var userNotification = new UserNotificationSubscription {
                 TeamID = TeamID, UserID = UserID
             };
             userNotification.Subscribed         = setting.IsSelected;
             userNotification.ModifiedDate       = DateTime.UtcNow;
             userNotification.NotificationTypeID = setting.NotificationTypeID;
             repo.SaveUserNotificationSubscription(userNotification);
         }
         var msg = new AlertMessageStore();
         msg.AddMessage("success", "Notification Settings updated successfully");
         TempData["AlertMessages"] = msg;
         return(RedirectToAction("NotificationSettings"));
     }
     catch (Exception ex)
     {
         log.Error(ex);
         return(View("Error"));
     }
 }
        public ActionResult NotificationSettings()
        {
            var vm = new UserEmailNotificationSettingsVM {
                TeamID = TeamID
            };
            var userSubscriptions = repo.GetUser(UserID).UserNotificationSubscriptions.ToList();

            var notificationTypes = repo.GetNotificationTypes().ToList();

            foreach (var item in notificationTypes)
            {
                var emailSubscription = new EmailSubscriptionVM {
                    NotificationTypeID = item.ID, Name = item.Name
                };
                emailSubscription.IsSelected = userSubscriptions.Any(s => s.UserID == UserID && s.TeamID == TeamID && s.NotificationTypeID == item.ID && s.Subscribed == true);
                vm.EmailSubscriptions.Add(emailSubscription);
            }

            return(View(vm));
        }
Esempio n. 5
0
        public UserEmailNotificationSettingsVM GetUserNotificationSettings(int userId, int teamId)
        {
            var userSubscriptions = new UserEmailNotificationSettingsVM();

            userSubscriptions.EmailSubscriptions = db.NotificationTypes.Select(s => new EmailSubscriptionVM {
                NotificationTypeID = s.ID, Name = s.Name
            }).ToList();

            var user = db.Users.FirstOrDefault(s => s.ID == userId);

            if (user != null && user.UserNotificationSubscriptions.Any())
            {
                var userSubScriptions = user.UserNotificationSubscriptions.ToList();
                foreach (var emailSubscriptionVm in userSubscriptions.EmailSubscriptions)
                {
                    emailSubscriptionVm.IsSelected =
                        userSubScriptions.Any(
                            s =>
                            s.NotificationTypeID == emailSubscriptionVm.NotificationTypeID && s.TeamID == teamId &&
                            s.Subscribed);
                }
            }
            return(userSubscriptions);
        }
 public async Task SaveNotificationSettings(UserEmailNotificationSettingsVM model)
 {
     model.UserId = userSessionHelper.UserId;
     model.TeamId = userSessionHelper.TeamId;
     await userRepository.SaveNotificationSettings(model);
 }
 public ActionResult NotificationSettings(UserEmailNotificationSettingsVM model)
 {
     try
     {
         foreach (var setting in model.EmailSubscriptions)
         {
             var userNotification = new UserNotificationSubscription { TeamID = TeamID, UserID = UserID };
             userNotification.Subscribed = setting.IsSelected;
             userNotification.ModifiedDate = DateTime.UtcNow;
             userNotification.NotificationTypeID = setting.NotificationTypeID;
             repo.SaveUserNotificationSubscription(userNotification);
         }
         var msg = new AlertMessageStore();
         msg.AddMessage("success", "Notification Settings updated successfully");
         TempData["AlertMessages"] = msg;
         return RedirectToAction("NotificationSettings");
     }
     catch (Exception ex)
     {
         log.Error(ex);
         return View("Error");
     }
 }
        public ActionResult NotificationSettings()
        {
            var vm = new UserEmailNotificationSettingsVM { TeamID = TeamID };
            var userSubscriptions = repo.GetUser(UserID).UserNotificationSubscriptions.ToList();

            var notificationTypes = repo.GetNotificationTypes().ToList();
            foreach (var item in notificationTypes)
            {
                var emailSubscription = new EmailSubscriptionVM { NotificationTypeID = item.ID, Name = item.Name };
                emailSubscription.IsSelected = userSubscriptions.Any(s => s.UserID == UserID && s.TeamID == TeamID && s.NotificationTypeID == item.ID && s.Subscribed == true);
                vm.EmailSubscriptions.Add(emailSubscription);
            }

            return View(vm);
        }