Beispiel #1
0
        public StreetPage(Street street)
        {
            InitializeComponent();
            StreetViewModel viewModel = new StreetViewModel(street);

            DataContext = viewModel;
        }
Beispiel #2
0
        public IActionResult Edit(string id)
        {
            var street = db.Streets
                         .Include(s => s.City)
                         .ThenInclude(r => r.Region)
                         .ThenInclude(c => c.Country)
                         .FirstOrDefault(s => s.Id == Convert.ToInt32(id));

            var countries = new SelectList(db.Countries
                                           .Select(c => new { Id = c.Id, Name = c.Name }).ToList(), "Id", "Name");

            var regions = new SelectList(db.Regions
                                         .Where(r => r.Country.Id == street.City.Country.Id)
                                         .Select(c => new { Id = c.Id, Name = c.Name }).ToList(), "Id", "Name");

            var cities = new SelectList(db.Cities
                                        .Where(c => c.Region.Id == street.City.Region.Id)
                                        .Select(c => new { Id = c.Id, Name = c.Name }).ToList(), "Id", "Name");

            var viewModel = new StreetViewModel
            {
                Countries       = countries,
                Regions         = regions,
                Cities          = cities,
                SelectedCountry = street.City.Country.Id,
                SelectedRegion  = street.City.Region.Id,
                SelectedCity    = street.City.Id,
                Street          = street
            };

            return(View(viewModel));
        }
Beispiel #3
0
        public IActionResult Create()
        {
            var countries = new SelectList(db.Countries.Select(c => new { c.Id, c.Name }).ToList(), "Id", "Name");

            int countryId = Convert.ToInt32(countries.First().Value);

            var regions = new SelectList(db.Regions
                                         .Where(r => r.Country.Id == countryId)
                                         .Select(c => new { Id = c.Id, Name = c.Name }).ToList(), "Id", "Name");

            int regionId = Convert.ToInt32(regions.First().Value);

            var cities = new SelectList(db.Cities
                                        .Where(c => c.Region.Id == regionId)
                                        .Select(c => new { Id = c.Id, Name = c.Name }).ToList(), "Id", "Name");

            var viewModel = new StreetViewModel
            {
                Countries = countries,
                Regions   = regions,
                Cities    = cities
            };

            return(View(viewModel));
        }
Beispiel #4
0
        public ActionResult Show(int Id)
        {
            var obj   = dataManager.Streets.Get(Id);
            var model = new StreetViewModel
            {
                Street   = obj,
                Locality = dataManager.Localities.Get((int?)obj.LocalityId ?? 0),
                District = dataManager.Districts.Get((int?)obj.DistrictId ?? 0)
            };

            return(View(model));
        }
Beispiel #5
0
        public IActionResult Create(StreetViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var street = viewModel.Street;
                street.City = db.Cities.FirstOrDefault(c => c.Id == viewModel.SelectedCity);

                db.Streets.Add(street);
                db.SaveChanges();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(viewModel));
        }
Beispiel #6
0
        public async Task ShouldDistanceBeRepresentedInMeters()
        {
            var street = new AutoQuest.Street
            {
                Name = "Глушкова",
                Lat  = GeoPointTests.VDNHLocation.Lat,
                Long = GeoPointTests.VDNHLocation.Long
            };
            var streetVm = new StreetViewModel(street);

            var mock = new TestFilter {
                CurrentLocation = GeoPointTests.HouseLocation
            };

            streetVm.UpdateStates(mock);
            Assert.IsTrue(streetVm.IsVisible, "streetVm.IsVisible");
            Assert.AreEqual($"{GeoPointTests.DistanceByYandex} м.", streetVm.DistanceRepr);
        }
Beispiel #7
0
        public async Task ShouldStreetBeInvisibleBecauseOfMaxDistance()
        {
            var street = new AutoQuest.Street
            {
                Name = "Глушкова",
                Lat  = GeoPointTests.VDNHLocation.Lat,
                Long = GeoPointTests.VDNHLocation.Long
            };
            var streetVm = new StreetViewModel(street);

            var mock = new TestFilter
            {
                CurrentLocation = GeoPointTests.HouseLocation,
                MaxDistance     = 0.8
            };

            streetVm.UpdateStates(mock);
            Assert.IsFalse(streetVm.IsVisible, "streetVm.IsVisible");
        }
        public IActionResult SaveEntity(StreetViewModel streetVm)
        {
            if (!ModelState.IsValid)
            {
                IEnumerable <ModelError> allErrors = ModelState.Values.SelectMany(v => v.Errors);
                return(new BadRequestObjectResult(allErrors));
            }

            if (streetVm.Id == 0)
            {
                _streetService.Add(streetVm);
            }
            else
            {
                _streetService.Update(streetVm);
            }

            _streetService.Save();
            return(new OkObjectResult(streetVm));
        }
