Beispiel #1
0
        public string ToAddressString()
        {
            var address = "";

            if (Level1.HasValue)
            {
                var region = WorldRegionDAO.GetByID(Level1.Value);
                if (region != null)
                {
                    address += region.Name;
                }
            }

            if (Level2.HasValue)
            {
                var region = WorldRegionDAO.GetByID(Level2.Value);
                if (region != null)
                {
                    address += region.Name;
                }
            }

            if (Level3.HasValue)
            {
                var region = WorldRegionDAO.GetByID(Level3.Value);
                if (region != null)
                {
                    address += region.Name;
                }
            }

            if (Level4.HasValue)
            {
                var region = WorldRegionDAO.GetByID(Level4.Value);
                if (region != null)
                {
                    address += region.Name;
                }
            }

            address += Address;

            return(address);
        }
Beispiel #2
0
        public JsonResult Regions(int?parentId)
        {
            IEnumerable <WorldRegionModels> items = WorldRegionDAO.GetRegionsByParentId(parentId);

            return(Json(items, JsonRequestBehavior.AllowGet));
        }
Beispiel #3
0
        /// <summary>
        /// 地址
        /// </summary>
        /// <param name="level"></param>
        /// <param name="parentID"></param>
        /// <returns></returns>
        public JsonResult GetAddressOption(int level, int?parentID)
        {
            var regions = WorldRegionDAO.GetRegions(level, parentID);

            return(Json(regions, JsonRequestBehavior.AllowGet));
        }
Beispiel #4
0
        /// <summary>
        /// Html 表單欄位元件
        /// </summary>
        /// <param name="field"></param>
        /// <param name="answer"></param>
        /// <returns></returns>
        public ActionResult HtmlField(FieldModel field, FieldAnswerModel answer)
        {
            ViewBag.Answer = answer;

            switch (field.TypeID)
            {
                #region 地址

            case "address":

                ViewBag.Levels1 = new List <SelectListItem>();
                ViewBag.Levels2 = new List <SelectListItem>();
                ViewBag.Levels3 = new List <SelectListItem>();
                ViewBag.Levels4 = new List <SelectListItem>();

                var regionLevel1 = WorldRegionDAO.GetRegionsByLevel(1);
                var regionLevel2 = WorldRegionDAO.GetRegionsByLevel(2);
                var regionLevel3 = WorldRegionDAO.GetRegionsByLevel(3);
                var regionLevel4 = WorldRegionDAO.GetRegionsByLevel(4);

                AddressAnswerModel ans = null;

                if (answer != null && !string.IsNullOrWhiteSpace(answer.Answer))
                {
                    ans = JsonConvert.DeserializeObject <AddressAnswerModel>(answer.Answer);
                }

                var levels1 = new List <SelectListItem>();
                var levels2 = new List <SelectListItem>();
                var levels3 = new List <SelectListItem>();
                var levels4 = new List <SelectListItem>();

                var parentID = field.RangeLimit;

                if (!field.Range)
                {
                    foreach (var item in regionLevel1)
                    {
                        var isAns = false;
                        if (ans != null)
                        {
                            if (ans.Level1 == item.ID)
                            {
                                isAns    = true;
                                parentID = item.ID;
                            }
                        }
                        levels1.Add(new SelectListItem {
                            Text = item.Name, Value = item.ID.ToString(), Selected = isAns
                        });
                    }
                    ViewBag.Levels1 = levels1;
                }

                if ((field.Range && field.RangeLevel == 1) || (ans != null && ans.Level2 != null))
                {
                    foreach (var item in regionLevel2.Where(x => x.ParentID == parentID))
                    {
                        var isAns = false;
                        if (ans != null)
                        {
                            if (ans.Level2 == item.ID)
                            {
                                isAns    = true;
                                parentID = item.ID;
                            }
                        }
                        levels2.Add(new SelectListItem {
                            Text = item.Name, Value = item.ID.ToString(), Selected = isAns
                        });
                    }
                    ViewBag.Levels2 = levels2;
                }

                if ((field.Range && field.RangeLevel == 2) || levels2.Count == 0 || (ans != null && ans.Level3 != null))
                {
                    foreach (var item in regionLevel3.Where(x => x.ParentID == parentID))
                    {
                        var isAns = false;
                        if (ans != null)
                        {
                            if (ans.Level3 == item.ID)
                            {
                                isAns    = true;
                                parentID = item.ID;
                            }
                        }
                        levels3.Add(new SelectListItem {
                            Text = item.Name, Value = item.ID.ToString(), Selected = isAns
                        });
                    }
                    ViewBag.Levels3 = levels3;
                }

                if ((field.Range && field.RangeLevel == 3) || levels3.Count == 0 || (ans != null && ans.Level4 != null))
                {
                    foreach (var item in regionLevel4.Where(x => x.ParentID == parentID))
                    {
                        var isAns = false;
                        if (ans != null)
                        {
                            if (ans.Level4 == item.ID)
                            {
                                isAns    = true;
                                parentID = item.ID;
                            }
                        }
                        levels4.Add(new SelectListItem {
                            Text = item.Name, Value = item.ID.ToString(), Selected = isAns
                        });
                    }
                    ViewBag.Levels4 = levels4;
                }

                break;

                #endregion
            }

            return(View(field));
        }