public async Task InvokeAsync(HttpContext context, IServiceProvider serviceProvider) { try { var requestPath = context.Request.Path.Value; if (!requestPath.StartsWith(PassAction, StringComparison.OrdinalIgnoreCase)) { await SetErrorResponseAsync(context, 400, "Bad Request"); return; } // read request PassRequest request; try { request = await ReadPostRequestAsync <PassRequest>(context.Request); } catch (Exception ex) { await SetErrorResponseAsync(context, 400, $"Bad Request ({ex.Message})"); return; } PassResponse response; try { var receivedResponse = await SendRequestAsync(request); response = new PassResponse() { IsReceived = true, ReceivedResponse = receivedResponse, }; } catch (Exception ex) { response = new PassResponse() { IsReceived = false, ErrorMessage = $"Exception: {ex}", }; } // success context.Response.StatusCode = 200; var responseBody = JsonConvert.SerializeObject(response); context.Response.ContentType = "application/json"; await context.Response.WriteAsync(responseBody); } catch (Exception ex) { await SetErrorResponseAsync(context, 500, ex.Message); return; } }
/// <summary> /// Checks the pass. /// </summary> /// <param name="request">The request.</param> /// <returns></returns> public PassResponse CheckPass(PassRequest request) { PassResponse response = new PassResponse(); try { if (ValidateUser(request.Token) == true) { Entities db = new Entities(); PassRequestHed PRH; int ReqNo = Convert.ToInt16(request.PassNo); // Get pass request details PRH = db.PassRequestHeds.ToList().Where(p => p.PassReqNo == ReqNo && p.Issued == true).FirstOrDefault(); // Check whether there are any valid data if (PRH.PassReqNo != 0) { response.isValid = true; response.personName = db.PassRequestDets.Where(i => i.PassReqNo == PRH.PassReqNo).Select(d => d.PersonName).First().ToString(); response.personNIC = db.PassRequestDets.Where(i => i.PassReqNo == PRH.PassReqNo).Select(d => d.PersonNIC).First().ToString(); response.issuedCompany = db.Companies.Where(i => i.CompanyID == PRH.CompanyID).Select(d => d.CompanyName).First().ToString(); response.validFrom = PRH.RequiredFrom; response.validTo = PRH.RequiredTo; } else { response.isValid = false; } } else { response.isValid = false; } } catch (Exception ex) { response.isValid = false; response.AuthenticationToken.SessionData = ex.Message; } return(response); }