Beispiel #9
0
        public ActionResult Add(StreetViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (model.Id > 0)
                {//edit
                    Street street = db.Streets.Find(model.Id);
                    if (street != null)
                    {
                        street.Name            = model.Name;
                        street.RegionName      = model.RegionName;
                        db.Entry(street).State = System.Data.Entity.EntityState.Modified;
                        db.SaveChanges();

                        ModelState.AddModelError("", "操作成功");
                        TempData["ModelState"] = ModelState;

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        return(new HttpNotFoundResult());
                    }
                }
                else
                {
                    db.Streets.Add(new Street {
                        Name       = model.Name,
                        RegionName = model.RegionName
                    });
                    db.SaveChanges();

                    ModelState.AddModelError("", "操作成功");
                    TempData["ModelState"] = ModelState;

                    return(RedirectToAction("Index"));
                }
            }
            SetMyAccountViewModel();
            return(View(model));
        }
 // GET: Streets
 public ActionResult Index(string searchString, int page = 1)
 {
     Session["searchString"] = null;
     if (!String.IsNullOrEmpty(searchString))
     {
         Session["searchString"] = searchString;
         StreetViewModel model = new StreetViewModel
         {
             Streets = db.Street
                       .OrderBy(d => d.StreetName)
                       .Where(c => c.StreetName.Contains(searchString))
                       .Skip((page - 1) * PageSize)
                       .Take(PageSize),
             PagingInfo = new PagingInfo
             {
                 CurrentPage  = page,
                 ItemsPerPage = PageSize,
                 TotalItems   = db.Street.Where(c => c.StreetName.Contains(searchString)).Count()
             }
         };
         return(View(model));
     }
     else
     {
         StreetViewModel model = new StreetViewModel
         {
             Streets = db.Street
                       .OrderBy(d => d.StreetName)
                       .Skip((page - 1) * PageSize)
                       .Take(PageSize),
             PagingInfo = new PagingInfo
             {
                 CurrentPage  = page,
                 ItemsPerPage = PageSize,
                 TotalItems   = db.Street.Count()
             }
         };
         return(View(model));
     }
 }
Beispiel #11
0
        public ActionResult Add(int id)
        {
            var model = new StreetViewModel();

            if (id > 0)
            {
                Street street = db.Streets.SingleOrDefault(c => c.Id == id);
                if (street != null)
                {
                    model.Id         = street.Id;
                    model.RegionName = street.RegionName;
                    model.Name       = street.Name;
                }
            }
            var regions    = db.Regions.Where(c => c.Id > 0).ToList();
            var regionList = new SelectList(regions, "Name", "Name");

            ViewData["regions"] = regionList;

            SetMyAccountViewModel();
            return(View(model));
        }
Beispiel #12
0
        public async Task ShouldHideStreetBecauseOfStreetType()
        {
            var street = new AutoQuest.Street
            {
                Name = "Глушкова",
                Type = "проспект",
                Lat  = GeoPointTests.VDNHLocation.Lat,
                Long = GeoPointTests.VDNHLocation.Long
            };
            var streetVm = new StreetViewModel(street);
            var mock     = new TestFilter {
                CurrentLocation = GeoPointTests.HouseLocation, PossibleTypes = new[] { "улица" }
            };

            streetVm.UpdateStates(mock);
            var isVisibleWithoutCorrectType = streetVm.IsVisible;

            mock.PossibleTypes = new[] { "улица", "проспект" };
            streetVm.UpdateStates(mock);

            Assert.IsFalse(isVisibleWithoutCorrectType, "streetVm.IsVisible");
            Assert.IsTrue(streetVm.IsVisible, "streetVm.IsVisible");
        }
Beispiel #13
0
        public async Task ShouldNotFindStreetMatchInTheMiddle()
        {
            var street = new AutoQuest.Street
            {
                Name = "Глушкова",
                Type = "проспект",
                Lat  = GeoPointTests.VDNHLocation.Lat,
                Long = GeoPointTests.VDNHLocation.Long
            };
            var streetVm = new StreetViewModel(street);
            var mock     = new TestFilter
            {
                CurrentLocation = GeoPointTests.HouseLocation,
                PossibleTypes   = new List <string>()
                {
                    "проспект"
                },
                SearchQuery = new Regex("ш..о", RegexOptions.IgnoreCase)
            };

            streetVm.UpdateStates(mock);

            Assert.IsFalse(streetVm.IsVisible, "streetVm.IsVisible");
        }
        public void Update(StreetViewModel streetVm)
        {
            var street = Mapper.Map <StreetViewModel, Street>(streetVm);

            _streetRepository.Update(street);
        }
        public void Add(StreetViewModel streetVm)
        {
            var street = Mapper.Map <StreetViewModel, Street>(streetVm);

            _streetRepository.Add(street);
        }
 public void UpdateStreet(StreetViewModel streetVm)
 {
     throw new NotImplementedException();
 }
 public ActionResult Show(int Id)
 {
     var obj = dataManager.Streets.Get(Id);
     var model = new StreetViewModel
     {
         Street = obj,
         Locality = dataManager.Localities.Get((int?)obj.LocalityId ?? 0),
         District = dataManager.Districts.Get((int?)obj.DistrictId ?? 0)
     };
     return View(model);
 }