This commit is contained in:
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@@ -48,7 +48,7 @@
|
|||||||
"AYANOVA_DATA_PATH": "c:\\temp\\ravendata",
|
"AYANOVA_DATA_PATH": "c:\\temp\\ravendata",
|
||||||
"AYANOVA_USE_URLS": "http://*:7575;",
|
"AYANOVA_USE_URLS": "http://*:7575;",
|
||||||
"AYANOVA_SERVER_TEST_MODE": "false",
|
"AYANOVA_SERVER_TEST_MODE": "false",
|
||||||
"AYANOVA_REPORT_RENDERING_TIMEOUT":"7",
|
"AYANOVA_REPORT_RENDERING_TIMEOUT":"6",
|
||||||
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "large",
|
"AYANOVA_SERVER_TEST_MODE_SEEDLEVEL": "large",
|
||||||
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_14\\bin\\"
|
"AYANOVA_BACKUP_PG_DUMP_PATH": "C:\\data\\code\\postgres_14\\bin\\"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3237,7 +3237,7 @@ namespace AyaNova.Biz
|
|||||||
else
|
else
|
||||||
Tax = (TaxCode)oc.Get("tax", o.TaxPartSaleId);
|
Tax = (TaxCode)oc.Get("tax", o.TaxPartSaleId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Tax != null)
|
if (Tax != null)
|
||||||
o.TaxCodeViz = Tax.Name;
|
o.TaxCodeViz = Tax.Name;
|
||||||
|
|
||||||
@@ -3602,9 +3602,22 @@ namespace AyaNova.Biz
|
|||||||
private async Task ScheduledUserPopulateVizFields(PMItemScheduledUser o)
|
private async Task ScheduledUserPopulateVizFields(PMItemScheduledUser o)
|
||||||
{
|
{
|
||||||
if (o.UserId != null)
|
if (o.UserId != null)
|
||||||
o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync();
|
{
|
||||||
|
if (!vc.Has("user", o.UserId))
|
||||||
|
{
|
||||||
|
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.UserId);
|
||||||
|
}
|
||||||
|
o.UserViz = vc.Get("user", o.UserId);
|
||||||
|
}
|
||||||
|
|
||||||
if (o.ServiceRateId != null)
|
if (o.ServiceRateId != null)
|
||||||
o.ServiceRateViz = await ct.ServiceRate.AsNoTracking().Where(x => x.Id == o.ServiceRateId).Select(x => x.Name).FirstOrDefaultAsync();
|
{
|
||||||
|
if (!vc.Has("servicerate", o.ServiceRateId))
|
||||||
|
{
|
||||||
|
vc.Add(await ct.ServiceRate.AsNoTracking().Where(x => x.Id == o.ServiceRateId).Select(x => x.Name).FirstOrDefaultAsync(), "servicerate", o.ServiceRateId);
|
||||||
|
}
|
||||||
|
o.ServiceRateViz = vc.Get("servicerate", o.ServiceRateId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
@@ -3855,10 +3868,16 @@ namespace AyaNova.Biz
|
|||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//VIZ POPULATE
|
//VIZ POPULATE
|
||||||
//
|
//
|
||||||
private async Task TaskPopulateVizFields(PMItemTask o, List<NameIdItem> taskCompletionTypeEnumList = null)
|
private async Task TaskPopulateVizFields(PMItemTask o)
|
||||||
{
|
{
|
||||||
if (o.CompletedByUserId != null)
|
if (o.CompletedByUserId != null)
|
||||||
o.CompletedByUserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.CompletedByUserId).Select(x => x.Name).FirstOrDefaultAsync();
|
{
|
||||||
|
if (!vc.Has("user", o.CompletedByUserId))
|
||||||
|
{
|
||||||
|
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.CompletedByUserId).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.CompletedByUserId);
|
||||||
|
}
|
||||||
|
o.CompletedByUserViz = vc.Get("user", o.CompletedByUserId);
|
||||||
|
}
|
||||||
|
|
||||||
if (taskCompletionTypeEnumList == null)
|
if (taskCompletionTypeEnumList == null)
|
||||||
taskCompletionTypeEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(
|
taskCompletionTypeEnumList = await AyaNova.Api.Controllers.EnumListController.GetEnumList(
|
||||||
@@ -3867,8 +3886,8 @@ namespace AyaNova.Biz
|
|||||||
CurrentUserRoles);
|
CurrentUserRoles);
|
||||||
|
|
||||||
o.StatusViz = taskCompletionTypeEnumList.Where(x => x.Id == (long)o.Status).Select(x => x.Name).First();
|
o.StatusViz = taskCompletionTypeEnumList.Where(x => x.Id == (long)o.Status).Select(x => x.Name).First();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
private List<NameIdItem> taskCompletionTypeEnumList = null;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//VALIDATION
|
//VALIDATION
|
||||||
@@ -4130,20 +4149,44 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
private async Task TravelPopulateVizFields(PMItemTravel o, bool calculateTotalsOnly = false)
|
private async Task TravelPopulateVizFields(PMItemTravel o, bool calculateTotalsOnly = false)
|
||||||
{
|
{
|
||||||
if (calculateTotalsOnly == false)
|
if (calculateTotalsOnly == false)
|
||||||
{
|
{
|
||||||
if (o.UserId != null)
|
if (o.UserId != null)
|
||||||
o.UserViz = await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync();
|
{
|
||||||
|
if (!vc.Has("user", o.UserId))
|
||||||
|
{
|
||||||
|
vc.Add(await ct.User.AsNoTracking().Where(x => x.Id == o.UserId).Select(x => x.Name).FirstOrDefaultAsync(), "user", o.UserId);
|
||||||
|
}
|
||||||
|
o.UserViz = vc.Get("user", o.UserId);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
TravelRate Rate = null;
|
TravelRate Rate = null;
|
||||||
if (o.TravelRateId != null)
|
if (o.TravelRateId != null)
|
||||||
{
|
{
|
||||||
Rate = await ct.TravelRate.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.TravelRateId);
|
if (!oc.Has("travelrate", o.TravelRateId))
|
||||||
|
{
|
||||||
|
Rate = await ct.TravelRate.AsNoTracking().FirstOrDefaultAsync(x => x.Id == o.TravelRateId);
|
||||||
|
oc.Add(Rate, "travelrate", o.TravelRateId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Rate = (TravelRate)oc.Get("travelrate", o.TravelRateId);
|
||||||
|
|
||||||
o.TravelRateViz = Rate.Name;
|
o.TravelRateViz = Rate.Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
TaxCode Tax = null;
|
TaxCode Tax = null;
|
||||||
if (o.TaxCodeSaleId != null)
|
if (o.TaxCodeSaleId != null)
|
||||||
Tax = await ct.TaxCode.AsNoTracking().FirstOrDefaultAsync(z => z.Id == o.TaxCodeSaleId);
|
{
|
||||||
|
if (!oc.Has("tax", o.TaxCodeSaleId))
|
||||||
|
{
|
||||||
|
Tax = await ct.TaxCode.AsNoTracking().FirstOrDefaultAsync(z => z.Id == o.TaxCodeSaleId);
|
||||||
|
oc.Add(Tax, "tax", o.TaxCodeSaleId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Tax = (TaxCode)oc.Get("tax", o.TaxCodeSaleId);
|
||||||
|
}
|
||||||
|
|
||||||
if (Tax != null)
|
if (Tax != null)
|
||||||
o.TaxCodeViz = Tax.Name;
|
o.TaxCodeViz = Tax.Name;
|
||||||
|
|
||||||
@@ -4490,31 +4533,79 @@ namespace AyaNova.Biz
|
|||||||
//
|
//
|
||||||
private async Task UnitPopulateVizFields(PMItemUnit o, bool populateForReporting)
|
private async Task UnitPopulateVizFields(PMItemUnit o, bool populateForReporting)
|
||||||
{
|
{
|
||||||
var unitInfo = await ct.Unit.AsNoTracking()
|
//see if it's in the cache already, populate the cache fully if not
|
||||||
.Where(x => x.Id == o.UnitId)
|
bool UnitHasModel = false;
|
||||||
.Select(x => new { x.Serial, x.Description, x.UnitModelId, x.Address, x.City, x.Region, x.Country, x.Latitude, x.Longitude })
|
if (!vc.Has("unitserial", o.UnitId))
|
||||||
.FirstOrDefaultAsync();
|
{
|
||||||
o.UnitViz = unitInfo.Serial;
|
//cache it
|
||||||
o.UnitDescriptionViz = unitInfo.Description;
|
var unitInfo = await ct.Unit.AsNoTracking()
|
||||||
|
.Where(x => x.Id == o.UnitId)
|
||||||
|
.Select(x => new { x.Serial, x.Description, x.UnitModelId, x.Address, x.City, x.Region, x.Country, x.Latitude, x.Longitude, x.Metered })
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
vc.Add(unitInfo.Serial, "unitserial", o.UnitId);
|
||||||
|
vc.Add(unitInfo.Description, "unitdesc", o.UnitId);
|
||||||
|
vc.Add(unitInfo.Address, "unitaddr", o.UnitId);
|
||||||
|
vc.Add(unitInfo.City, "unitcity", o.UnitId);
|
||||||
|
vc.Add(unitInfo.Region, "unitregion", o.UnitId);
|
||||||
|
vc.Add(unitInfo.Country, "unitcountry", o.UnitId);
|
||||||
|
vc.Add(unitInfo.Latitude.ToString(), "unitlat", o.UnitId);
|
||||||
|
vc.Add(unitInfo.Longitude.ToString(), "unitlong", o.UnitId);
|
||||||
|
vc.Add(unitInfo.Metered.ToString(), "unitmetered", o.UnitId);
|
||||||
|
|
||||||
|
if (unitInfo.UnitModelId != null)
|
||||||
|
{
|
||||||
|
UnitHasModel = true;
|
||||||
|
//units model name cached? (if it is then the rest will be cached as well)
|
||||||
|
if (!vc.Has("unitsmodelname", o.UnitId))
|
||||||
|
{
|
||||||
|
//nope, model name cached??
|
||||||
|
if (!vc.Has("unitmodelname", unitInfo.UnitModelId))
|
||||||
|
{
|
||||||
|
//nope, so cache it all
|
||||||
|
var unitModelInfo = await ct.UnitModel.AsNoTracking().Where(x => x.Id == unitInfo.UnitModelId).Select(x => new { x.Name, x.VendorId }).FirstOrDefaultAsync();
|
||||||
|
vc.Add(unitModelInfo.Name, "unitmodelname", unitInfo.UnitModelId);
|
||||||
|
vc.Add(unitModelInfo.Name, "unitsmodelname", o.UnitId);
|
||||||
|
|
||||||
|
if (unitModelInfo.VendorId != null)
|
||||||
|
{
|
||||||
|
var ModelVendorName = vc.Get("unitsmodelvendorname", o.UnitId);
|
||||||
|
if (ModelVendorName == null)
|
||||||
|
{
|
||||||
|
ModelVendorName = vc.Get("vendorname", unitModelInfo.VendorId);
|
||||||
|
if (ModelVendorName == null)
|
||||||
|
{
|
||||||
|
ModelVendorName = await ct.Vendor.AsNoTracking().Where(x => x.Id == unitModelInfo.VendorId).Select(x => x.Name).FirstOrDefaultAsync();
|
||||||
|
vc.Add(ModelVendorName, "vendorname", unitModelInfo.VendorId);
|
||||||
|
vc.Add(ModelVendorName, "unitsmodelvendorname", o.UnitId);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//cached under vendor so reuse here
|
||||||
|
vc.Add(ModelVendorName, "unitsmodelvendorname", o.UnitId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//populate all fields from cache
|
||||||
|
if (UnitHasModel)
|
||||||
|
{
|
||||||
|
o.UnitModelNameViz = vc.Get("unitsmodelname", o.UnitId);
|
||||||
|
o.UnitModelVendorViz = vc.Get("unitsmodelvendorname", o.UnitId);
|
||||||
|
}
|
||||||
|
o.UnitViz = vc.Get("unitserial", o.UnitId);
|
||||||
|
o.UnitDescriptionViz = vc.Get("unitdesc", o.UnitId);
|
||||||
|
//o.UnitMeteredViz = vc.GetAsBool("unitmetered", o.UnitId);
|
||||||
if (populateForReporting)
|
if (populateForReporting)
|
||||||
{
|
{
|
||||||
o.AddressViz = unitInfo.Address;
|
o.AddressViz = vc.Get("unitaddr", o.UnitId);
|
||||||
o.CityViz = unitInfo.City;
|
o.CityViz = vc.Get("unitcity", o.UnitId);
|
||||||
o.RegionViz = unitInfo.Region;
|
o.RegionViz = vc.Get("unitregion", o.UnitId);
|
||||||
o.CountryViz = unitInfo.Country;
|
o.CountryViz = vc.Get("unitcountry", o.UnitId);
|
||||||
o.LatitudeViz = unitInfo.Latitude;
|
o.LatitudeViz = vc.GetAsDecimal("unitlat", o.UnitId);
|
||||||
o.LongitudeViz = unitInfo.Longitude;
|
o.LongitudeViz = vc.GetAsDecimal("unitlong", o.UnitId);
|
||||||
}
|
|
||||||
|
|
||||||
if (unitInfo.UnitModelId != null)
|
|
||||||
{
|
|
||||||
var unitModelInfo = await ct.UnitModel.AsNoTracking().Where(x => x.Id == unitInfo.UnitModelId).Select(x => new { x.Name, x.VendorId }).FirstOrDefaultAsync();
|
|
||||||
o.UnitModelNameViz = unitModelInfo.Name;
|
|
||||||
|
|
||||||
|
|
||||||
if (unitModelInfo.VendorId != null)
|
|
||||||
o.UnitModelVendorViz = await ct.Vendor.AsNoTracking().Where(x => x.Id == unitModelInfo.VendorId).Select(x => x.Name).FirstOrDefaultAsync();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user