public ActionResult CollgeEdit(CollegeEditViewModel viewModel) { Town town = _townRepository.GetAll().FirstOrDefault(x => x.CityName == viewModel.CollegeDto.CityName && x.DistrictName == viewModel.CollegeDto.DistrictName && x.TownName == viewModel.CollegeDto.TownName); int townId = town == null ? -1 : town.Id; CollegeInfo info = viewModel.CollegeDto.Id == -1 ? new CollegeInfo() : _repository.Get(viewModel.CollegeDto.Id); if (info == null) { TempData["error"] = "该校园不存在。无法修改!"; return RedirectToAction("List"); } int oldTownId = info.TownId; string oldName = info.Name; viewModel.CollegeDto.CloneProperties(info); info.TownId = townId; if (viewModel.CollegeDto.Id == -1) { _repository.Insert(info); TempData["success"] = "新增校园" + info.Name + "信息成功!"; } else { info.TownId = oldTownId; info.Name = oldName; TempData["success"] = "修改校园" + info.Name + "信息成功!"; _repository.Update(info); } return RedirectToAction("List"); }
public ActionResult CollegeDetails(int id) { CollegeInfo info = _repository.Get(id); IEnumerable<Town> towns = _townRepository.GetAllList(); CollegeDto dto = (info == null) ? new CollegeDto() : new CollegeDto(info, towns); CollegeEditViewModel viewModel = new CollegeEditViewModel { CollegeDto = dto }; viewModel.Initialize(towns, new Town { CityName = dto.CityName, DistrictName = dto.DistrictName, TownName = dto.TownName }); return View(viewModel); }