Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        /// <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);
            }
        }