public Container(APMCore.Model.Container source) : base(source) { _pairsLocker = new object(); _workPairs = new WorkPairCollection(); _pairs = new PairCollection(); _opacity = 1; }
/// <summary> /// 创建一个Container,其Filter为该实例 /// </summary> /// <param name="containerUID">Container的唯一标识符</param> /// <returns>创建的Container</returns> public async Task <Container> CreateContainerAsync(long containerUID) { Container container = await Task.Run(() => { APMCore.Model.Container source = new APMCore.Model.Container(containerUID); return(new Container(source) { FilterUID = FilterUID, Filter = this, DataBase = DataBase }); }); return(container); }
/// <summary> /// 根据Template创建Container实例 /// </summary> /// <param name="containerUID">container的UID</param> /// <returns>创建的Container</returns> public async Task <Container> MakeInstanceAsync(long containerUID) { Container container = await Task.Run(() => { APMCore.Model.Container source = new APMCore.Model.Container(containerUID) { Avatar = "", Header = Header, Description = Description, FilterUID = FilterUID }; return(new Container(source) { DataBase = DataBase, Filter = Filter, }); }); if (!string.IsNullOrEmpty(Avatar)) { await container.SetAvatarAsync(Avatar); } container.UpdateToSource(UpdateMethod.Insert); foreach (IPair pair in Pairs) { IPair sourcePair = await container.AddPairAsync(); sourcePair.Title = pair.Title; sourcePair.Detail = pair.Detail; } container.UpdateToSource(UpdateMethod.Update); return(container); }