public IHttpActionResult Post(LearningCirclePostRequest requestData) { var result = new Infrastructure.ViewModel.Base.BaseResponse <Infrastructure.Entity.LearningCircle>(); var requestService = new Service.Utility.RequestDataHelper <LearningCirclePostRequest>(); var checkColumnKeys = new string[7] { "name", "description", "token", "startdate", "enddate", "weeks", "place" }; var checkEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKeys); if (checkEmpty == false) { result.Success = false; result.Message = "確認是否遺漏資訊"; return(Content(HttpStatusCode.BadRequest, result)); } var service = new LearningCircleService(); var data = service.CreateLearningCircle(requestData.Name, requestData.CircleKey, requestData.Description, requestData.Token, requestData.StartDate.Value, requestData.EndDate.Value, requestData.OrgId ); if (data == null) { result.Success = false; result.Message = "新增失敗"; result.State = Infrastructure.ViewModel.Base.LogState.Error; return(Ok(result)); } result.Success = true; var learningRoleService = new LearningRoleService(); var authService = new AuthService(); //建立老師角色身分 var teacherRole = learningRoleService.AddLearningEditRole(data.CreateUser.Value, data.Id, "老師", true, false, 1); //建立助教角色身分 var surpportTeacherRole = learningRoleService.AddLearningEditRole(data.CreateUser.Value, data.Id, "助教", true, false, 2); //建立學生角色身分 var studentRole = learningRoleService.AddLearningEditRole(data.CreateUser.Value, data.Id, "學生", false); //建立學習圈內角色權限 var insertAuthSuccess = authService.InsertLearningCircleAllRoleAuth(data.Id, data.CreateUser.Value); var weekService = new WeekTableService(); var weekDatas = weekService.CreateWeekDatas(requestData.Token, data.LearningOuterKey, 0, requestData.Place, requestData.StartDate.Value, requestData.EndDate.Value, requestData.Weeks); var timeTableService = new TimeTableService(); var timeTableDatas = requestData.ClassWeekType > 0 ? timeTableService.CreateByCircleKey(data.LearningOuterKey, requestData.ClassWeekType) : timeTableService.CreateByCircleKey(data.LearningOuterKey); result.Message = "新增成功"; result.Data = data; return(Ok(result)); }