[OperationContract]
[FaultContract(typeof(EmployeeNotFoundContract))]
[FaultContract(typeof(DbFaultContract))]
[SwaggerWcfTag("Employees", false)]
[SwaggerWcfPath(null, null, null, null, null, false, null, Summary = "Register employee", Description = "Register employee into a everest system.")]
[WebInvoke(UriTemplate = "Register", Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.OK, Description = "Success")]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.InternalServerError, Description = "An unexpected error occurred while processing the request.", Type = typeof(JsonErrorMessage))]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.NotFound, Description = "Invalid credentials or none existing user", Type = typeof(JsonErrorMessage))]
Task Register(EmployeeRegistrationContract employeeRegistration)