public GuesstimateViewModel() { MenuViewModel = new MenuViewModel(); COHeaderViewModel = new COHeaderViewModel(); SummaryDetails = new List <SummaryDetails>(); Guesstimate = new mGuesstimate(); }
public bool GetDistinctRanges(mGuesstimate prices, ref GuesstimateViewModel model) { List <AttributeValues> lstRangesAcco = new List <AttributeValues>(); foreach (var p in prices.GuesstimatePosition) { if (p.ProductType != null) { if (p.ProductType.ToLower() == "hotel" || p.ProductType.ToLower() == "apartments" || p.ProductType.ToLower() == "overnight ferry") { foreach (var pr in p.GuesstimatePrice) { if (pr.ProductRange != null) { if (lstRangesAcco.Where(a => a.Value == pr.ProductRange.Replace("ADULT", "A").Replace("GUIDE", "G").Replace("DRIVER", "D")).Count() <= 0) { lstRangesAcco.Add(new AttributeValues { AttributeValue_Id = pr.ProductRangeId, Value = pr.ProductRange.Replace("ADULT", "A").Replace("GUIDE", "G").Replace("DRIVER", "D") }); } } } } } } #region Sort for (int i = 0; i < lstRangesAcco.Count; i++) { if (lstRangesAcco[i].Value.ToLower() == "single (a)") { lstRangesAcco[i].SequenceNo = 1; } else if (lstRangesAcco[i].Value.ToLower() == "double (a)") { lstRangesAcco[i].SequenceNo = 2; } else if (lstRangesAcco[i].Value.ToLower() == "twin (a)") { lstRangesAcco[i].SequenceNo = 3; } else if (lstRangesAcco[i].Value.ToLower() == "triple (a)") { lstRangesAcco[i].SequenceNo = 4; } else if (lstRangesAcco[i].Value.ToLower() == "quad (a)") { lstRangesAcco[i].SequenceNo = 5; } else if (lstRangesAcco[i].Value.ToLower() == "single (d)") { lstRangesAcco[i].SequenceNo = 6; } else if (lstRangesAcco[i].Value.ToLower() == "double (d)") { lstRangesAcco[i].SequenceNo = 7; } else if (lstRangesAcco[i].Value.ToLower() == "twin (d)") { lstRangesAcco[i].SequenceNo = 8; } else if (lstRangesAcco[i].Value.ToLower() == "triple (d)") { lstRangesAcco[i].SequenceNo = 9; } else if (lstRangesAcco[i].Value.ToLower() == "quad (d)") { lstRangesAcco[i].SequenceNo = 10; } else if (lstRangesAcco[i].Value.ToLower() == "single (g)") { lstRangesAcco[i].SequenceNo = 11; } else if (lstRangesAcco[i].Value.ToLower() == "double (g)") { lstRangesAcco[i].SequenceNo = 12; } else if (lstRangesAcco[i].Value.ToLower() == "twin (g)") { lstRangesAcco[i].SequenceNo = 13; } else if (lstRangesAcco[i].Value.ToLower() == "triple (g") { lstRangesAcco[i].SequenceNo = 14; } else if (lstRangesAcco[i].Value.ToLower() == "quad (g)") { lstRangesAcco[i].SequenceNo = 15; } else if (lstRangesAcco[i].Value.ToLower() == "child") { lstRangesAcco[i].SequenceNo = 16; } else if (lstRangesAcco[i].Value.ToLower() == "child + bed") { lstRangesAcco[i].SequenceNo = 17; } else if (lstRangesAcco[i].Value.ToLower() == "child - bed") { lstRangesAcco[i].SequenceNo = 18; } else if (lstRangesAcco[i].Value.ToLower() == "infant") { lstRangesAcco[i].SequenceNo = 19; } else { lstRangesAcco[i].SequenceNo = 100; } } lstRangesAcco = lstRangesAcco.OrderBy(a => a.SequenceNo).ToList(); model.RangeAccoList = lstRangesAcco; #endregion List <AttributeValues> lstRangesServ = new List <AttributeValues>(); foreach (var p in prices.GuesstimatePosition) { if (p.ProductType != null) { if (p.ProductType.ToLower() == "meal" || p.ProductType.ToLower() == "attractions" || p.ProductType.ToLower() == "sightseeing - citytour" || p.ProductType.ToLower() == "visa" || p.ProductType.ToLower() == "insurance" || p.ProductType.ToLower() == "ferry passenger" || p.ProductType.ToLower() == "scheduled transfer" || p.ProductType.ToLower() == "train" || p.ProductType.ToLower() == "domestic flight" ) { foreach (var pr in p.GuesstimatePrice) { if (pr.IsSupplement) { if (pr.ProductRange != null) { if (lstRangesServ.Where(a => a.Value == pr.ProductRange.Replace("ADULT", "A").Replace("CHILD", "C")).Count() <= 0) { lstRangesServ.Add(new AttributeValues { AttributeValue_Id = pr.ProductRangeId, Value = pr.ProductRange.Replace("ADULT", "A").Replace("CHILD", "C") }); } } } else { if (pr.Type != null) { if (lstRangesServ.Where(a => a.Value == pr.Type).Count() <= 0) { lstRangesServ.Add(new AttributeValues { AttributeValue_Id = pr.ProductRangeId, Value = pr.Type }); } } } } } } } #region Sort for (int i = 0; i < lstRangesServ.Count; i++) { if (lstRangesServ[i].Value.ToLower() == "adult") { lstRangesServ[i].SequenceNo = 1; } else if (lstRangesServ[i].Value.ToLower() == "child") { lstRangesServ[i].SequenceNo = 2; } else { lstRangesServ[i].SequenceNo = 100; } } lstRangesServ = lstRangesServ.OrderBy(a => a.SequenceNo).ToList(); model.RangeServicesList = lstRangesServ; #endregion List <AttributeValues> lstRangesUnit = new List <AttributeValues>(); foreach (var p in prices.GuesstimatePosition) { if (p.ProductType != null) { if (p.ProductType.ToLower() == "coach" || p.ProductType.ToLower() == "ferry transfer" || p.ProductType.ToLower() == "guide" || p.ProductType.ToLower() == "private transfer" || p.ProductType.ToLower() == "ldc" || p.ProductType.ToLower() == "assistant" || p.ProductType.ToLower() == "fee" || p.ProductType.ToLower() == "other") { foreach (var pr in p.GuesstimatePrice) { if (pr.ProductRangeCode != null) { if (lstRangesUnit.Where(a => a.Value == pr.ProductRangeCode).Count() <= 0) { lstRangesUnit.Add(new AttributeValues { AttributeValue_Id = pr.ProductRangeId, Value = pr.ProductRangeCode }); } } } } } } model.RangeUnitList = lstRangesUnit; model.RangesList = new List <AttributeValues>(); model.RangesList.AddRange(lstRangesAcco); model.RangesList.AddRange(lstRangesServ); model.RangesList.AddRange(lstRangesUnit); return(true); }