public FactoryDto Create(CreateFactoryDto input) { var factoryQuery = _factoryRepository.GetAll().Where(f => f.FactoryName == input.FactoryName); var factory = factoryQuery.FirstOrDefault(); if (factory != null) { if (factory.IsDeleted == true) { factory.IsDeleted = false; var result_old = _factoryRepository.Update(factory); CurrentUnitOfWork.SaveChanges(); return(ObjectMapper.Map <FactoryDto>(result_old)); } } var query = _cityRepository.GetAll().Where(c => c.CityName == input.CityName); var city = query.FirstOrDefault(); if (city.IsNullOrDeleted()) { throw new ApplicationException("城市不存在"); } var entity = ObjectMapper.Map <Factory>(input); entity.City = city; var result = _factoryRepository.Insert(entity); CurrentUnitOfWork.SaveChanges(); return(ObjectMapper.Map <FactoryDto>(result)); }