public virtual ActionResult Create(AddOrUpdateAreaMap areaMapModel)
        {
            if (ModelState.IsValid)
            {
                var areamap = new AreaMap()
                {
                    AreaName   = areaMapModel.AreaName,
                    AreaTypeId = areaMapModel.AreaTypeId,
                    MapPoints  = new List <MapPoint>()
                };
                foreach (var areamapMapPoint in areaMapModel.MapPoints)
                {
                    if (db.MapPoints.Any(a =>
                                         a.LatMap.CompareTo(areamapMapPoint.LatMap) == 0 || a.LngMap.CompareTo(areamapMapPoint.LngMap) == 0))
                    {
                        return(Json("محیط انتخاب شده تداخل دارد"));
                    }
                    var mapPoint = new MapPoint()
                    {
                        LatMap = areamapMapPoint.LatMap,
                        LngMap = areamapMapPoint.LngMap
                    };
                    areamap.MapPoints.Add(mapPoint);
                }

                db.AreaMaps.Add(areamap);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(Json(areaMapModel));
        }
        // GET: Admin/AreaMaps/Create
        public virtual ActionResult Create()
        {
            var model    = new AddOrUpdateAreaMap();
            var areatype = db.MapAreaTypes.ToList();

            foreach (var mapAreaType in areatype)
            {
                model.AvilableAreaTypes.Add(mapAreaType);
            }
            return(View(model));
        }