using Demo.Common.Models; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Demo.Common.Extensions { public static class ObservableCollectionExtension { public static void InitUserList(this ObservableCollection list, int count) where T : User { for (int i = 0; i < count; i++) { list.Add((T)User.GetInit()); } } public static int AddUser(this ObservableCollection list, T user) where T : User { for (int i = 0; i < list.Count; i++) { if (list[i].Id == 0) { list[i] = user; return i; } } return -1; } public static int ClearUserById(this ObservableCollection list, long Id) where T : User { for (int i = 0; i < list.Count; i++) { if (list[i].Id == Id) { list[i] = (T)User.GetInit(); return i; } } return -1; } public static void ClearAllUser(this ObservableCollection list) where T : User { for (int i = 0; i < list.Count; i++) { list[i] = (T)User.GetInit(); } } } }