public void UpdateMessagingPreferences(ProfileMessagingPreferenceModel updatedMessagingPreferenceModel, UserProfile user) { //first delete existing messaging preferences DeleteMessagingPreferencesByCustomer(user.UserId, updatedMessagingPreferenceModel.CustomerNumber, updatedMessagingPreferenceModel.BranchId); //then create messaging preferences CreateMessagingPreferencesByCustomer(user.UserId, updatedMessagingPreferenceModel); }
public Models.OperationReturnModel <bool> UpdateMessagingPreferences(ProfileMessagingPreferenceModel messagingPreferenceModel) { Models.OperationReturnModel <bool> ret = new Models.OperationReturnModel <bool>(); try { _msgLogic.UpdateMessagingPreferences(messagingPreferenceModel, this.AuthenticatedUser); ret.SuccessResponse = true; ret.IsSuccess = true; } catch (Exception ex) { _log.WriteErrorLog("UpdateMessagingPreferences", ex); ret.ErrorMessage = ex.Message; ret.IsSuccess = false; } return(ret); }
public void CreateMessagingPreferencesByCustomer(Guid userId, ProfileMessagingPreferenceModel messagingPrefModel) { //this also works for user default since customer = null for user default foreach (var currentPreference in messagingPrefModel.Preferences) { foreach (var channel in currentPreference.SelectedChannels) { var newPreference = new UserMessagingPreference() { Channel = channel.Channel, CustomerNumber = messagingPrefModel.CustomerNumber, NotificationType = currentPreference.NotificationType, UserId = userId, BranchId = messagingPrefModel.BranchId == null ? null : messagingPrefModel.BranchId.ToLower() }; _userMessagingPreferenceRepository.Create(newPreference); } } _uow.SaveChanges(); }