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); }
public JsonResult Regions(int?parentId) { IEnumerable <WorldRegionModels> items = WorldRegionDAO.GetRegionsByParentId(parentId); return(Json(items, JsonRequestBehavior.AllowGet)); }
/// <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)); }
/// <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)); }