//עדכון כניסה
        public List <schedulingDTO> updateEnter(string id)
        {
            var context = new PARENTSEntities();
            List <scheduling> schedulingList = schedulingDAL.updateEnter(id);;

            if (schedulingList == null)
            {
                return(new List <schedulingDTO>());
            }
            List <schedulingDTO> schedulingListDTO = new List <schedulingDTO>();

            schedulingList.ForEach(x =>
            {
                schedulingDTO s = new schedulingDTO();
                s.code          = x.code;
                s.code_class    = x.code_class;
                s.hour_         = x.hour_;
                s.id_student    = x.id_student;
                s.hour_enter    = x.hour_enter;
                s.nameMother    = context.parents.Where(p => p.id == id).Select(o => o.first_name + " " + o.last_name).FirstOrDefault();
                s.disableExit   = false;
                s.hour_exit     = x.hour_exit;
                s.hour_reach    = x.hour_reach;
                schedulingListDTO.Add(s);
            });
            foreach (var item in schedulingListDTO)
            {
                if (item.id_student == id)
                {
                    item.disableEnter = true;
                }
            }

            return(schedulingListDTO);
        }
示例#2
0
        public List <schedulingDTO> GetShibutsForParents(string id)
        {
            List <scheduling> parentsList = perentsDAL.GetShibutsForParents(id);

            if (parentsList == null)
            {
                return(new List <schedulingDTO>());
            }
            List <schedulingDTO> parentsDTOList = new List <schedulingDTO>();

            parentsList.ForEach(x =>
            {
                schedulingDTO s = new schedulingDTO();
                s.code          = x.code;
                s.code_class    = x.code_class;
                s.hour_         = x.hour_;
                s.hour_enter    = x.hour_enter;
                s.hour_exit     = x.hour_exit;
                s.hour_reach    = x.hour_reach;
                s.id_student    = x.id_student;
                var v           = new PARENTSEntities();
                s.nameStudent   = v.studens.Where(o => o.id == s.id_student).Select(r => r.first_name + " " + r.last_name).FirstOrDefault();
                parentsDTOList.Add(s);
            });
            return(parentsDTOList);
        }
        public List <schedulingDTO> Get_parents_that_wait_to_class(int id)
        {
            var v = new PARENTSEntities();
            List <scheduling> schedulingList = schedulingDAL.GetParentsThatWaitToClass(id);

            if (schedulingList == null)
            {
                return(new List <schedulingDTO>());
            }
            List <schedulingDTO> schedulingDTOList = new List <schedulingDTO>();

            schedulingList.ForEach(x =>
            {
                perentsBL p     = new perentsBL();
                parents parents = new parents();
                schedulingDTO s = new schedulingDTO();
                parents         = p.GetParentByIdStudent(x.id_student);
                s.code          = x.code;
                s.code_class    = x.code_class;
                s.hour_         = x.hour_;
                s.hour_enter    = x.hour_enter;
                s.hour_exit     = x.hour_exit;
                s.disableEnter  = false;
                s.disableExit   = false;
                s.nameMother    = parents.first_name + " " + parents.last_name;
                s.idMother      = parents.id;
                s.hour_reach    = x.hour_reach;
                s.id_student    = x.id_student;
                schedulingDTOList.Add(s);
            });
            return(schedulingDTOList);
        }
        //פונקציה המחזירה את כל השיבוצים של כל המוסדות
        public List <schedulingDTO> GetAllScheduling()
        {
            List <scheduling> schedulingList = schedulingDAL.GetAllScheduling();

            if (schedulingList == null)
            {
                return(new List <schedulingDTO>());
            }
            List <schedulingDTO> schedulingListDTO = new List <schedulingDTO>();

            schedulingList.ForEach(x =>
            {
                schedulingDTO s = new schedulingDTO();
                s.code          = x.code;
                s.code_class    = x.code_class;
                s.hour_         = x.hour_;
                s.id_student    = x.id_student;
                s.hour_enter    = x.hour_enter;
                s.disableEnter  = false;
                s.disableExit   = false;
                s.hour_exit     = x.hour_exit;
                s.hour_reach    = x.hour_reach;
                schedulingListDTO.Add(s);
            });
            return(schedulingListDTO);
        }
示例#5
0
        public List <schedulingDTO> GetSchedulingByCodeInstatition(int id)
        {
            List <scheduling> schedulingList = schedulingDAL.GetSchedulingByCodeInstation(id);

            if (schedulingList == null)
            {
                return(new List <schedulingDTO>());
            }
            List <schedulingDTO> schedulingListDTO = new List <schedulingDTO>();

            schedulingList.ForEach(x =>
            {
                schedulingDTO s = new schedulingDTO();
                s.code          = x.code;
                s.code_class    = x.code_class;
                s.hour_         = x.hour_;
                s.hour_enter    = x.hour_enter;
                s.hour_exit     = x.hour_exit;
                s.hour_reach    = x.hour_reach;
                s.id_student    = x.id_student;
                schedulingListDTO.Add(s);
            });
            return(schedulingListDTO);
        }
示例#6
0
        //עדכון

        public void UpdateScheduling(schedulingDTO scheduling)
        {
            var schedulingMapper = iMapper.Map <schedulingDTO, scheduling>(scheduling);

            schedulingDAL.UpdateScheduling(schedulingMapper);
        }
