Ejemplo n.º 1
0
        private void GenerateStudent_btn_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                //string lecturername = lec_name_txt.Text;
                //var s = _sessionViewModel.LoadSessionData();

                int workdID            = int.Parse(timeTable_Id_txt.Text);
                List <WorkEntity> list = new List <WorkEntity>();


                _viewModel = new WorkViewModel();

                list = _viewModel.LoadWorkingDaysData(workdID);
                studentTable_grid.ItemsSource = list;

                WorkEntity work = studentTable_grid.Items[0] as WorkEntity;

                String res  = work.workingDays.ToString();
                int    num  = work.noOfWorkingHours;
                String res1 = work.timeSlotStartTime.ToString();
                String res2 = work.timeSlotEndTime.ToString();


                //data.items = works.Split(',');

                //List<string> list1 = new List<string>();
                //Data data = new Data();

                string[] days;
                string[] start;
                string[] end;

                start = res1.Split(',');
                end   = res2.Split(',');

                _timeSlotViewModel = new TimeSlotViewModel();
                string batch = batchType_txt.Text;

                if (batch == "Main Group")
                {
                    days = res.Split(',');


                    int len = (end.Length) - 2;

                    string x = end[len];

                    string batchId = batchId_txt.Text;

                    List <int> sessionIdsMainGrp = new List <int>();
                    _sessionViewModel.LoadSessionDataByGroup(batchId).Select(ee => { sessionIdsMainGrp.Add(ee.SessionId); return(ee); }).ToList();
                    var c = sessionIdsMainGrp;

                    // _sessionViewModel.LoadSessionDataByLecturer(lecId).Select(e => { sessionIds.Add(e.SessionId); return e; }).ToList();
                    //var c = sessionIds;


                    _timeSlotEntities = new List <TimeSlotEntity>();
                    double startTime   = double.Parse(start[0]);
                    int    currentDate = 0;
                    double endTime     = double.Parse(end[len]);
                    int    num1        = num * days.Length;
                    for (int i = 0; i < num1; i++)
                    {
                        if (startTime == endTime)
                        {
                            startTime = double.Parse(start[0]);
                            currentDate++;
                        }

                        if (i >= c.Count)
                        {
                            _timeSlotEntities.Add(
                                new TimeSlotEntity {
                                ID = i, TimeSlots = $"{startTime}-{++startTime}", Days = days[currentDate], SessionId = 0
                            }
                                );
                        }
                        else
                        {
                            _timeSlotEntities.Add(
                                new TimeSlotEntity {
                                ID = i, TimeSlots = $"{startTime}-{++startTime}", Days = days[currentDate], SessionId = c[i]
                            }
                                );
                        }
                    }

                    foreach (TimeSlotEntity t in _timeSlotEntities)
                    {
                        _timeSlotViewModel.SaveTimeSlotsData(t);
                    }

                    var y = _timeSlotViewModel.LoadTimeSlotData();
                    student_timetable.ItemsSource = y;

                    _timeSlotViewModel.DeleteTimeData();
                }

                if (batch == "Sub Group")
                {
                    days = res.Split(',');


                    int len = (end.Length) - 2;

                    string x = end[len];

                    string batchId = batchId_txt.Text;

                    List <int> sessionIdsSubGrp = new List <int>();
                    _sessionViewModel.LoadSessionDataBySubGroup(batchId).Select(ee => { sessionIdsSubGrp.Add(ee.SessionId); return(ee); }).ToList();
                    var c = sessionIdsSubGrp;

                    _timeSlotEntities = new List <TimeSlotEntity>();
                    double startTime   = double.Parse(start[0]);
                    int    currentDate = 0;
                    double endTime     = double.Parse(end[len]);
                    int    num1        = num * days.Length;
                    for (int i = 0; i < num1; i++)
                    {
                        if (startTime == endTime)
                        {
                            startTime = double.Parse(start[0]);
                            currentDate++;
                        }

                        if (i >= c.Count)
                        {
                            _timeSlotEntities.Add(
                                new TimeSlotEntity {
                                ID = i, TimeSlots = $"{startTime}-{++startTime}", Days = days[currentDate], SessionId = 0
                            }
                                );
                        }
                        else
                        {
                            _timeSlotEntities.Add(
                                new TimeSlotEntity {
                                ID = i, TimeSlots = $"{startTime}-{++startTime}", Days = days[currentDate], SessionId = c[i]
                            }
                                );
                        }
                    }

                    foreach (TimeSlotEntity t in _timeSlotEntities)
                    {
                        _timeSlotViewModel.SaveTimeSlotsData(t);
                    }

                    var y = _timeSlotViewModel.LoadTimeSlotData();
                    student_timetable.ItemsSource = y;

                    _timeSlotViewModel.DeleteTimeData();
                }
            }

            catch (NullReferenceException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 2
0
        private void GenerateLecturerTable_btn_Click(object sender, RoutedEventArgs ev)
        {
            try
            {
                //string lecturername = lec_name_txt.Text;
                //var s = _sessionViewModel.LoadSessionData();

                int workdID            = int.Parse(timeTable_Id_txt.Text);
                List <WorkEntity> list = new List <WorkEntity>();


                _viewModel = new WorkViewModel();

                list = _viewModel.LoadWorkingDaysData(workdID);
                lecturerTable_grid.ItemsSource = list;

                WorkEntity work = lecturerTable_grid.Items[0] as WorkEntity;

                String res  = work.workingDays.ToString();
                int    num  = work.noOfWorkingHours;
                String res1 = work.timeSlotStartTime.ToString();
                String res2 = work.timeSlotEndTime.ToString();


                //data.items = works.Split(',');

                //List<string> list1 = new List<string>();
                //Data data = new Data();

                string[] days;
                string[] start;
                string[] end;

                start = res1.Split(',');
                end   = res2.Split(',');

                //string full;

                //List<Data> datalist = new List<Data>();


                /*for (int i=0; i<start.Length; i++)
                 * {
                 *  full = start[i] + end[i];
                 *  list1.Add(full);
                 *
                 * }
                 *
                 * for (int i = 0; i < list1.Count; i++)
                 * {
                 *  datalist.Add(new Data
                 *  {
                 *      fullTime = list1[i].ToString()
                 *  });
                 * }*/
                //lecturer_timetable.DataContext = datalist;


                //string[] test = list1.ToArray();
                //data.fullTime = list1.ToArray();



                _timeSlotViewModel = new TimeSlotViewModel();



                days = res.Split(',');

                //data.items[0] = "";
                //data.items = res.Split(',');

                //DataContext = data;

                //lecturer_timetable.Items.Add(data);

                //lecturer_timetable.DataContext = data.fullTime;


                int len = (end.Length) - 2;

                string x = end[len];

                string name = lec_name_txt.Text;

                int        lecId      = lecturers.Find(e => e.Name == name).EmployeeId;
                List <int> sessionIds = new List <int>();
                _sessionViewModel.LoadSessionDataByLecturer(lecId).Select(e => { sessionIds.Add(e.SessionId); return(e); }).ToList();
                var c = sessionIds;

                //var f = _sessionViewModel.LoadSessionDataByLecturer(lecId);


                // for(int i; i < )


                //for (int i = 0; i < days.Length; i++)
                //{
                //    days[i] =
                //}


                //For day : - 9 ?
                // # of days : - 5 ?
                // TOT = 9*5 = 45
                _timeSlotEntities = new List <TimeSlotEntity>();
                double startTime = double.Parse(start[0]);
                //int sttime = 8;
                //float st = ++startTime;
                int currentDate = 0;
                //int edtime = 17;
                double endTime = double.Parse(end[len]);
                int    num1    = num * days.Length;
                for (int i = 0; i < num1; i++)
                {
                    if (startTime == endTime)
                    {
                        startTime = double.Parse(start[0]);
                        currentDate++;
                    }

                    if (i >= c.Count)
                    {
                        _timeSlotEntities.Add(
                            new TimeSlotEntity {
                            ID = i, TimeSlots = $"{startTime}-{++startTime}", Days = days[currentDate], SessionId = 0
                        }
                            );
                    }
                    else
                    {
                        _timeSlotEntities.Add(
                            new TimeSlotEntity {
                            ID = i, TimeSlots = $"{startTime}-{++startTime}", Days = days[currentDate], SessionId = c[i]
                        }
                            );
                    }
                }

                //timeSlotEntity = new TimeSlotEntity(2, "8-9", "tue");
                //_timeSlotViewModel.SaveTimeSlotsData(timeSlotEntity);

                foreach (TimeSlotEntity t in _timeSlotEntities)
                {
                    _timeSlotViewModel.SaveTimeSlotsData(t);
                }

                var y = _timeSlotViewModel.LoadTimeSlotData();
                lecturer_timetable.ItemsSource = y;


                _timeSlotViewModel.DeleteTimeData();



                //string name = "Arosha";

                //int lecId = lecturers.Find(e => e.Name == name).EmployeeId;
                //List<int> sessionIds = new List<int>();
                //_sessionViewModel.LoadSessionDataByLecturer(lecId).Select(e => { sessionIds.Add(e.SessionId); return e; });
                //var c = sessionIds;


                /*string[,] daysAndSlots = {
                 *  { "Monday", "8.30-9.30" },
                 *  { "Tuesday", "9.30-10.30" },
                 *  { "Wednesday", "10.30-11.30" },
                 *  { "Thursday", "11.30-12.30" },
                 *  { "Friday", "12.30-13.30" },
                 *  { "Saturday", "13.30-14.30" }
                 * };*/
            }
            catch (NullReferenceException ex)
            {
                MessageBox.Show(ex.Message);
            }
        }