public void MedicineTypeSaveChanges(BasicInfoModel model) { var medicineTypeService = new MedicineService(); List<medicine> medicineTypes = medicineTypeService.FindAll(); foreach (medicine medicineType in medicineTypes) { int idFlag = 0; int nameFlag = 0; string newname = ""; foreach (NameModel name in model.Names) { if (medicineType.Id == name.Id) { idFlag = 1; if (medicineType.Name.Equals(name.Name)) { nameFlag = 1; } else { newname = name.Name; } } } //若存在此Id,但是name变化了的,则需要修改数据库 if (idFlag == 1) { if (nameFlag == 0) { if (newname == "") { throw new Exception(); } medicine modifyCure = medicineTypeService.Find(medicineType.Id); modifyCure.Name = newname; medicineTypeService.Update(modifyCure); } } } //如果model里的Id为0,说明是新建的类型 foreach (NameModel name in model.Names) { if (name.Id == 0 && medicineTypeService.FindByName(name.Name) == null) { var newMedicineType = new medicine {Name = name.Name}; medicineTypeService.Insert(newMedicineType); } } }