Exemplo n.º 1
0
        public BindingListView <GroupEntity> GetGroupsList(char type)
        {
            var list = (from g in Groups.Where(c => c.GroupType == type)
                        join p in Persons.Where(c => c.PersonType == 'T') on g.TeacherId equals p.Id into joinP
                        from p in joinP.DefaultIfEmpty()
                        orderby g.Name
                        select new GroupEntity
            {
                Id = g.Id,
                Name = g.Name,
                Level = g.Level,
                TeacherId = (p != null ? p.LastName + " " + p.FirstName : ""),
                StartEducationString = g.StartEducationString,
                IsActive = g.IsActive
            }).ToList();

            list.ForEach(c =>
            {
                var lessons   = GroupsDays.Where(x => x.GroupId == c.Id).OrderBy(x => x.Day).ToList();
                c.LessonsDays = string.Join(", ", lessons.Select(
                                                i => i.Day.DayOfWeek() + " " + i.StartTimeString + "-" + i.EndTimeString)
                                            .ToArray());
            });

            return(new BindingListView <GroupEntity>(list));
        }
Exemplo n.º 2
0
        public ListViewItem[] GetScheduler(DateTime dStart)
        {
            var returnList = new List <ListViewItem>();
            var list       = (from gr in Groups
                              join grDays in GroupsDays.Where(c => c.Day == (int)dStart.DayOfWeek) on gr.Id equals grDays.GroupId
                              where gr.StartEducation <= dStart
                              orderby grDays.StartTime, gr.GroupType
                              select new SchedulerEvent
            {
                Name = gr.Name,
                BackColor = gr.GroupType == 'C' ? Color.GreenYellow : Color.LightCoral,
                Date = dStart.Date + grDays.StartTime.TimeOfDay,
                Time = grDays.StartTimeString + " - " + grDays.EndTimeString
            }).ToList();

            list.AddRange((from gr in Events
                           where gr.StartDate.Date == dStart
                           orderby gr.StartDate, gr.EventType
                           select new SchedulerEvent
            {
                Name = gr.EventName,
                BackColor = gr.EventType == 'M' ? Color.SkyBlue : Color.Plum,
                Date = gr.StartDate,
                Time = gr.StartTimeString + " - " + gr.EndTimeString
            }).ToList());

            list = list.OrderBy(c => c.Date).ToList();
            foreach (var item in list)
            {
                var listItem = new ListViewItem(item.Name);
                listItem.SubItems.Add(item.Time);
                listItem.BackColor = item.BackColor;
                returnList.Add(listItem);
            }

            return(returnList.ToArray());
        }