using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; using System.Windows; namespace MECF.Framework.Common.RecipeCenter { [Serializable] [DataContract] public class RecipeFileNode { public RecipeFileNode() { this.Files = new List(); this.IsFile = false; } [DataMember] public string Name { get; set; } [DataMember] public string FullPath { get; set; } [DataMember] public RecipeFileNode Parent { get; set; } [DataMember] public List Files { get; set; } [DataMember] public bool IsFile { get; set; } [DataMember] public string PrefixPath { get; set; } [DataMember] private string Creator { get; set; } [DataMember] public string Revisor { get; set; } [DataMember] public string Description { get; set; } [DataMember] public string CreatTime { get; set; } [DataMember] public string ReviseTime { get; set; } [DataMember] public string Permission { get; set; } [DataMember] public string Level { get; set; } [DataMember] public bool IsSelected { get; set; } [DataMember] public bool IsExpanded { get; set; } [DataMember] public Visibility IsVisiable { get; set; } [DataMember] public bool IsChecked { get; set; } private bool _IsBackupSelected; [DataMember] public bool IsBackupSelected { get { return _IsBackupSelected; } set { _IsBackupSelected = value; if (!IsFile) { foreach (var item in Files) { SetAllChild(item, value); } } } } private void SetAllChild(RecipeFileNode fileNode, bool value) { if (!fileNode.IsFile) { SetAllChild(fileNode, value); } else { fileNode.IsBackupSelected = value; } } [DataMember] public bool IsEnable { get; set; } } }