public async Task <ActionResult> Create(CreateStationInput input) { if (ModelState.IsValid) { await _stationAppService.CreateStation(input); return(RedirectToAction("Index")); } else { var regions = _regionAppService.GetRegions().Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.Name }); var zones = _zoneAppService.GetZones().Select(c => new SelectListItem { Value = c.Id.ToString(), Text = c.Name }); ViewBag.RegionId = regions; ViewBag.ZoneId = zones; return(View(input)); } }
public async Task CreateStation(CreateStationInput input) { //var station = input.MapTo<Statiton>(); var station = new Statiton { Name = input.Name, Address = input.Address, ZoneId = input.ZoneId, RegionId = input.RegionId }; var existingStation = _stationRepository.FirstOrDefault(p => p.Name == input.Name); if (existingStation == null) { await _stationRepository.InsertAsync(station); } else { throw new UserFriendlyException("There is already a Station with given name"); } }