/// <summary> /// 更新数据字典信息信息 /// </summary> /// <param name="dtos">包含更新信息的数据字典信息DTO信息</param> /// <returns>业务操作结果</returns> public OperationResult EditDictionarys(params DictionaryDto[] dtos) { dtos.CheckNotNull("dtos"); OperationResult result = DictionaryRepository.Update(dtos, dto => { if (DictionaryRepository.CheckExists(m => m.Value == dto.Value)) { throw new Exception("值为“{0}”的数据字典已存在,不能重复添加。".FormatWith(dto.Value)); } }, (dto, entity) => { if (!dto.ParentId.HasValue || dto.ParentId == 0) { entity.Parent = null; } else if (entity.Parent != null && entity.Parent.Id != dto.ParentId) { Dictionary parent = DictionaryRepository.GetByKey(dto.ParentId.Value); if (parent == null) { throw new Exception("指定父数据字典不存在。"); } entity.Parent = parent; } return(entity); }); return(result); }
public ActionResult Edit(int id, FormCollection formCollection) { try { DictionaryRepository ml = new DictionaryRepository(); Dictionary obj = ml.GetDictionary(id); UpdateModel(obj); obj.LastUpdateDate = DateTime.Now; obj.LastUpdateUserID = ID; bool result = ml.Update(obj) > 0 ? true : false; return(result ? Content(ContentIcon.Succeed + "|操作成功") : Content(ContentIcon.Error + "|操作失败")); } catch (Exception ex) { return(Content(ContentIcon.Error + "|" + ErrorWirter(RouteData, ex.Message))); } }
public void DictionaryRepositoryCrudTest() { //-- Arrange var dictionaryRepository = new DictionaryRepository <EquatableStringEntity>(); var testEntity = new EquatableStringEntity(1) { Data = "response1" }; var updateEntity = new EquatableStringEntity(1) { Data = "response2" }; var expectedAdded = new EquatableStringEntity(1) { Data = "response1" }; var expectedUpdated = new EquatableStringEntity(1) { Data = "response2" }; var expectedExceptionType = typeof(System.Collections.Generic.KeyNotFoundException); var expectedExceptionMessage = "The given key '1' was not present in the dictionary."; //-- Act //-- Create dictionaryRepository.Add(testEntity); //-- Read var actualAdded = dictionaryRepository.FindById(testEntity.Id); //-- Update dictionaryRepository.Update(updateEntity); var actualUpdated = dictionaryRepository.FindById(testEntity.Id); //-- Delete dictionaryRepository.Delete(testEntity); EquatableStringEntity actualDeleted; System.Exception actualException; try { actualDeleted = dictionaryRepository.FindById(testEntity.Id); actualException = new System.Exception(); } catch (System.Collections.Generic.KeyNotFoundException ex) { actualDeleted = null; actualException = ex; } catch (System.Exception ex) { actualException = ex; throw; } var actualExceptionType = actualException.GetType(); var actualExceptionMessage = actualException.Message; //-- Assert Assert.AreEqual(expectedAdded, actualAdded); Assert.AreEqual(expectedUpdated, actualUpdated); Assert.AreNotEqual(expectedAdded, actualUpdated); Assert.IsNull(actualDeleted); Assert.AreEqual(expectedExceptionType, actualExceptionType); Assert.AreEqual(expectedExceptionMessage, actualExceptionMessage); }