예제 #1
0
        public IMemberApplicationResponse MemberCreateJobApplication(IMemberApplication memberApplication)
        {
            JXTNext_MemberApplicationRequest application = memberApplication as JXTNext_MemberApplicationRequest;
            dynamic applyDetails = _memberMapper.Application_ConvertToAPIEntity(application);

            ConnectorPostRequest connectorRequest = new ConnectorPostRequest(HTTP_Requests_MaxWaitTime)
            {
                HeaderValues = base.HTTP_Request_HeaderValues,
                Data         = applyDetails,
                TargetUri    = new Uri(CONFIG_DataAccessTarget + $"/api/member/apply/job/{application.ApplyResourceID}")
            };
            ConnectorResponse response = JXTNext.Common.API.Connector.Post(connectorRequest);

            //parse the response
            bool actionSuccessful = response.Success;

            if (actionSuccessful)
            {
                dynamic responseObj = JObject.Parse(response.Response);

                if (responseObj["status"] == 200)
                {
                    return new JXTNext_MemberApplicationResponse {
                               Success = true, ApplicationID = (int?)responseObj["id"]
                    }
                }
                ;
                else
                {
                    return new JXTNext_MemberApplicationResponse {
                               Success = false, Errors = JsonConvert.DeserializeObject <List <string> >(responseObj["errors"].ToString())
                    }
                };
            }
            else
            {
                return new JXTNext_MemberApplicationResponse {
                           Success = false, Errors = new List <string> {
                               response.Response
                           }
                }
            };
        }