Exemplo n.º 1
0
 public GuesstimateViewModel()
 {
     MenuViewModel     = new MenuViewModel();
     COHeaderViewModel = new COHeaderViewModel();
     SummaryDetails    = new List <SummaryDetails>();
     Guesstimate       = new mGuesstimate();
 }
Exemplo n.º 2
0
        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);
        }