コード例 #1
0
 public HttpResponseMessage GetToolNames([FromQuery] LookUpRequest lookUpRequest)
 {
     using (HttpRequestMessage request = HttpRequestMessageHttpContextExtensions.GetHttpRequestMessage(HttpContext))
     {
         return(request.CreateResponse(HttpStatusCode.OK, ToolInventoryRepo.GetToolNames(lookUpRequest.SearchTerm)));
     }
 }
コード例 #2
0
        public async Task <IActionResult> RunTasks([FromBody] LookUpRequest request)
        {
            try
            {
                _logger.LogInformation(
                    $"New Request with {request.Services?.Count ?? 0} selected services for {request.Address}");
                var badReq = CheckModelState(request);
                if (badReq != null)
                {
                    return(badReq);
                }

                var services = SetDefaultServicesIfNull(request.Services);

                var res = await WorkerHelper
                          .SendToWorkers(_config["WORKER_ADDRESS"], request.Address, services);

                _logger.LogInformation($"Finished processing request for {request.Address}");
                return(new OkObjectResult(res));
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"Error processing request for {request.Address}");
                return(StatusCode(StatusCodes.Status500InternalServerError, new AppErrorResult
                {
                    ErrorMessage = $"Unexpected Error: {e}",
                    FailServices = SetDefaultServicesIfNull(request.Services)
                }));
            }
        }
コード例 #3
0
 //public IActionResult GetByCategory([FromQuery]LookUpRequest lookUpRequest)
 public HttpResponseMessage GetByCategory([FromQuery] LookUpRequest lookUpRequest)
 {
     //return StatusCode(StatusCodes.Status200OK, ToolInventoryRepo.GetLookupByCategory(lookUpRequest.Category, lookUpRequest.SearchTerm));
     using (HttpRequestMessage request = HttpRequestMessageHttpContextExtensions.GetHttpRequestMessage(HttpContext))
     {
         return(request.CreateResponse(HttpStatusCode.OK, ToolInventoryRepo.GetLookupByCategory(lookUpRequest.Category, lookUpRequest.SearchTerm)));
     }
 }
コード例 #4
0
 public LookUpShipment()
 {
     LookUpRequest = new LookUpRequest
     {
         Reportee           = string.Empty,
         ServiceCode        = string.Empty,
         ServiceEditionCode = 0,
         QueryData          = string.Empty
     };
 }
コード例 #5
0
        public async Task should_return_results()
        {
            var ctrl = new LookupController(_fakeLog, _fakeConfig);
            var req  = new LookUpRequest
            {
                Address = "calebukle.com",
            };

            var actual = await ctrl.RunTasks(req);

            Assert.IsInstanceOf <OkObjectResult>(actual);
        }
コード例 #6
0
        /// <summary>
        /// Check custom validators for errors
        /// </summary>
        /// <param name="request"></param>
        /// <returns>Returns BadRequestObjectResult with AppErrorResult as payload, otherwise null</returns>
        private IActionResult?CheckModelState(LookUpRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(new BadRequestObjectResult(new AppErrorResult
                {
                    ErrorMessage = "Error processing request.",
                    Errors = ModelState.FirstOrDefault().Value.Errors,
                    FailServices = SetDefaultServicesIfNull(request.Services)
                }));
            }

            return(null);
        }
コード例 #7
0
 public IEnumerable <Lookup> GetByCategory(LookUpRequest lookUpRequest)
 {
     return(ToolInventoryRepo.GetLookupByCategory(lookUpRequest.Category, lookUpRequest.SearchTerm));
 }
コード例 #8
0
 public List <string> GetToolNames(LookUpRequest lookUpRequest)
 {
     return(ToolInventoryRepo.GetToolNames(lookUpRequest.SearchTerm));
 }