/// <summary> /// 建立新學習圈的固定角色 - 老師 + 學生 /// </summary> /// <param name="learningId">學習圈代碼</param> /// <param name="memberId">管理者代碼</param> /// <returns></returns> public string[] AddNewLearningRole(int learningId, int memberId) { var db = _uow.DbContext; string[] roleIdArray = new string[2]; //新增老師角色 var entityRole = new LearningRole { IsAdminRole = true, LearningId = learningId, Name = "老師", IsFixed = false, Created = Infrastructure.Property.TimeData.Create(DateTime.UtcNow), CreateUser = memberId, Enable = true, UpdateUser = null, DeleteUser = null, Updated = Infrastructure.Property.TimeData.Create(null), Deleted = Infrastructure.Property.TimeData.Create(null), ExternalRid = 1 }; db.LearningRole.Add(entityRole); db.SaveChanges(); roleIdArray[0] = entityRole.Id.ToString(); //新增學生角色 entityRole.Name = "學生"; entityRole.IsAdminRole = false; db.LearningRole.Add(entityRole); db.SaveChanges(); roleIdArray[1] = entityRole.Id.ToString(); return(roleIdArray); }
/// <summary> /// 建立課程組織預設角色 - 目前給同步API用 /// </summary> /// <param name="orgId"></param> /// <returns></returns> public List <LearningRole> SetLearningCircleOrgnaizationRole(int orgId, int learningCircleId) { var db = _uow.DbContext; var responseData = new List <LearningRole>(); var templateRoleDatas = db.LearningTemplateRoles.Where(t => t.OrgId == orgId); if (templateRoleDatas.FirstOrDefault() == null) { return(null); } foreach (var templateRole in templateRoleDatas) { var learningCircleRoleEntity = new LearningRole() { ExternalRid = 1, Created = TimeData.Create(DateTime.UtcNow), Deleted = TimeData.Create(null), Updated = TimeData.Create(null), CreateUser = 1, Enable = true, IsFixed = true, Ican5Memo = templateRole.RoleKey, LearningId = learningCircleId, Name = templateRole.Name, Level = templateRole.Level }; learningCircleRoleEntity.IsAdminRole = (templateRole.Level <= 2) ? true : false; db.LearningRole.Add(learningCircleRoleEntity); responseData.Add(learningCircleRoleEntity); } db.SaveChanges(); return(responseData); }
/// <summary> /// 新增自訂角色 /// </summary> /// <param name="memberId">管理者代碼</param> /// <param name="learningId">學習圈代碼</param> /// <param name="roleName">自訂角色名稱</param> /// <param name="isAdmin">是否為管理員</param> /// <returns></returns> public Infrastructure.Entity.LearningRole AddLearningEditRole(int memberId, int learningId, string roleName, bool isAdmin, bool?isFixed = false, int?level = 3) { var db = _uow.DbContext; var info = new LearningRole { LearningId = learningId, Name = roleName, IsFixed = isFixed.Value, IsAdminRole = isAdmin, Created = Infrastructure.Property.TimeData.Create(DateTime.UtcNow), CreateUser = memberId, Enable = true, UpdateUser = null, DeleteUser = null, Updated = Infrastructure.Property.TimeData.Create(null), Deleted = Infrastructure.Property.TimeData.Create(null), Level = level.Value, Ican5Memo = "1000" }; if (level.Value < 3) { info.Ican5Memo = level.Value == 1 ? "2000" : "2010"; } db.LearningRole.Add(info); db.SaveChanges(); return(info); }
/// <summary> /// 建立多筆 /// </summary> /// <param name="requestData"></param> /// <returns></returns> public IEnumerable <LearningRole> CreateMutiple(LearningRolePostResquest requestData) { var db = _uow.DbContext; var tokenService = new TokenService(); var tokenInfo = tokenService.GetTokenInfo(requestData.Token).Result; if (tokenInfo == null) { return(null); } var learningCircleService = new LearningCircleService(); var learningCircleInfo = learningCircleService.GetDetailByOuterKey(requestData.CircleKey.ToLower()); if (learningCircleInfo == null) { return(null); } var responseData = new List <LearningRole>(); foreach (var data in requestData.Roles) { var checkEmpty = db.LearningRole.FirstOrDefault(t => t.Name == data.Name && t.Level == data.Level && t.LearningId == learningCircleInfo.Id); if (checkEmpty != null) { continue; } var entity = new LearningRole() { Created = TimeData.Create(DateTime.UtcNow), Deleted = TimeData.Create(null), Updated = TimeData.Create(null), IsAdminRole = data.Level <= 2 ? true : false, Name = data.Name, Level = data.Level, Enable = true, IsFixed = true, LearningId = learningCircleInfo.Id, CreateUser = tokenInfo.MemberId }; db.LearningRole.Add(entity); responseData.Add(entity); } db.SaveChanges(); return(responseData); }