/// <summary> /// Adds a User /// </summary> public void AddUser(User user) { if (user == null) { throw new ArgumentNullException("user"); } user.DateCreated = DateTime.Now; this.Repository.Add(user); }
/// <summary> /// ctor the Mighty /// </summary> public SendToShopOrderPartnerNotificationMessage(Partner partner, PartnerSendToShopSettings partnerSendToShopSettings, SendToShopOrder sendToShopOrder, User user, IStringCryptoService stringCryptoService, IWebSettings webSettings, IRecipeDataService recipeDataService) { this.Partner = partner; this.SendToShopOrder = sendToShopOrder; this.User = user; this.StringCryptoService = stringCryptoService; this.WebSettings = webSettings; this.Ingredients = recipeDataService.GetAllPublicIngredients(); // Message Setup this.FormatAsHtml = true; this.Subject = "Brewgr.com - Send-To-Shop Order #:" + sendToShopOrder.SendToShopOrderId; this.SenderAddress = webSettings.SenderAddress; this.SenderDisplayName = webSettings.SenderDisplayName; this.ToRecipients.Add(partnerSendToShopSettings.DeliveryEmailAddress); }
/// <summary> /// Unsubscribes a user from a notification Type /// </summary> public void UnsubscribeUserFromNotificationType(User user, NotificationType notificationType) { if (user == null) { throw new ArgumentNullException("user"); } var userNotificationType = user.UserNotificationTypes.FirstOrDefault(x => x.NotificationTypeId == (int) notificationType); if (userNotificationType == null) { return; } this.Repository.Delete(userNotificationType); }
/// <summary> /// Subscribes a user to a notification type /// </summary> public void SubscribeUserToNotificationType(User user, NotificationType notificationType) { if (user == null) { throw new ArgumentNullException("user"); } var userNotificationType = user.UserNotificationTypes.FirstOrDefault(x => x.NotificationTypeId == (int)notificationType); if (userNotificationType != null) { return; } userNotificationType = new UserNotificationType { NotificationTypeId = (int)notificationType, DateCreated = DateTime.Now }; user.UserNotificationTypes.Add(userNotificationType); }
/// <summary> /// Subscribes a user to default user notifications /// </summary> public void SubscribeUserToDefaultNotifications(User user) { if (user == null) { throw new ArgumentNullException("user"); } if (user.UserNotificationTypes == null) { user.UserNotificationTypes = new List<UserNotificationType>(); } user.UserNotificationTypes.Add(new UserNotificationType {NotificationTypeId = (int) NotificationType.RecipeComment, DateCreated = DateTime.Now }); user.UserNotificationTypes.Add(new UserNotificationType {NotificationTypeId = (int) NotificationType.BrewerFollowed, DateCreated = DateTime.Now }); user.UserNotificationTypes.Add(new UserNotificationType { NotificationTypeId = (int)NotificationType.SiteFeatures, DateCreated = DateTime.Now }); }
/// <summary> /// Registers a new User /// </summary> public User RegisterNewUser(string fullName, string emailAddress, string password) { if(string.IsNullOrWhiteSpace(fullName)) { throw new ArgumentNullException("fullName"); } if(string.IsNullOrWhiteSpace(emailAddress)) { throw new ArgumentNullException("emailAddress"); } if(string.IsNullOrWhiteSpace(password)) { throw new ArgumentNullException("password"); } var nameParts = fullName.Split(' '); var user = new User { FirstName = nameParts.First(), LastName = string.Join(" ", nameParts.Skip(1)), EmailAddress = emailAddress, Password = this.Hasher.Hash(password), IsActive = true, Username = Guid.NewGuid().ToString().Replace("-",""), HasCustomUsername = false, DateCreated = DateTime.Now }; this.SubscribeUserToDefaultNotifications(user); this.Repository.Add(user); return user; }