/// <summary> /// 取得編輯學習圈的頁面框架資訊 /// </summary> /// <param name="learningCircleId"></param> /// <param name="orgId"></param> /// <returns></returns> public Infrastructure.ViewModel.Backend.LearningCircleViewModel GetUpdateLearningCircleViewModelInformation(int learningCircleId, int orgId) { var db = _uow.DbContext; var backendService = new Service.Backend.BackendService(); var result = new Infrastructure.ViewModel.Backend.LearningCircleViewModel(); var learningCircleInfo = GetDetailByLearningCircleId(learningCircleId); if (learningCircleInfo == null) { return(null); } result.LearningInfo = learningCircleInfo; var extensionColumns = backendService.GetExtensionColumns(orgId); result.ExtensionInfo = new List <Infrastructure.ViewModel.Backend.LearningCircleExt>(); foreach (var column in extensionColumns) { var resExtInfo = new Infrastructure.ViewModel.Backend.LearningCircleExt(); var resExtValue = db.LCExtensionValue.FirstOrDefault(t => t.ColumnId == column.Id && t.DataId == learningCircleId); resExtInfo.Column = column; resExtInfo.Value = resExtValue; result.ExtensionInfo.Add(resExtInfo); } return(result); }
/// <summary> /// 取得新增學習圈的頁面框架資訊 /// </summary> /// <param name="orgId"></param> /// <returns></returns> public Infrastructure.ViewModel.Backend.LearningCircleViewModel GetCreateLearningCircleViewModelInformation(int orgId) { var backendService = new BackendService(); var result = new Infrastructure.ViewModel.Backend.LearningCircleViewModel(); var extensionColumns = backendService.GetExtensionColumns(orgId); result.ExtensionInfo = new List <Infrastructure.ViewModel.Backend.LearningCircleExt>(); foreach (var column in extensionColumns) { var resExtInfo = new Infrastructure.ViewModel.Backend.LearningCircleExt(); resExtInfo.Column = column; result.ExtensionInfo.Add(resExtInfo); } return(result); }
/// <summary> /// 建立學習圈 - [後臺管理-Area] /// </summary> /// <param name="data"></param> /// <param name="creator"></param> /// <returns></returns> public LearningCircle InsertLearningCircle(Infrastructure.ViewModel.Backend.LearningCircleViewModel data, int creator) { try { var learningRoleService = new LearningRoleService(); var authService = new AuthService(); var db = _uow.DbContext; var entity = data.LearningInfo; entity.Updated = TimeData.Create(null); entity.Deleted = TimeData.Create(null); entity.Created = TimeData.Create(DateTime.UtcNow); entity.CreateUser = creator; entity.LCType = 10; entity.Visibility = true; db.LearningCircle.Add(entity); db.SaveChanges(); //建立老師角色身分 var teacherRole = learningRoleService.AddLearningEditRole(creator, entity.Id, "老師", true, false, 1); //建立助教角色身分 var surpportTeacherRole = learningRoleService.AddLearningEditRole(creator, entity.Id, "助教", true, false, 2); //建立學生角色身分 var studentRole = learningRoleService.AddLearningEditRole(creator, entity.Id, "學生", false); //建立學習圈所有角色的權限 var insertAuthSuccess = authService.InsertLearningCircleAllRoleAuth(entity.Id, creator); # region 新增擴充欄位資訊[目前只有文大有] - 如果是新的學校需要設定新增擴充欄位 [ExtensionColumns資料表]才會有 if (data.ExtensionInfo != null) { foreach (var row in data.ExtensionInfo) { var extValueEntity = new LCExtensionValue(); extValueEntity.DataId = entity.Id; extValueEntity.TextValue = row.Value.TextValue; extValueEntity.ColumnId = row.Column.Id; db.LCExtensionValue.Add(extValueEntity); } db.SaveChanges(); } #endregion return(entity); }