Ejemplo n.º 1
0
 /// <summary>
 /// הפונקציה משנה את הפרירוטי לחבר החדש בהתאמה לחברים הקיימים כבר בשולחן
 /// </summary>
 public static void ChangePToNTM(int id)
 {
     for (int j = 0; currentTable.members[j].guest_id != id; j++)
     {
         currentTable.members[GetGuestById(id)].satisfy += TMDal.GetPriorityByFriendToAdd(id, currentTable.members[j].guest_id);
     }
 }
Ejemplo n.º 2
0
        //עובר על ליסט של קטגוריה מסוימת
        //עשיתי סטטי בשביל הקריאה מה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);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// הפונקציה משנה את הפריוריטי לכל החברים ע"י הוספת החבר החדש
 /// </summary>
 public static void changeTMP(int id)
 {
     //לראות כמה מעלה או וריד האורח הספציפי ברשימה עם החדש שאנו מוסיפים
     //לעלות או להוריד ממי שכבר שם
     for (int j = 0; currentTable.members[j].guest_id != id; j++)
     {
         currentTable.members[j].satisfy += TMDal.GetPriorityByFriendToAdd(currentTable.members[j].guest_id, id);
     }
 }
Ejemplo n.º 4
0
        public static guest_table_member ToDalGuest(TMDto g)
        {
            guest_table_member gu = new guest_table_member();

            gu.table_members_id = TMDal.GetHID() + 1;
            gu.guest_id         = g.guest_id;
            gu.friend_id        = g.friend_id;
            gu.like_or_not      = g.like_or_not;
            gu.guestPriority    = g.guestPriority;
            return(gu);
        }
Ejemplo n.º 5
0
        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()));
        }