public void UpdateTrackingNumbersInTransit([TimerTrigger("0 */60 * * * *")] TimerInfo timer, ILogger log) { try { var upsController = new UPSController(log); var trackingNumbersInTransit = upsController.GetTrackingNumbersInTransit(); if (trackingNumbersInTransit.Count() == 0) { log.LogInformation("No tracking numbers currently in transit."); return; } upsController.UpdateCurrentStatusOfTrackingNumbers(trackingNumbersInTransit); } catch (Exception ex) { var title = "Error in UpdateTrackingNumbersInTransit"; var text = $"Error message: {ex.Message}. Stacktrace: {ex.StackTrace}"; var color = "red"; var teamsMessage = new TeamsMessage(title, text, color, trackingErrorLogsUrl); teamsMessage.LogToTeams(teamsMessage); log.LogError(ex, title); } }
public void Test_AddTrackingNumbersToDB() { var trackingNumbers = new List <string>() { "1ZE7313W0317984577" }; var trackingData = CreateUPSTrackingData(trackingNumbers); var upsController = new UPSController(logger); upsController.AddTrackingNumbersToDB(trackingData); // Get records from Azure DB var trackingNumResult = GetLinesByTrackingNumber(trackingNumbers, "TrackingNumbers"); var statusUpdatesResult = GetLinesByTrackingNumber(trackingNumbers, "StatusUpdates"); Assert.Single(trackingNumResult); Assert.Single(statusUpdatesResult); Assert.Equal("7097 HARRIS RD", trackingNumResult[0].OriginAddress); Assert.Equal("CELINA", trackingNumResult[0].OriginCity); Assert.Equal("OH", trackingNumResult[0].OriginState); Assert.Equal("45822-9399", trackingNumResult[0].OriginZip); Assert.Equal("MUNISING", trackingNumResult[0].DestinationCity); Assert.Equal("MI", trackingNumResult[0].DestinationState); Assert.Equal("49862", trackingNumResult[0].DestinationZip); DeleteTrackingNumbers(trackingNumbers, "TrackingNumbers"); DeleteTrackingNumbers(trackingNumbers, "StatusUpdates"); }
public async Task AddNewTrackingNumbers( [BlobTrigger("ups-tracking-numbers/{fileName}.csv", Connection = "UPS_BLOB_CONN")] Stream blob, string fileName, ILogger log) { try { // Files must include Tracking in the name to be processed if (!fileName.ToLower().Contains("tracking")) { return; } var fileController = new FileController(log, trackingErrorLogsUrl); var upsController = new UPSController(log); var trackingRecords = fileController.GetTrackingNumbersFromFile(blob); upsController.AddTrackingNumbersToDB(trackingRecords); if (upsController.invalidTrackingNumbers.Count() > 0) { var reportName = fileController.CreateInvalidTrackingNumberReport(upsController.invalidTrackingNumbers); log.LogInformation($"Invalid tracking number report created: {reportName}"); } // Move processed file to archive container await fileController.MoveProcessedFileToArchive(fileName); log.LogInformation("File moved to archive container"); } catch (Exception ex) { var title = "Error in AddNewTrackingNumbers"; var text = $"Error message: {ex.Message}. Stacktrace: {ex.StackTrace}"; var color = "red"; var teamsMessage = new TeamsMessage(title, text, color, trackingErrorLogsUrl); teamsMessage.LogToTeams(teamsMessage); log.LogError(ex, title); } }