public HttpResponseMessage Post(string applicationReference, string customerReference, CheckResult checkResult)
        {
            Check.If(applicationReference).IsNotNullOrEmpty();
            Check.If(customerReference).IsNotNullOrEmpty();
            Check.If(checkResult).IsNotNull();

            var result = _checkService.CreateCustomerCheck(applicationReference, customerReference,
                Mapper.Map<Core.Objects.CheckResult>(checkResult));

            if (result == null)
            {
                return new HttpResponseMessage {StatusCode = HttpStatusCode.InternalServerError};
            }

            var response = new HttpResponseMessage {StatusCode = HttpStatusCode.Created};

            response.Headers.Location =
                new Uri(Url.Link("GetCheckForCustomer",
                    new {applicationReference, customerReference, checkReference = result}));

            return response;
        }
        public HttpResponseMessage Put(string applicationReference, string customerReference, string checkReference,
            CheckResult checkResult)
        {
            Check.If(applicationReference).IsNotNullOrEmpty();
            Check.If(customerReference).IsNotNullOrEmpty();
            Check.If(checkReference).IsNotNullOrEmpty();
            Check.If(checkResult).IsNotNull();

            var result = _checkService.UpdateCustomerCheck(applicationReference, customerReference, checkReference,
                Mapper.Map<Core.Objects.CheckResult>(checkResult));

            return result
                ? new HttpResponseMessage {StatusCode = HttpStatusCode.OK}
                : new HttpResponseMessage {StatusCode = HttpStatusCode.InternalServerError};
        }