private void CheckLoadsForTopsToGoVisibilityData(LoadViewData load, LoadTransactionEntity lte, string token, ref string topsToGoErrors) { if (string.IsNullOrWhiteSpace(load.BillingLoadDisplay)) { return; } const string mediaType = "application/json"; _client.DefaultRequestHeaders.Clear(); _client.DefaultRequestHeaders.Accept.Clear(); _client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(mediaType)); _client.DefaultRequestHeaders.Add("Authorization", token); var url = string.Format(_config.GetValue <string>("MobileApiAddress") + "t2g/api/sms/loadinfo/{0}", load.BillingLoadDisplay); var responseMessage = _client.GetAsync(url, default(CancellationToken)).Result; var responseString = responseMessage.Content.ReadAsStringAsync().Result.Replace("\"e\":", "Errors:").Replace("\"d\":", "Data:").Replace("\"s\":", "Success:"); var response = JsonConvert.DeserializeObject <ResponseMessage <List <TopsToGoDetail> > >(responseString); if (!responseMessage.IsSuccessStatusCode || response == null || response.Success == false || response.Errors.Count > 0) { topsToGoErrors = $"TopsToGo data retrieval failed using endpoint, {url}, for load: {load.ReferenceLoadDisplay}"; if (response != null && response.Errors.Count > 0) { var errors = response.Errors.Aggregate(new StringBuilder(), (s, r) => s.AppendLine(r.Message)).ToString(); topsToGoErrors += " - " + errors; } return; } if (response.Data.Count > 0) { var topsToGoDetailInfo = response.Data[0]; if (topsToGoDetailInfo.AccessExpiredUtc > DateTime.UtcNow) { if (string.IsNullOrWhiteSpace(lte.Claim.VisibilityPhoneNumber) || (lte.Claim.VisibilityChgDtTm.HasValue && lte.Claim.VisibilityChgDtTm.Value < topsToGoDetailInfo.SendUtc.ToLocalTime())) { load.ShowVisibilityWarning = false; load.MobileExternallyEntered = true; load.VisibilityChgDtTm = topsToGoDetailInfo.SendUtc.ToLocalTime(); lte.Claim.MobileExternallyEntered = load.MobileExternallyEntered; lte.Claim.VisibilityChgDtTm = load.VisibilityChgDtTm; } } } }
private void CheckLoadsForProject44VisibilityData(LoadViewData load, LoadTransactionEntity lte, string token, ref string project44Errors) { if (string.IsNullOrWhiteSpace(load.BillingLoadDisplay)) { return; } const string mediaType = "application/json"; string url = _config.GetValue <string>("VisibilityApiAddress") + "asset/find-asset"; var formData = JsonConvert.SerializeObject(new Project44AssetInfo { LoadId = load.BillingLoadId }); var content = new StringContent(formData, Encoding.UTF8, mediaType); _client.DefaultRequestHeaders.Clear(); _client.DefaultRequestHeaders.Add("Authorization", token); var responseMessage = _client.PostAsync(url, content, default(CancellationToken)).Result; var responseString = responseMessage.Content.ReadAsStringAsync().Result; if (!responseMessage.IsSuccessStatusCode) { project44Errors = $"Project44 data retrieval failed using endpoint, {url}, for load: {load.ReferenceLoadDisplay}. Reason: {responseMessage.ReasonPhrase}"; return; } var project44AssetInfo = JsonConvert.DeserializeObject <Project44AssetInfo>(responseString); if (!string.IsNullOrWhiteSpace(project44AssetInfo.AssetId)) { if (string.IsNullOrWhiteSpace(lte.Claim.VisibilityTruckNumber) || (lte.Claim.VisibilityTruckNumber != project44AssetInfo.AssetId && lte.Claim.VisibilityChgDtTm < project44AssetInfo.AssetLastChgDtTm)) { load.ShowVisibilityWarning = false; load.VisibilityTruckNumber = project44AssetInfo.AssetId; load.VisibilityChgDtTm = project44AssetInfo.AssetLastChgDtTm; lte.Claim.VisibilityTruckNumber = load.VisibilityTruckNumber; lte.Claim.VisibilityChgDtTm = load.VisibilityChgDtTm; } } }
public bool ShouldShowVisibility(DateTime?visibilityPickupWindowDate, bool topsToGoCarrier, bool p44Carrier, DateTime currentDate, LoadViewData l) { return (l.OriginLateDtTm > currentDate && l.OriginLateDtTm <= visibilityPickupWindowDate && l.DestLateDtTm >= currentDate && ((topsToGoCarrier && p44Carrier && l.VisibilityPhoneNumber == null && !l.MobileExternallyEntered && l.VisibilityTruckNumber == null) || (topsToGoCarrier && !p44Carrier && l.VisibilityPhoneNumber == null && !l.MobileExternallyEntered) || (!topsToGoCarrier && p44Carrier && l.VisibilityTruckNumber == null))); }