public Response GenerateDeliverySchedule(APIGatewayProxyRequest request, ILambdaContext context) { var getRequestGateway = new INeedHelpGateway(new Cv19SupportDbContext(_connectionString)); var driveHelper = new DriveHelper(); var utilityHelper = new UtilityHelper(getRequestGateway); var deliveryScheduleObject = new DeliveryScheduleUseCase(getRequestGateway, driveHelper); try { var request_params = request.QueryStringParameters; var limit = Int32.Parse(request_params["limit"]); var confirmed = bool.Parse(request_params["confirmed"]); var deliveryDay = utilityHelper.GetNextWorkingDay(DateTime.Today); var resp = deliveryScheduleObject.CreateDeliverySchedule(limit, confirmed, deliveryDay); LambdaLogger.Log(("Records retrieval success: " + resp.ToString())); var response = new Response(); response.isBase64Encoded = true; response.statusCode = "200"; response.body = JsonConvert.SerializeObject(resp); return(response); } catch (Exception e) { LambdaLogger.Log("Error: " + e.Message); var response = new Response(); response.isBase64Encoded = true; response.statusCode = "500"; response.body = "Error processing request: " + ". Error Details: " + e.Message + e.StackTrace; return(response); } }
public Response DeleteDeliveryBatch(APIGatewayProxyRequest request, ILambdaContext context) { var deleteBatchGateway = new INeedHelpGateway(new Cv19SupportDbContext(_connectionString)); var driveHelper = new DriveHelper(); var deleteBatchObject = new DeliveryScheduleUseCase(deleteBatchGateway, driveHelper); var requestParams = request.PathParameters; int batchId; try { batchId = Int32.Parse(requestParams["id"]); } catch { var response = new Response(); response.isBase64Encoded = true; LambdaLogger.Log("No batch id specified."); response.statusCode = "400"; return(response); } try { deleteBatchObject.DeleteDeliveryBatch(batchId); var response = new Response(); response.isBase64Encoded = true; LambdaLogger.Log("Batch successfully deleted."); response.statusCode = "200"; return(response); } catch (Exception e) { LambdaLogger.Log("Error: " + e.Message); var response = new Response(); response.isBase64Encoded = true; response.statusCode = "500"; response.body = "Error processing request: " + ". Error Details: " + e.Message + e.StackTrace; return(response); } }
public Response GetDeliveryBatch(APIGatewayProxyRequest request, ILambdaContext context) { var getBatchGateway = new INeedHelpGateway(new Cv19SupportDbContext(_connectionString)); var getBatchObject = new DeliveryScheduleUseCase(getBatchGateway, null); var utilityHelper = new UtilityHelper(getBatchGateway); try { var deliveryDay = utilityHelper.GetNextWorkingDay(DateTime.Today); var resp = getBatchObject.GetDeliveryBatch(deliveryDay); var response = new Response(); response.isBase64Encoded = true; if (resp == null) { LambdaLogger.Log("No batch available for date specified."); response.statusCode = "200"; } else { LambdaLogger.Log("Batch retrieval success: " + JsonConvert.SerializeObject(resp)); response.statusCode = "200"; response.body = JsonConvert.SerializeObject(resp); } return(response); } catch (Exception e) { LambdaLogger.Log("Error: " + e.Message); var response = new Response { isBase64Encoded = true, statusCode = "500", body = "Error processing request: " + ". Error Details: " + e.Message + e.StackTrace }; return(response); } }