public async Task SaveAsync <T>(NotifierSettingModel <T> settingModel) where T : INotifierTemplate { var identity = new ActivityEventIdentity(settingModel.ActivityType, settingModel.NotificationType) .AddNotifierIdentity(settingModel.NotifierType); var(setting, isCreated) = await FindOrCreateSettingAsync <T>(identity); var updatedSetting = GetUpdatedSetting(setting, settingModel); if (isCreated) { await _repository.AddAsync(updatedSetting); } else { await _repository.UpdateAsync(updatedSetting); } }
protected virtual void FillEnumTypes <T>( NotifierSettingModel <T> notifierSettingModel, NotifierSettingSaveModel <T> notifierSettingSaveModel) where T : INotifierTemplate { notifierSettingModel.ActivityType = _activityTypeProvider[notifierSettingSaveModel.ActivityType]; if (notifierSettingSaveModel.ActivityType == CommunicationTypeEnum.CommunicationSettings.ToInt()) { notifierSettingModel.ActivityType = CommunicationTypeEnum.CommunicationSettings; } if (notifierSettingSaveModel.ActivityType == CommunicationTypeEnum.Member.ToInt()) { notifierSettingModel.ActivityType = CommunicationTypeEnum.Member; } notifierSettingModel.NotificationType = _notificationTypeProvider[notifierSettingSaveModel.NotificationType]; notifierSettingModel.NotifierType = _notifierTypeProvider[notifierSettingSaveModel.NotifierType]; }