private void UpdateGroup(ExtendedUsersGroupsRecord singleRecord) { var record = _extendedUsersGroupsRepository.Get(o => o.Id.Equals(singleRecord.Id)); var inErrorGroups = new List <string>(); if (record != null) { _extendedUsersGroupsRepository.Update(singleRecord); } else { if (!string.IsNullOrEmpty(singleRecord.GroupName)) { var groupsToCreate = singleRecord.GroupName.Split(new string[] { "||" }, System.StringSplitOptions.RemoveEmptyEntries); foreach (var groupToCreate in groupsToCreate) { var groupRecordToCreate = new ExtendedUsersGroupsRecord { GroupName = groupToCreate, }; try { _extendedUsersGroupsRepository.Create(groupRecordToCreate); _extendedUsersGroupsRepository.Flush(); } catch { inErrorGroups.Add(groupRecordToCreate.GroupName); } } } } if (inErrorGroups.Count() > 0) { _notifier.Error(T("Some groups cannot be inserted. {0}", String.Join(",", inErrorGroups))); } }
public void WriteSettings(ViewModels.UsersGroupsSettingsVM settings) { foreach (var singlerecord in settings.ExtendedUsersGroupsListVM) { if (singlerecord.Delete) { if (!TryDelete(singlerecord.Id)) { _orchardServices.Notifier.Add(NotifyType.Error, T("Group user is in use and can't be deleted")); } else { ExtendedUsersGroupsRecord ex = new ExtendedUsersGroupsRecord(); ex.Id = singlerecord.Id; ex.GroupName = singlerecord.GroupName; this.DeleteGroup(ex); } } else { ExtendedUsersGroupsRecord ex = new ExtendedUsersGroupsRecord(); ex.Id = singlerecord.Id; ex.GroupName = singlerecord.GroupName; this.UpdateGroup(ex); } } }
private void DeleteGroup(ExtendedUsersGroupsRecord singleRecord) { var record = _extendedUsersGroupsRepository.Get(o => o.Id.Equals(singleRecord.Id)); if (record != null) { _extendedUsersGroupsRepository.Delete(record); } _extendedUsersGroupsRepository.Flush(); }