2017-10-31 8 views
1

수정 단추 & 편집 단추에서 항목을 만들고 있습니다. 저자가 버전을 체크인하는 동안 해당 버전의 값을 변경하지 않으면 해당 버전을 제거하고 싶습니다. 항목 버전을 체크인하는 동안 변경 사항이없는 경우 버전을 비교하고 새로 만든 버전을 삭제하고 싶습니다.프로그래밍 방식으로 이전 버전의 변경 사항이없는 경우 새로 만든 된 항목 버전을 제거하는 방법

참고 : 워크 플로가 필요하지 않습니다

답변

1

항목 저장 이벤트에서 항목의 변경 목록을 가져올 수 있습니다. 여기에 아이디어 얻기 위해 몇 가지 예제 코드입니다 : 입력

protected void OnItemSaving(object sender, EventArgs args) 
    { 
     var newItem = Event.ExtractParameter(args, 0) as Item; 
     Item originalItem = newItem.Database.GetItem(newItem.ID, newItem.Language, newItem.Version); 
    var differences = FindDifferences(newItem, originalItem);  
} 

private List<string> FindDifferences(Item newItem, Item originalItem) 
    { 
     newItem.Fields.ReadAll(); 
     IEnumerable<string> fieldNames = newItem.Fields.Select(f => f.Name); 
     return fieldNames 
      .Where(fieldName => newItem[fieldName] != originalItem[fieldName]) 
      .ToList(); 
    } 
0
    컨텐츠 편집기에서
  1. 열기 항목
  2. 버전 탭에
  3. 클릭
  4. 클릭 버전 청크 버튼을 비교에 로는 2를 비교하는 능력을 가진 대화 상자가 표시됩니다 결과 버전. 변경 사항을 감지하지 못하면 새로 생성 된 버전을 제거 할 수 있습니다. enter image description here P. Screenshot은 7.2 버전이지만, 8+ 버전은 버전을 비교하는 데 꽤 똑같은 방식입니다.
+0

감사하지만 내 질문은 우리가 프로그래밍을 할 수있는 방법이었다 –