public IHttpActionResult Post(OrganizationPostRequest requestData) { var response = new Infrastructure.ViewModel.Base.BaseResponse <Organization>(); var requestService = new Service.Utility.RequestDataHelper <OrganizationPostRequest>(); var checkColumnKeys = new string[3] { "name", "orgcode", "token" }; var checkDataEmpty = requestService.CheckColumnEmpty(requestData, checkColumnKeys); if (checkDataEmpty == false) { response.Message = "遺漏參數"; response.State = Infrastructure.ViewModel.Base.LogState.RequestDataError; response.Success = false; return(Content(HttpStatusCode.BadRequest, response)); } var orgService = new OrganizationService(); var responseData = orgService.CreateOrganization(requestData); if (responseData == null) { response.Message = "建立失敗"; response.State = Infrastructure.ViewModel.Base.LogState.Error; response.Success = false; return(Ok(response)); } response.Data = responseData; response.Success = true; response.Message = "建立成功"; return(Ok(response)); }
/// <summary> /// 建立組織資訊 /// </summary> /// <param name="requestData"></param> /// <returns></returns> public Organization CreateOrganization(OrganizationPostRequest requestData) { var tokenService = new TokenService(); var checkToken = tokenService.GetTokenInfo(requestData.Token.ToString()).Result; if (checkToken == null) { return(null); } var entity = new Organization() { Created = TimeData.Create(DateTime.UtcNow), CreateUser = checkToken.MemberId, Deleted = TimeData.Create(null), Updated = TimeData.Create(null), Name = requestData.Name, OrgCode = requestData.OrgCode, Visibility = true }; if (requestData.ApiKey != string.Empty && requestData.ApiKey != null) { entity.APIKey = requestData.ApiKey; } if (requestData.SemesterLength.HasValue) { entity.SemesterLength = requestData.SemesterLength; } else { entity.SemesterLength = 1; } try { _uow.OrganizationRepo.Insert(entity); _uow.SaveChanges(); // CreateSystemRole(checkToken.MemberId, entity.Id, "一般使用者", "GeneralRole", false, false); // CreateSystemRole(checkToken.MemberId, entity.Id, "組織管理者", "OrganizationRole", true, false); return(entity); } catch (Exception ex) { return(null); } }