示例#7
0
        public int AddScheduling(schedulingDTO scheduling)
        {
            var schedulingMapper = iMapper.Map <schedulingDTO, scheduling>(scheduling);

            return(schedulingDAL.AddScheduling(schedulingMapper));
        }
        public void Put(schedulingDTO scheduling)
        {
            schedulingBL schedulingListBL = new schedulingBL();

            schedulingListBL.UpdateScheduling(scheduling);
        }
        // POST: api/Scheduling
        public void Post(schedulingDTO scheduling)
        {
            schedulingBL schedulingListBL = new schedulingBL();

            schedulingListBL.AddScheduling(scheduling);
        }
示例#10
0
        // בלחיצה על כפתור שבץ יופעל פונקציה של השיבוצים השונים ותגדיר רשימה של שיבוצים והפונקציה תפעיל על כל שיבוץ ברשימה פונקצית הערכה ותבחר את השיבוץ הטוב ביותר ואותו תשמור בפונקצית השיבוצים
        //ברגע שהאמא הגיע הוא בודק מה התור הקרוב ביותר ומעדכן את השיבוץ של הכיתות השונות
        //לשקול בהמשך אם כדאי להוסיף פונקציה לשיפור של שיבוץ קיים



        //פונקצית זמן אמת מקבלת קוד הורה ןבודקת האם כדאי לשנות את התור
        public schedulingDTO FuncRealTime(string id)
        {
            List <scheduling> s      = new List <scheduling>();
            schedulingDTO     sn     = new schedulingDTO();
            List <classes>    c      = new List <classes>();
            classes           shortQ = new classes();
            var p = new PARENTSEntities();

            //שליפה ל כל השיבוצים של הבנות שהאמא עדיין לא נכנסה ומיון לפי שעה
            s = p.scheduling.Where(x => x.studens.id_parent == id && x.hour_exit == null)
                .OrderBy(f => f.hour_).ToList();
            c = get_classes(id);
            //אם להורה יש יותר מילד אחד יש לבדוק באיזה כיתה התור קצר יותר ואם צריך להחליף
            if (s.Count() > 1)
            {
                for (int i = 0; i < s.Count; i++)
                {
                    //עדכון שעת הגעה
                    if (s[i].hour_reach == null)
                    {
                        s[i].hour_reach = DateTime.Now.TimeOfDay;
                    }
                    schedulingDAL.UpdateScheduling(s[i]);
                }

                shortQ = getShortClass(c);

                if (s[0].code_class != shortQ.code)
                {
                    scheduling        n = new scheduling();
                    List <scheduling> l = new List <scheduling>();
                    n = s.Where(f => f.code_class == shortQ.code).FirstOrDefault();
                    //תור ההורים שהגיעו ממוין לפי שעות
                    l = p.scheduling.Where(x => x.hour_reach != null && x.hour_enter == null &&
                                           x.studens.code_class == shortQ.code).OrderBy(v => v.hour_).ToList();
                    //אם הגיע ראשון
                    if (l.Count == 1)
                    {
                        sn.idMother    = id;
                        sn.nameMother  = s.First().studens.parents.first_name;
                        sn.code_class  = shortQ.code;
                        sn.nameStudent = s.First().studens.first_name + " " + s.First().studens.last_name;
                        sn.class_      = shortQ.class_ + " " + shortQ.num_class;
                        return(sn);
                    }
                    //בדיקה האם הגיעה השעה בכיתה אחרת

                    foreach (scheduling item in s)
                    {
                        if (item.hour_.Hours == DateTime.Now.Hour && item.hour_.Minutes == DateTime.Now.Minute)
                        {
                            if (l.Count == 1)
                            {
                                var     f    = new PARENTSEntities();
                                classes clas = f.classes.Where(j => j.code == item.code_class).FirstOrDefault();
                                sn.nameMother  = s.First().studens.parents.first_name;
                                sn.idMother    = id;
                                sn.code_class  = item.code_class;
                                sn.nameStudent = s.First().studens.first_name + " " + s.First().studens.last_name;
                                sn.class_      = clas.class_ + " " + clas.num_class;
                                return(sn);
                            }
                        }
                    }
                    scheduling b = l.Where(u => u.hour_ == l.Max(t => t.hour_)).First();
                    TimeSpan   a = new TimeSpan(b.hour_.Hours, b.hour_.Minutes + 10, 00);
                    n.hour_ = a;
                    schedulingDAL.UpdateScheduling(n);
                    sn.hour_       = n.hour_;
                    sn.nameStudent = s.First().studens.first_name + " " + s.First().studens.last_name;
                    sn.class_      = shortQ.class_ + " " + shortQ.num_class;
                    return(sn);
                }
            }
            else
            {
                //עדכון שעת הגעה לשעה הנוכחית אם יש ילד אחד להורה
                if (s.First().hour_reach == null)
                {
                    s.First().hour_reach = DateTime.Now.TimeOfDay;
                }
                schedulingDAL.UpdateScheduling(s.First());
                sn.nameMother  = s.First().studens.parents.first_name;
                sn.idMother    = id;
                sn.nameStudent = s.First().studens.first_name + " " + s.First().studens.last_name;
                sn.class_      = c.First().class_ + " " + c.First().num_class;
                return(sn);
            }

            return(sn);
        }