public RDList MostAwayFrom(RDList edges, RDCell cell, object factPool) { int[] Dist = edges.Data.Select(e => DistanceOfEdgeAndCell((RDEdge)e, cell)).ToArray(); int maxDist = Dist.Max(); return(new RDList(edges.Data.Where(e => DistanceOfEdgeAndCell((RDEdge)e, cell) == maxDist).ToArray())); }
protected AbstractLinkElement(IProject project, XmlElement xmlElement) : base(project, xmlElement) { Connections = new LinkConnections(this, Caching.Enabled); ReferencedFrom = new RDList<ILinkElement>(GetReferencingLinks, Caching.Enabled); LoadXml(); }
private void Init() { RecycleBin = new RecycleBin(this); PublicationTargets = new RDList <IPublicationTarget>(GetPublicationTargets, Caching.Enabled); PublicationFolders = new RDList <IPublicationFolder>(GetPublicationFolders, Caching.Enabled); PublicationPackages = new RDList <IPublicationPackage>(GetPublicationPackages, Caching.Enabled); InfoAttributes = new IndexedCachedList <int, IInfoAttribute>(GetInfoAttributes, x => x.Id, Caching.Enabled); ContentClassFolders = new ContentClassFolders(this, Caching.Enabled); Folders = new Folders(this, Caching.Enabled); ProjectVariants = new ProjectVariants(this, Caching.Enabled); LanguageVariants = new LanguageVariants(this, Caching.Enabled); DatabaseConnections = new DatabaseConnections(this, Caching.Enabled); Syllables = new Syllables(this, Caching.Enabled); Users = new ProjectUsers(this, Caching.Enabled); Workflows = new ProjectWorkflow(this, Caching.Enabled); Categories = new Categories(this); Keywords = new RDList <IKeyword>(GetKeywords, Caching.Enabled); AssignedGroups = new ProjectGroups(this, Caching.Enabled); OnlineUsers = new NameIndexedRDList <IUser>(GetOnlineUsers, Caching.Enabled); _clipboard = new ProjectClipboard(this); //AuthorizationPackages = new AuthorizationPackages(this); }
private void InitProperties() { LinkElements = new RDList<ILinkElement>(GetLinks, Caching.Enabled); ContentElements = new NameIndexedRDList<IPageElement>(GetContentElements, Caching.Enabled); ReferencedFrom = new RDList<ILinkElement>(GetReferencingLinks, Caching.Enabled); AssignedKeywords = new PageAssignedKeywords(this, Caching.Enabled); LinkedFrom = new RDList<ILinkingAndAppearance>(GetLinksFrom, Caching.Enabled); }
internal ServerManager(Session session) { _session = session; Groups = new Groups(_session, Caching.Enabled); Projects = new Projects(_session, Caching.Enabled); DatabaseServers = new DatabaseServers(_session, Caching.Enabled); Users = new Users(_session, Caching.Enabled); Modules = new IndexedRDList <ModuleType, IModule>(GetModules, x => x.Type, Caching.Enabled); AsynchronousProcesses = new RDList <IAsynchronousProcess>(GetAsynchronousProcesses, Caching.Disabled); ApplicationServers = new ApplicationServers(_session, Caching.Enabled); }
private void Removeforever_IteminDb() { for (int i = 0; i < RDList.Count(); i++) { foreach (var item in Model.DataProvider.Ins.DB.NHANVIENs) { while (item == RDList[i]) { Model.Nhanvien_Service.Delete(item); break; } } } Model.DataProvider.Ins.DB.SaveChanges(); }
private void Restone_IteminDb() { for (int i = 0; i < RDList.Count(); i++) { foreach (var item in Model.DataProvider.Ins.DB.MATHANGs.ToList()) { while (item == RDList[i]) { item.IsDeleted = false; Model.DataProvider.Ins.DB.SaveChanges(); break; } } } }
private void Removeforever_IteminDb() { for (int i = 0; i < RDList.Count(); i++) { foreach (var item in Model.DataProvider.Ins.DB.CHITIETPHIEUXUATs) { while (item == RDList[i]) { Model.Xuathang_Service.Delete(item); break; } } } Model.DataProvider.Ins.DB.SaveChanges(); }
private void Restone_IteminDb() { for (int i = 0; i < RDList.Count(); i++) { foreach (var item in Model.DataProvider.Ins.DB.NHANVIENs.ToList()) { while (item == RDList[i]) { Restore_dboTaikhoan(item.ma_nhanvien); item.IsDeleted = false; Model.DataProvider.Ins.DB.SaveChanges(); break; } } } }
private void RemoveIteminList() { for (int i = 0; i < List.Count(); i++) { while (RDList.Where(x => x == List[i]).Count() != 0) { if (List[i] == List[List.Count() - 1]) { List.Remove(List[i]); break; } else { List.Remove(List[i]); } } ; } }
public RDList CommonSuccessiveEdgesOf(RDEdge lhs, RDEdge rhs, object factPool) { RDList llist = SuccessiveEdgesOf(lhs, factPool); RDList rlist = SuccessiveEdgesOf(rhs, factPool); RDList result = new RDList(); foreach (RDElement e1 in llist.Data) { foreach (RDElement e2 in rlist.Data) { if ((e1 as RDEdge).X == (e2 as RDEdge).X && (e1 as RDEdge).Y == (e2 as RDEdge).Y && (e1 as RDEdge).Direction == (e2 as RDEdge).Direction) { result.Data.Add(e1); break; } } } return(result); }
protected AbstractLinkElement(IProject project, XmlElement xmlElement) : base(project, xmlElement) { Connections = new LinkConnections(this, Caching.Enabled); ReferencedFrom = new RDList <ILinkElement>(GetReferencingLinks, Caching.Enabled); LoadXml(); }
public Nhanvien_Deleted_ViewModel() { List = new ObservableCollection <Model.NHANVIEN>(Model.DataProvider.Ins.DB.NHANVIENs.Where(x => x.IsDeleted == true)); RDList = new ObservableCollection <Model.NHANVIEN>(); Opendel = false; Openres = false; Opendelete = false; Openrestore = false; Content = string.Empty; SelectedItem = null; CloseDialog_Command = new RelayCommand <MaterialDesignThemes.Wpf.DialogHost>(p => { return(true); }, p => { p.IsOpen = false; }); #region Khoi phuc/ Xoa 1 dong DeleteShow_Command = new RelayCommand <Button>(p => { if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Opendelete = true; Content = " Xóa vĩnh viễn bản ghi này"; string id = p.Uid.ToString(); SelectedItem = Model.DataProvider.Ins.DB.NHANVIENs.Where(x => x.ma_nhanvien == id).SingleOrDefault(); }); RestoreShow_Command = new RelayCommand <Button>(p => { if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Openrestore = true; Content = " Khôi phục bản ghi này"; string id = p.Uid.ToString(); SelectedItem = Model.DataProvider.Ins.DB.NHANVIENs.Where(x => x.ma_nhanvien == id).SingleOrDefault(); }); Delete_Command = new RelayCommand <Button>(p => { return(true); }, p => { Model.Nhanvien_Service.Delete(SelectedItem); Model.DataProvider.Ins.DB.SaveChanges(); List.Remove(SelectedItem); Opendelete = false; }); Restore_Command = new RelayCommand <Button>(p => { return(true); }, p => { SelectedItem.IsDeleted = false; Model.DataProvider.Ins.DB.SaveChanges(); Restore_dboTaikhoan(SelectedItem.ma_nhanvien); List.Remove(SelectedItem); Openrestore = false; }); #endregion #region Khoi phuc / Xoa nhieu dong AddRDList_Command = new RelayCommand <CheckBox>(p => { return(true); }, p => { RDList.Add(List.Where(x => x.ma_nhanvien == p.Uid.ToString()).SingleOrDefault()); }); RemoveRDList_Command = new RelayCommand <CheckBox>(p => { return(true); }, p => { RDList.Remove(List.Where(x => x.ma_nhanvien == p.Uid.ToString()).SingleOrDefault()); }); ResShow_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Openres = true; Content = " Khôi phục tất cả các bản ghi được chọn"; }); Res_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } return(true); }, p => { Restone_IteminDb(); RemoveIteminList(); RDList = new ObservableCollection <Model.NHANVIEN>(); Openres = false; }); DelShow_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Opendel = true; Content = " Xóa vĩnh viễn tất cả các bản ghi được chọn"; }); Del_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } return(true); }, p => { Removeforever_IteminDb(); RemoveIteminList(); RDList = new ObservableCollection <Model.NHANVIEN>(); Opendel = false; }); #endregion #region Sap xep OrderbyTen_Command = new RelayCommand <object>(p => { if (List.Count() == 0) { return(false); } return(true); }, p => { ObservableCollection <Model.NHANVIEN> chkList = new ObservableCollection <Model.NHANVIEN>(List.OrderByDescending(x => x.ten_nhanvien)); if (List[0] == chkList[0]) { List = new ObservableCollection <Model.NHANVIEN>(List.OrderBy(x => x.ten_nhanvien)); } else { List = new ObservableCollection <Model.NHANVIEN>(chkList); } }); OrderbyDiachi_Command = new RelayCommand <object>(p => { if (List.Count() == 0) { return(false); } return(true); }, p => { ObservableCollection <Model.NHANVIEN> chkList = new ObservableCollection <Model.NHANVIEN>(List.OrderByDescending(x => x.diachi)); if (List[0] == chkList[0]) { List = new ObservableCollection <Model.NHANVIEN>(List.OrderBy(x => x.diachi)); } else { List = new ObservableCollection <Model.NHANVIEN>(chkList); } }); OrderbyVitri_Command = new RelayCommand <object>(p => { if (List.Count() == 0) { return(false); } return(true); }, p => { ObservableCollection <Model.NHANVIEN> chkList = new ObservableCollection <Model.NHANVIEN>(List.OrderByDescending(x => x.QUYEN.ma_quyen)); if (List[0] == chkList[0]) { List = new ObservableCollection <Model.NHANVIEN>(List.OrderBy(x => x.QUYEN.ma_quyen)); } else { List = new ObservableCollection <Model.NHANVIEN>(chkList); } }); #endregion }
public bool AllColorOf(RDList cells, RDNumber result, object factPool) { var resultGroup = cells.Data.Select(cell => ColorOf(cell as RDCell, result, factPool)).ToArray(); return(resultGroup.Contains(true)); }
public Mathang_Deleted_ViewModel() { List = new ObservableCollection <Model.MATHANG>(Model.DataProvider.Ins.DB.MATHANGs.Where(x => x.IsDeleted == true)); RDList = new ObservableCollection <Model.MATHANG>(); Opendel = false; Openres = false; Opendelete = false; Openrestore = false; Content = string.Empty; SelectedItem = null; CloseDialog_Command = new RelayCommand <MaterialDesignThemes.Wpf.DialogHost>(p => { return(true); }, p => { p.IsOpen = false; }); #region Khoi phuc/ Xoa 1 dong DeleteShow_Command = new RelayCommand <Button>(p => { if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Opendelete = true; Content = " Xóa vĩnh viễn bản ghi này"; string id = p.Uid.ToString(); SelectedItem = Model.DataProvider.Ins.DB.MATHANGs.Where(x => x.ma_mathang == id).SingleOrDefault(); }); RestoreShow_Command = new RelayCommand <Button>(p => { if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Openrestore = true; Content = " Khôi phục bản ghi này"; string id = p.Uid.ToString(); SelectedItem = Model.DataProvider.Ins.DB.MATHANGs.Where(x => x.ma_mathang == id).SingleOrDefault(); }); Delete_Command = new RelayCommand <Button>(p => { return(true); }, p => { Model.Mathang_Service.Delete(SelectedItem); Model.DataProvider.Ins.DB.SaveChanges(); List.Remove(SelectedItem); Opendelete = false; }); Restore_Command = new RelayCommand <Button>(p => { return(true); }, p => { SelectedItem.IsDeleted = false; Model.DataProvider.Ins.DB.SaveChanges(); List.Remove(SelectedItem); Openrestore = false; }); #endregion #region Khoi phuc / Xoa nhieu dong AddRDList_Command = new RelayCommand <CheckBox>(p => { return(true); }, p => { RDList.Add(List.Where(x => x.ma_mathang == p.Uid.ToString()).SingleOrDefault()); }); RemoveRDList_Command = new RelayCommand <CheckBox>(p => { return(true); }, p => { RDList.Remove(List.Where(x => x.ma_mathang == p.Uid.ToString()).SingleOrDefault()); }); ResShow_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Openres = true; Content = " Khôi phục tất cả các bản ghi được chọn"; }); Res_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } return(true); }, p => { Restone_IteminDb(); RemoveIteminList(); RDList = new ObservableCollection <Model.MATHANG>(); Openres = false; }); DelShow_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } if (Openrestore == true || Opendelete == true || Openres == true || Opendel == true) { return(false); } return(true); }, p => { Opendel = true; Content = " Xóa vĩnh viễn tất cả các bản ghi được chọn"; }); Del_Command = new RelayCommand <object>(p => { if (RDList.Count() == 0) { return(false); } return(true); }, p => { Removeforever_IteminDb(); RemoveIteminList(); RDList = new ObservableCollection <Model.MATHANG>(); Opendel = false; }); #endregion #region Phan sap xep OrderbyTenMathang_Command = new RelayCommand <object>(p => { if (List.Count() == 0) { return(false); } return(true); }, p => { ObservableCollection <Model.MATHANG> chkList = new ObservableCollection <Model.MATHANG>(List.OrderByDescending(x => x.ten_mathang)); if (List[0] == chkList[0]) { List = new ObservableCollection <Model.MATHANG>(List.OrderBy(x => x.ten_mathang)); } else { List = new ObservableCollection <Model.MATHANG>(chkList); } }); OrderbyTennhacungcap_Command = new RelayCommand <object>(p => { if (List.Count() == 0) { return(false); } return(true); }, p => { ObservableCollection <Model.MATHANG> chkList = new ObservableCollection <Model.MATHANG>(List.OrderByDescending(x => x.NHACUNGCAP.ten_nhacungcap)); if (List[0] == chkList[0]) { List = new ObservableCollection <Model.MATHANG>(List.OrderBy(x => x.NHACUNGCAP.ten_nhacungcap)); } else { List = new ObservableCollection <Model.MATHANG>(chkList); } }); OrderbyTenloai_Command = new RelayCommand <object>(p => { if (List.Count() == 0) { return(false); } return(true); }, p => { ObservableCollection <Model.MATHANG> chkList = new ObservableCollection <Model.MATHANG>(List.OrderByDescending(x => x.LOAIHANG.ten_loaihang)); if (List[0] == chkList[0]) { List = new ObservableCollection <Model.MATHANG>(List.OrderBy(x => x.LOAIHANG.ten_loaihang)); } else { List = new ObservableCollection <Model.MATHANG>(chkList); } }); OrderbyTendonvi_Command = new RelayCommand <object>(p => { if (List.Count() == 0) { return(false); } return(true); }, p => { ObservableCollection <Model.MATHANG> chkList = new ObservableCollection <Model.MATHANG>(List.OrderByDescending(x => x.DONVITINH.ten_donvi)); if (List[0] == chkList[0]) { List = new ObservableCollection <Model.MATHANG>(List.OrderBy(x => x.DONVITINH.ten_donvi)); } else { List = new ObservableCollection <Model.MATHANG>(chkList); } }); #endregion }
public RDList WhiteSubsetOf(RDList edgelist, object factPool) { return(new RDList(edgelist.Data.Where( e => ColorOf((RDEdge)e, factPool).Data == 2).ToArray())); }
public RDList ColorsOf(RDList edges, object factPool) { return(new RDList(edges.Data.Select( e => ColorOf((RDEdge)e, factPool)).ToArray())); }
internal ServerManager(Session session) { _session = session; Groups = new Groups(_session, Caching.Enabled); Projects = new Projects(_session, Caching.Enabled); DatabaseServers = new DatabaseServers(_session, Caching.Enabled); Users = new Users(_session, Caching.Enabled); Modules = new IndexedRDList<ModuleType, IModule>(GetModules, x => x.Type, Caching.Enabled); AsynchronousProcesses = new RDList<IAsynchronousProcess>(GetAsynchronousProcesses, Caching.Disabled); ApplicationServers = new ApplicationServers(_session, Caching.Enabled); }
protected AbstractLinkElement(IProject project, Guid guid, ILanguageVariant languageVariant) : base(project, guid, languageVariant) { Connections = new LinkConnections(this, Caching.Enabled); ReferencedFrom = new RDList <ILinkElement>(GetReferencingLinks, Caching.Enabled); }
public void GraphCut(string name, Dictionary <string, RDElement> dict, object factPool, Rule rule, Action <int> callBack, int callBackID) { FactPool pool = (FactPool)factPool; Queue <KeyValuePair <int, int> > myq = new Queue <KeyValuePair <int, int> >(); bool[,] inq = new bool[pool.X + 2, pool.Y + 2]; KeyValuePair <int, int>[,] parents = new KeyValuePair <int, int> [pool.X + 2, pool.Y + 2]; inq[0, 0] = true; parents[0, 0] = new KeyValuePair <int, int>(-1, -1); myq.Enqueue(new KeyValuePair <int, int>(0, 0)); while (myq.Count > 0) { KeyValuePair <int, int> kv = myq.Dequeue(); int x = kv.Key, y = kv.Value; for (int d = 0; d < 4; ++d) { int tx = x + dirX[d], ty = y + dirY[d]; if (tx >= 0 && ty >= 0 && tx <= pool.X + 1 && ty <= pool.Y + 1 && !inq[tx, ty]) { if (GetEdgeState(GetEdgeBetweenCell(x, y, tx, ty), factPool) > 0) { inq[tx, ty] = true; parents[tx, ty] = kv; myq.Enqueue(new KeyValuePair <int, int>(tx, ty)); } } } } for (int x = 0; x <= pool.X; ++x) { for (int y = 0; y <= pool.Y; ++y) { if (!inq[x, y]) { continue; } for (int d = 0; d < 2; ++d) { int tx = x + dirX[d], ty = y + dirY[d]; if (!inq[tx, ty]) { continue; } if (GetEdgeState(GetEdgeBetweenCell(x, y, tx, ty), factPool) == 0) { RDList list = new RDList(); list.Data.Add(GetEdgeBetweenCell(x, y, tx, ty)); while (parents[x, y].Key != -1) { list.Data.Add(GetEdgeBetweenCell(x, y, parents[x, y].Key, parents[x, y].Value)); KeyValuePair <int, int> kv = parents[x, y]; x = kv.Key; y = kv.Value; } while (parents[tx, ty].Key != -1) { list.Data.Add(GetEdgeBetweenCell(tx, ty, parents[tx, ty].Key, parents[tx, ty].Value)); KeyValuePair <int, int> kv = parents[tx, ty]; tx = kv.Key; ty = kv.Value; } dict[name] = list; //Console.WriteLine("Let's See:"); //Console.WriteLine(list); callBack.Invoke(callBackID); // Data has been changed, return directly dict.Remove(name); return; } } } } }
protected AbstractLinkElement(IProject project, Guid guid, ILanguageVariant languageVariant) : base(project, guid, languageVariant) { Connections = new LinkConnections(this, Caching.Enabled); ReferencedFrom = new RDList<ILinkElement>(GetReferencingLinks, Caching.Enabled); }
public RDList ColorsOf(RDList cells, object factPool) { return(new RDList(cells.Data.Select( e => ColorOf((RDCell)e, factPool)).ToArray())); }
public bool AllColorOf(RDList edges, RDNumber result, object factPool) { var resultGroup = edges.Data.Select(edge => ColorOf(edge as RDEdge, result, factPool)).ToArray(); return(resultGroup.Contains(true)); }
public RDList BlackSubsetOf(RDList celllist, object factPool) { return(new RDList(celllist.Data.Where( e => ColorOf((RDCell)e, factPool).Data == 1).ToArray())); }
public void Rope(string name, Dictionary <string, RDElement> dict, object factPool, Rule rule, Action <int> callBack, int callBackID) { FactPool pool = (FactPool)factPool; bool[,] visit = new bool[pool.X + 2, pool.Y + 2]; int total1Count = 0; for (int x = 1; x <= pool.X + 1; ++x) { for (int y = 1; y <= pool.Y + 1; ++y) { if (!visit[x, y]) { int totalEdges = 0; for (int d = 0; d < 4; ++d) { int tx = x + dirX[d], ty = y + dirY[d]; if (GetEdgeState(GetEdgeBetweenVertex(x, y, tx, ty), factPool) == 1) { ++totalEdges; } } if (totalEdges == 1) { total1Count++; } } } } if (total1Count <= 2) { return; // Maybe a single roop } for (int x = 1; x <= pool.X + 1; ++x) { for (int y = 1; y <= pool.Y + 1; ++y) { if (!visit[x, y]) { int totalEdges = 0; for (int d = 0; d < 4; ++d) { int tx = x + dirX[d], ty = y + dirY[d]; if (GetEdgeState(GetEdgeBetweenVertex(x, y, tx, ty), factPool) == 1) { ++totalEdges; } } if (totalEdges == 1) { visit[x, y] = true; RDList list = new RDList(); int lastX = -2, lastY = -2, tx = -2, ty = -2, cx = x, cy = y; bool end; while (true) { end = true; for (int d = 0; d < 4; ++d) { tx = cx + dirX[d]; ty = cy + dirY[d]; if (GetEdgeState(GetEdgeBetweenVertex(cx, cy, tx, ty), factPool) == 1 && (tx != lastX || ty != lastY)) { list.Data.Add(GetEdgeBetweenVertex(cx, cy, tx, ty)); end = false; break; } } if (end) { break; } lastX = cx; lastY = cy; cx = tx; cy = ty; if (visit[cx, cy])// Error! { return; } visit[cx, cy] = true; } //Console.WriteLine(list.Data.First() + "-" + list.Data.Last()); dict[name] = list; callBack.Invoke(callBackID); } } } } dict.Remove(name); //Console.WriteLine("End"); }