/// <summary> /// Generate InventoryItemDetailModel /// </summary> /// <param name="inventoryModel"></param> /// <returns></returns> public InventoryItemDetailModel MakeInventoryItemDetailModel(InventoryModel inventoryModel) { var inventoryItems = inventoryModel.InventoryItems; var inventoryNbiLoadRatings = inventoryModel.InventoryNbiLoadRatings; var inventoryItemDetailModel = new InventoryItemDetailModel(); try { AddLocation(inventoryItemDetailModel, inventoryItems); AddAgeService(inventoryItemDetailModel, inventoryItems); AddManagement(inventoryItemDetailModel, inventoryItems); AddDeckInformation(inventoryItemDetailModel, inventoryItems); AddSpanInformation(inventoryItemDetailModel, inventoryItems); AddNbiLoadRating(inventoryItemDetailModel, inventoryNbiLoadRatings); AddPosting(inventoryItemDetailModel, inventoryItems); AddRoadwayInfo(inventoryItemDetailModel, inventoryItems); AddCurrentConditionDuration(inventoryItemDetailModel, inventoryItems); AddRiskScores(inventoryItemDetailModel, inventoryItems); AddOperatingInventoryRating(inventoryItemDetailModel, inventoryItems); } catch (Exception ex) { var log = log4net.LogManager.GetLogger(typeof(InventoryItemDetailModelGenerator)); log.Error(ex.Message); } return(inventoryItemDetailModel); }
/// <summary> /// Generate InventoryItemDetailModel /// </summary> /// <param name="inventoryModel"></param> /// <returns></returns> public InventoryItemDetailModel MakeInventoryItemDetailModel(InventoryModel inventoryModel) { var inventoryItems = inventoryModel.InventoryItems; var inventoryNbiLoadRatings = inventoryModel.InventoryNbiLoadRatings; var inventoryItemDetailModel = new InventoryItemDetailModel(); try { AddLocation(inventoryItemDetailModel, inventoryItems); AddAgeService(inventoryItemDetailModel, inventoryItems); AddManagement(inventoryItemDetailModel, inventoryItems); AddDeckInformation(inventoryItemDetailModel, inventoryItems); AddSpanInformation(inventoryItemDetailModel, inventoryItems); AddNbiLoadRating(inventoryItemDetailModel, inventoryNbiLoadRatings); AddPosting(inventoryItemDetailModel, inventoryItems); AddRoadwayInfo(inventoryItemDetailModel, inventoryItems); AddCurrentConditionDuration(inventoryItemDetailModel, inventoryItems); AddRiskScores(inventoryItemDetailModel); AddOperatingInventoryRating(inventoryItemDetailModel, inventoryItems); } catch (Exception ex) { HandleException.GeneralError(ex); } return(inventoryItemDetailModel); }
private void AddRiskScores(InventoryItemDetailModel inventoryItemDetailModel) { //TODO Risk scores: currently const 0 assigned as per UI inventoryItemDetailModel.RiskScores = new RiskScores { Old = 0, New = 0 }; }
private void AddOperatingInventoryRating(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var operatingRatingInventoryRatingGrouping = new OperatingRatingInventoryRatingGrouping(); AddRatingRows(operatingRatingInventoryRatingGrouping, inventoryItems); AddMinRatioLegalLoad(operatingRatingInventoryRatingGrouping, inventoryItems); inventoryItemDetailModel.OperatingRatingInventoryRatingGrouping = operatingRatingInventoryRatingGrouping; }
private void AddAgeService(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var ageAndServiceColumns = new List <string> { "YEAR_BUILT", "YEAR_RECON", "SERVTYPON", "SERVTYPUND" }; inventoryItemDetailModel.AgeAndService = CreateLabelValues(inventoryItems, ageAndServiceColumns); }
private void AddManagement(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var managementColumns = new List <string> { "CUSTODIAN", "OWNER_CODE", "MPO", "SUBM_AGENCY", "NBISLEN", "HISTSIGN", "CRGIS_SHPOKEY_NUM", "BUS_PLAN_NETWORK" }; inventoryItemDetailModel.Management = CreateLabelValues(inventoryItems, managementColumns); }
private void AddDeckInformation(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var deckInformationColumns = new List <string> { "DKSTRUCTYP", "DEPT_DKSTRUCTYP", "DKSURFTYPE", "DKMEMBTYPE", "DKPROTECT", "DECK_WIDTH", "SKEW" }; inventoryItemDetailModel.DeckInformation = CreateLabelValues(inventoryItems, deckInformationColumns); }
private void AddSpanInformation(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var spanInformationColumns = new List <string> { "NUMBER_SPANS", "MATERIALMAIN", "DESIGNMAIN", "MATERIALAPPR", "DESIGNAPPR", "LENGTH", "DECK_AREA", "TOT_LENGTH", "MAIN_FC_GROUP_NUM", "APPR_FC_GROUP_NUM" }; inventoryItemDetailModel.SpanInformation = CreateLabelValues(inventoryItems, spanInformationColumns); }
private void AddSpanInformation(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var spanInformationColumns = new List <string> { "NUMBER_SPANS", "MAIN_SPAN_MATERIAL", "MAIN_SPAN_DESIGN", "APPROACH_SPAN_MATERIAL", "APPROACH_SPAN_DESIGN", "MAXIMUM_SPAN_LENGTH", "LENGTH", "DECK_AREA", "TOTAL_LENGTH", "FC_GROUP_NUMBER_MAIN", "FC_GROUP_NUMBER_APPROACH" }; inventoryItemDetailModel.SpanInformation = CreateLabelValues(inventoryItems, spanInformationColumns); }
private void AddPosting(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var postingColumns = new List <string> { "POST_STATUS_DATE", "POST_STATUS2", "SPEC_RESTRICT_POST", "SINGLE" }; inventoryItemDetailModel.Posting = CreateLabelValues(inventoryItems, postingColumns); }
private void AddRoadwayInfo(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var roadwayInfoColumns = new List <string> { "ADTTOTAL", "FUNC_CLASS", "VCLROVER", "VCLROVER", "NHS_IND" }; inventoryItemDetailModel.RoadwayInfo = CreateLabelValues(inventoryItems, roadwayInfoColumns); }
private void AddManagement(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var managementColumns = new List <string> { "MAINT_RESP", "OWNER_CODE", "MPO", "REPORT_GROUP", "SUBM_AGENCY", "NBISLEN", "HISTSIGN", "SHP_KEY_NUMBER", "BUS_PLAN_NETWORK" }; inventoryItemDetailModel.Management = CreateLabelValues(inventoryItems, managementColumns); }
private void AddDeckInformation(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var deckInformationColumns = new List <string> { "DECK_STRUCTURE_TYPE", "DECK_SHEET_TYPE_PENNDOT", "DECK_SURFACE_TYPE", "DECK_MEMBRANE_TYPE", "DECK_PROTECTION", "DECK_WIDTH", "SKEW" }; inventoryItemDetailModel.DeckInformation = CreateLabelValues(inventoryItems, deckInformationColumns); }
private void AddLocation(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var locationColumns = new List <string> { "DISTRICT", "COUNTY", "MUNI_CODE", "FEATURE_INTERSECTED", "FEATURE_CARRIED", "LOCATION" }; const string locationId = "5A02"; inventoryItemDetailModel.Location = CreateLabelValues(inventoryItems, locationColumns); inventoryItemDetailModel.Name = inventoryItemDetailModel.Location.FirstOrDefault(l => l.Label.StartsWith(locationId)).Value; inventoryItemDetailModel.Label = locationId; }
private void AddRiskScores(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { //TODO Risk scores: currently const 0 assigned as per UI var inventoryItem = inventoryItems.FirstOrDefault(i => i.ColumnName == "Old_Risk_Score"); var newRiskInventoryItem = inventoryItems.FirstOrDefault(i => i.ColumnName == "Risk_Score"); inventoryItemDetailModel.RiskScores = new RiskScores { Old = Convert.ToDouble(inventoryItem.DisplayValue), New = Convert.ToDouble(newRiskInventoryItem.DisplayValue), OldName = inventoryItem.ViewName, NewName = newRiskInventoryItem.ViewName, }; }
private void AddNbiLoadRating(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryNbiLoadRatingModel> inventoryNbiLoadRatings) { var nbiLoadRatings = new List <NbiLoadRating>(); var nbiLoadRatingColumns = new List <string> { "LOAD_TYPE", "NBI", "INV_RATING_TON", "OPR_RATING_TON", "SLC_RATING_FACTOR", "IR_RATING_FACTOR", "OR_RATING_FACTOR", "RATING_DATASET" }; foreach (var inventoryNbiLoadRating in inventoryNbiLoadRatings) { var nbiLoadRating = new NbiLoadRating { NbiLoadRatingRow = CreateLabelValues(inventoryNbiLoadRating.NbiLoadRatingItems, nbiLoadRatingColumns) }; nbiLoadRatings.Add(nbiLoadRating); } inventoryItemDetailModel.NbiLoadRatings = nbiLoadRatings; }
private void AddCurrentConditionDuration(InventoryItemDetailModel inventoryItemDetailModel, List <InventoryItemModel> inventoryItems) { var currentConditionColumns = new List <string> { "DECK", "SUP", "SUB", "CULV" }; var currentDurationColumns = new List <string> { "DECK_DUR", "SUP_DUR", "SUB_DUR", "CULV_DUR" }; inventoryItemDetailModel.CurrentConditionDuration = CreateConditionDurationRows(inventoryItems, currentConditionColumns, currentDurationColumns); var priorConditionColumns = new List <string> { "PREV_DECK", "PREV_SUP", "PREV_SUB", "PREV_CULV" }; var priorDurationColumns = new List <string> { "PREV_DECK_DUR", "PREV_SUP_DUR", "PREV_SUB_DUR", "PREV_CULV_DUR" }; inventoryItemDetailModel.PreviousConditionDuration = CreateConditionDurationRows(inventoryItems, priorConditionColumns, priorDurationColumns); }