public void MoveItem(short mode, int sn) { var obj = DictRepository.Find(o => o.DicSN == sn); var list = DictRepository.GetQuery(o => o.DicPSN == obj.DicPSN).OrderBy(o => o.SortOrder).ToList(); switch (mode) { case 2: //下移 var obj1 = list.LastOrDefault(); if (obj.Id != obj1.Id) { Entity.SysDataDictionary next = null; for (var i = 0; i < list.Count; i++) { if (obj.Id == list[i].Id) { next = list[i + 1]; break; } } if (next != null) { var sort = obj.SortOrder; obj.SortOrder = next.SortOrder; next.SortOrder = sort; DictRepository.SaveChanges(); } } break; default: //上移 var obj2 = list.FirstOrDefault(); if (obj.Id != obj2.Id) { Entity.SysDataDictionary prev = null; for (var i = 0; i < list.Count; i++) { if (obj.Id == list[i].Id) { prev = list[i - 1]; break; } } if (prev != null) { var sort = obj.SortOrder; obj.SortOrder = prev.SortOrder; prev.SortOrder = sort; DictRepository.SaveChanges(); } } break; } }
public OpResult Save(Entity.SysDataDictionary obj) { if (obj.Id == 0) { obj.DicSN = DictRepository.GetMaxInt(o => o.DicSN); obj.SortOrder = obj.DicSN; obj.CreateDT = DateTime.Now; obj.CreateUID = CurrentUser.UID; DictRepository.Add(obj, false); } else { var dict = DictRepository.Get(obj.Id); dict.Title = obj.Title; dict.Status = obj.Status; if (dict.HasChild != obj.HasChild && DictRepository.IsExists(o => o.DicPSN == obj.DicSN)) { return(OpResult.Fail("存在下级不允许修改!")); } dict.HasChild = obj.HasChild; } DictRepository.SaveChanges(); return(OpResult.Success()); }