public ActionResult Edit(Guid?id = null)
        {
            ShippingArea shippingArea     = null;
            var          shippingCodeList = new string[] { };

            if (id != null && id != Guid.Empty)
            {
                shippingArea  = _shippingAreaService.GetById(id.Value);
                ViewBag.IsNew = false;
                List <ShippingAreaFee> feeList = _shippingAreaService.GetFeeListByShippingAreaId(id.Value);
                ViewBag.FeeList  = feeList;
                ViewBag.CodeList = feeList.Select(x => x.AreaId).ToArray();
            }

            if (shippingArea == null)
            {
                shippingArea = new ShippingArea
                {
                    Id        = KeyGenerator.GetGuidKey(),
                    IsDefualt = DefaultStatus.Normal
                };
                ViewBag.IsNew = true;
            }
            var drovinceList = _currencyService.GetList <District>(
                d => d.ParentId.Equals("0", StringComparison.OrdinalIgnoreCase)).Select(x => new DistrictWithChilViewModel
            {
                Id           = x.Id,
                ParentId     = x.ParentId,
                ShortName    = x.ShortName,
                Sort         = x.Sort,
                DistrictChil = _currencyService.GetList <District>(
                    d => d.ParentId.Equals(x.Id, StringComparison.OrdinalIgnoreCase)).Select(y => new DistrictViewModel
                {
                    Id        = y.Id,
                    ParentId  = y.ParentId,
                    ShortName = y.ShortName,
                    Sort      = y.Sort
                }).ToList()
            }).ToList();

            ViewBag.DrovinceList = drovinceList;


            return(View(shippingArea));
        }