//עובר על ליסט של קטגוריה מסוימת //עשיתי סטטי בשביל הקריאה מהAPI public static LTM CreateArrPerCategory() { //add the guest id to first row by category //adding on to each guest there first option //checking the capacity of other tm to see if more/less //addin 3 to guest and adding/taking off other tm //moving on to next friend // BLL.Node TM = new Node(); int id = TMDal.GetGuest1priority(LTMByCategory[0].guest_id); //הראשון זה הID שח הנוכחי והשני זה החבר int priority = TMDal.GetPriorityByFriend(LTMByCategory[0].guest_id, id); //LTM[i].guest_id = id; //LTM[i].satisfy += priority; currentTable.members.Add(new Node() { guest_id = LTMByCategory[0].guest_id, satisfy = satisfy + priority }); //h=כמה האורח החדש רוצה את מי שביקש אותו int h = TMDal.GetPriorityByFriendToAdd(id, LTMByCategory[0].guest_id); if (TMDal.GetstatusOfFById(LTMByCategory[0].guest_id, id) == true) { currentTable.members.Add(new Node() { guest_id = id, satisfy = h }); } int c = LTMByCategory.Count; //int i = 1; while (c > 0) { int id2 = TMDal.GetGuest1priority(id); //הראשון זה הID שח הנוכחי והשני זה החבר priority = TMDal.GetPriorityByFriend(id, id2); //LTM[i].guest_id = id; //LTM[i].satisfy += priority; ////חיפוש למציאת מיקום של החבר המסוים //LTM[GetGuestById(id2)].satisfy += priority; ////לעבור על האורחים שכבר בשולחן לראות אם החדש מעלה או מוריד להם ////לפני שמוסיפים עוד אורח לשולחן צריך לבדוק כמה מעלה או מוריד מכל החברים האחרים בשולחן currentTable.members.Add(new Node() { guest_id = id2, satisfy = 0 }); currentTable.members[GetGuestById(id)].satisfy += priority; changeTMP(id); ChangePToNTM(id2); //אני רוצה להוסיף את הID של האורח הספציפי //TM.guest_id; id = id2; c--; } return(currentTable); }
public static int Main(int tableId, int guestId) { if (!IsPlaced(guestId) && isTableFull(tableId, seatsArountTable)) { int idFriend = TMDal.GetGuest3priority(guestId); int priority = TMDal.GetPriorityByFriend(guestId, idFriend); if (TMDal.GetstatusOfFById(guestId, idFriend) && !IsPlaced(idFriend)) { if (ContradictionBetweenRequests(tableId, guestId, idFriend, TMDal.GetstatusOfFById(guestId, idFriend))) { //ChangeInTable(tableId, idFriend); TabelList[tableId].members.Add(new Node() { guest_id = guestId, satisfy = priority }); return(Main(tableId, idFriend)); } else { Place23(tableId, guestId); } } //בקשה סותרת או כבר משובץ else { if (!ExesitInTable(tableId, idFriend)) { int newTableId = OpenNewTable(); Place23(tableId, guestId); return(Main(newTableId, guestId)); } else { DeleteGuestFromTable(tableId, idFriend); return(Main(tableId, RandomRetrieval())); } } } else { return(Main(tableId, RandomRetrieval())); } return(Main(tableId, RandomRetrieval())); }