[OperationContract]
[FaultContract(typeof(CustomerNotFoundContract))]
[FaultContract(typeof(ValidationFaultContract))]
[FaultContract(typeof(DbFaultContract))]
[SwaggerWcfTag("Customers", false)]
[SwaggerWcfPath(null, null, null, null, null, false, null, Summary = "Get the customer information associated with a given distributor code.", Description = "Returns the customer information associated with the given distributor code")]
[WebGet(UriTemplate = "FindByCode?code={code}", ResponseFormat = WebMessageFormat.Json)]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.OK, Description = "Success")]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.NotFound, Description = "No customer found matching the specified distributor code", Type = typeof(JsonErrorMessage))]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.InternalServerError, Description = "An unexpected error occurred while processing the request.", Type = typeof(JsonErrorMessage))]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.BadRequest, Description = "Invalid distributor code provided", Type = typeof(JsonErrorMessage))]
CustomerInfoContract GetCustomer(string code)