public override void Process(object sender, MessageReceivedArgs argument) { var request = argument.Request; var status = _statusTableProvider.Get("ServiceRequestCommand", request.Tracker.ToString()); if (status == null) { var statusInfo = new StatusInfo() { Client = request.ClientName, CreatedTime = DateTime.UtcNow, Status = "Created", TrackingGuid = request.Tracker }; status = new StatusTableEntity(statusInfo); } status.Status = "Processing"; _statusTableProvider.Update(status); Thread.Sleep(3000); var random = new Random(); request.Sku = "CSR-" + random.Next(10000, 99999); _serviceRequestTableProvider.Update(new ServiceRequestEntity(request)); status.Status = "Completed"; status.ProcessedTime = DateTime.UtcNow; status.Result = request.Sku; _statusTableProvider.Update(status); Console.WriteLine($"Cost Rate Request Processing Complete - {request.Tracker}"); }
public override void Process(object sender, MessageReceivedArgs argument) { var request = argument.Request; Console.WriteLine($"Part Number Request Processing - {request.Tracker}"); try { var status = _statusTableProvider.Get("ServiceRequestCommand", request.Tracker.ToString()); if (status == null) { var statusInfo = new StatusInfo() { Client = request.ClientName, CreatedTime = DateTime.UtcNow, Status = "Created", TrackingGuid = request.Tracker }; status = new StatusTableEntity(statusInfo); } status.Status = "Processing"; _statusTableProvider.Update(status); Thread.Sleep(3000); var random = new Random(); var errorNumber = random.Next(0, 3); if (errorNumber == 2) { throw new Exception($"Failed to create Part Number for {request.Tracker}"); } request.Sku = "PNR-" + random.Next(10000, 99999); _serviceRequestTableProvider.Update(new ServiceRequestEntity(request)); status.Status = "Completed"; status.ProcessedTime = DateTime.UtcNow; status.Result = request.Sku; _statusTableProvider.Update(status); } catch (Exception exception) { var status = _statusTableProvider.Get("ServiceRequestCommand", request.Tracker.ToString()); if (status == null) { var statusInfo = new StatusInfo() { Client = request.ClientName, CreatedTime = DateTime.UtcNow, Status = "Created", TrackingGuid = request.Tracker }; status = new StatusTableEntity(statusInfo); } status.Status = "Failed"; _statusTableProvider.Update(status); Console.WriteLine($"Part Number Request Processing has failed- {request.Tracker}"); throw; } }
public async Task ProjectionWriter_UpdateFileStatus_Should_Return_TaskComplete_When_There_Is_No_Exception() { await Task.Run(() => { var writer = new ProjectionWriter(mockApplicationBuilder.Object); StatusTableEntity statusTableEntity = new StatusTableEntity(); var result = writer.UpdateFileStatus(statusTableEntity); Assert.True(result.IsCompleted); }); }
private StatusInfo Convert(StatusTableEntity statusTableEntity) { return(new StatusInfo() { TrackingGuid = Guid.Parse(statusTableEntity.RowKey), Status = statusTableEntity.Status, CreatedTime = statusTableEntity.CreatedTime, Result = statusTableEntity.Result.Equals("No Result Yet") ? string.Empty : statusTableEntity.Result, Remarks = statusTableEntity.Remarks, ProcessedTime = statusTableEntity.ProcessedTime == default(DateTime) ? new DateTime(1601, 1, 1) : statusTableEntity.ProcessedTime, Client = statusTableEntity.ClientName }); }
/// <summary> /// The UpdateFileStatus /// </summary> /// <param name="statusTableEntity">The statusTableEntity<see cref="StatusTableEntity"/></param> /// <returns>The <see cref="Task"/></returns> public async Task UpdateFileStatus(StatusTableEntity statusTableEntity) { string status = JsonConvert.SerializeObject(statusTableEntity); var url = GetPath(await coreKeyVaultClient.GetSecret(BusinessValidationConstants.KEYVAULT_STATUSTABLEURL), status); await corehttpServiceClient.GetAsync <StatusTableEntity>(url); }