From 1bc42a5c5544d4d315d45d12f6dafd8081cbdf8f Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Tue, 16 Mar 2021 23:11:19 +0000 Subject: [PATCH] --- server/AyaNova/biz/ContractBiz.cs | 13 +++++++++++-- server/AyaNova/models/Contract.cs | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/server/AyaNova/biz/ContractBiz.cs b/server/AyaNova/biz/ContractBiz.cs index ca9a036a..8d749b65 100644 --- a/server/AyaNova/biz/ContractBiz.cs +++ b/server/AyaNova/biz/ContractBiz.cs @@ -495,9 +495,11 @@ MULTIPLE discount / markup ITEMS //cache enum list var ContractOverrideTypeEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(StringUtil.TrimTypeName(typeof(ContractOverrideType).ToString()), UserTranslationId); + //cache translations needed + var PreTrans = await TranslationBiz.GetSubsetStaticAsync(new List { "TimeSpanDays", "TimeSpanHours", "TimeSpanMinutes", "TimeSpanSeconds" }, UserTranslationId); foreach (Contract w in orderedList) { - await PopulateVizFields(w, ContractOverrideTypeEnumList); + await PopulateVizFields(w, ContractOverrideTypeEnumList, PreTrans); var jo = JObject.FromObject(w); if (!JsonUtil.JTokenIsNullOrEmpty(jo["CustomFields"])) jo["CustomFields"] = JObject.Parse((string)jo["CustomFields"]); @@ -508,10 +510,17 @@ MULTIPLE discount / markup ITEMS } //populate viz fields from provided object - private async Task PopulateVizFields(Contract o, List contractOverrideTypeEnumList = null) + private async Task PopulateVizFields(Contract o, List contractOverrideTypeEnumList = null, Dictionary preTrans = null) { if (contractOverrideTypeEnumList == null) contractOverrideTypeEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(StringUtil.TrimTypeName(typeof(ContractOverrideType).ToString()), UserTranslationId); + if (preTrans == null) + await TranslationBiz.GetSubsetStaticAsync(new List { "TimeSpanDays", "TimeSpanHours", "TimeSpanMinutes", "TimeSpanSeconds" }, UserTranslationId); + + if (o.ResponseTime == TimeSpan.Zero) + o.ResponseTimeViz = string.Empty; + else + o.ResponseTimeViz = $"{(preTrans["TimeSpanDays"])}: {o.ResponseTime.Days}, {(preTrans["TimeSpanHours"])}: {o.ResponseTime.Hours}, {(preTrans["TimeSpanMinutes"])}: {o.ResponseTime.Minutes} "; o.PartsOverrideTypeViz = contractOverrideTypeEnumList.Where(x => x.Id == (long)o.PartsOverrideType).Select(x => x.Name).First(); o.TravelRatesOverrideTypeViz = contractOverrideTypeEnumList.Where(x => x.Id == (long)o.TravelRatesOverrideType).Select(x => x.Name).First(); diff --git a/server/AyaNova/models/Contract.cs b/server/AyaNova/models/Contract.cs index 8f719015..41accb75 100644 --- a/server/AyaNova/models/Contract.cs +++ b/server/AyaNova/models/Contract.cs @@ -25,6 +25,8 @@ namespace AyaNova.Models //any optional ones here sb zero to indicate not set (or equivalent to zero) [Required] public TimeSpan ResponseTime { get; set; } + [NotMapped] + public string ResponseTimeViz { get; set; } [Required] public bool ContractServiceRatesOnly { get; set; } [Required]