Exemplo n.º 1
0
        public IList <AutoServiceInfoViewModel> GetTaskListWithGroupInfo(AutoServiceInfoViewModel viewModel)
        {
            var list = GetList(viewModel);

            var currentViewModelList = new Lazy <List <AutoServiceInfoViewModel> >();

            if (null == list || list.Count == 0)
            {
                return(default(List <AutoServiceInfoViewModel>));
            }

            foreach (var item in list)
            {
                var currentModel = new GroupInfoViewModel()
                {
                    ParamDict = new Dictionary <string, object>()
                    {
                        { "AutoServiceID", item.ID }
                    }
                };

                var groupViewModelList = SingleHepler <GroupInfoDAL> .Instance.GetUnionListWithTask(currentModel);

                currentViewModelList.Value.Add(new AutoServiceInfoViewModel()
                {
                    AutoServiceInfoModel = item, GroupInfoViewModelList = groupViewModelList
                });
            }


            return(currentViewModelList.Value);
        }
Exemplo n.º 2
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            groupID = (ulong)e.Parameter;
            string uniqueKey = CoreHelper.GetGroupInfoViewModelKey(groupID);

            vm = ServiceLocator.Current.GetInstance <KeyedViewModelLocator>()
                 .GetByKey(uniqueKey, () => new GroupInfoViewModel(uniqueKey, groupID));
            vm.Activate();
            DataContext = vm;

            WallList.Loaded += WallList_Loaded;
        }
Exemplo n.º 3
0
        public ActionResult GroupInfo(int GroupId)
        {
            IList <SelectListItem> categoryList = new List <SelectListItem>();

            categoryList.Add(new SelectListItem()
            {
                Text     = "Food",
                Value    = "1",
                Selected = true
            });
            categoryList.Add(new SelectListItem()
            {
                Text  = "Shopping",
                Value = "2"
            });
            categoryList.Add(new SelectListItem()
            {
                Text  = "General",
                Value = "3"
            });

            if (TempData["GroupId"] == null)
            {
                TempData["GroupId"] = GroupId;
            }

            var userIds = dbContext.TbGroupUser.Where(t => t.GroupId.Equals(GroupId)).Select(t => t.UserId);
            List <SelectListItem> usersList = new List <SelectListItem>();

            foreach (string id in userIds)
            {
                usersList.Add(new SelectListItem()
                {
                    Text  = dbContext.Users.Find(id).FirstName,
                    Value = id
                });
            }

            GroupInfoViewModel GroupTransactionVM = new GroupInfoViewModel()
            {
                CreateGroupTransactionVM = new GroupTransactionViewModel()
                {
                    CategoryList = categoryList,
                    GroupUsers   = usersList
                },
                GroupInvitationForm           = new GroupInvitation(),
                GroupUsersList                = usersList,
                GroupTransactionHistoryDateVM = new GroupTransactionHistoryDateViewModel()
            };

            return(View(GroupTransactionVM));
        }
Exemplo n.º 4
0
        public async Task <IActionResult> List()
        {
            var user = await Manager.FindByNameAsync(this.User.Identity.Name) as StudentUser;

            var group    = Groups.GetGroupById(user.GroupID);
            var lectures = Groups.Lectures.Where(x => x.GroupID == group.GroupID).OrderByDescending(x => x.Date).ToList();
            var model    = new GroupInfoViewModel {
                Lectures = lectures,
                Group    = group,
                Students = Context.Students.Where(x => x.GroupID == group.GroupID).ToList <IUser>()
            };

            return(View(model));
        }
Exemplo n.º 5
0
        public ActionResult Info(Guid groupId)
        {
            GroupInfoViewModel groupInfo = GetInfoViewModel(groupId);

            return(PartialView(InfoViewPath, groupInfo));
        }
Exemplo n.º 6
0
        public ActionResult Info(int groupId)
        {
            var group = UnitOfWork.Repository <Group>()
                        .Get(x => x.GroupId == groupId && x.IsDeleted != true)
                        .SingleOrDefault();

            if (group == null)
            {
                return(new HttpStatusCodeResult(404, "Группы с данным идентификатором не существует."));
            }

            var academicPlan = UnitOfWork.Repository <Domain.Models.AcademicPlan>()
                               .GetQ(filter: x => x.ProgramOfEducation.Groups.Any(g => g.GroupId == groupId))
                               .OrderByDescending(d => d.UploadedAt)
                               .FirstOrDefault();

            if (academicPlan == null)
            {
                return(new HttpStatusCodeResult(404));
            }

            var courseSchedule = academicPlan.CourseSchedules
                                 .SingleOrDefault(x => x.CourseNumber == UserProfile.EducationYear.YearStart - academicPlan.ProgramOfEducation.YearStart + 1);

            if (courseSchedule == null)
            {
                return(new HttpStatusCodeResult(404, "Учебный план загружен некорректно."));
            }

            // Общая информация о группе и график обучения на каждый семестр учебного года
            var viewModel = new GroupInfoViewModel
            {
                GroupId          = groupId,
                GroupName        = group.DivisionName,
                NumberOfStudents = group.NumberOfStudents,
                Profile          = group.ProgramOfEducation.EducationProfile.EducationDirection.EducationDirectionCode
                                   + " " + group.ProgramOfEducation.EducationProfile.EducationProfileName,
                EducationForm     = group.ProgramOfEducation.EducationForm.EducationFormName,
                EducationLevel    = group.ProgramOfEducation.EducationLevel.EducationLevelName,
                NumberOfSemesters = courseSchedule.SemesterSchedules.Count,
                SemesterSchedules = courseSchedule.SemesterSchedules
                                    .Select(x => new SemesterScheduleViewModel
                {
                    SemesterNumber           = x.SemesterNumber,
                    SemesterStartDate        = ScheduleHelpers.DateOfLesson(UserProfile.EducationYear.DateStart, x.NumberOfFirstWeek, 1),
                    SemesterEndDate          = ScheduleHelpers.DateOfLesson(UserProfile.EducationYear.DateStart, (x.NumberOfFirstWeek - 1) + x.NumberOfLastWeek, 7),
                    TheoreticalTrainingWeeks = x.TheoreticalTrainingWeeks,
                    ExamSessionWeeks         = x.ExamSessionWeeks,
                    WeeksOfHolidays          = x.WeeksOfHolidays,
                    FinalQualifyingWorkWeeks = x.FinalQualifyingWorkWeeks,
                    StudyTrainingWeeks       = x.StudyTrainingWeeks,
                    PracticalTrainingWeeks   = x.PracticalTrainingWeeks,
                    StateExamsWeeks          = x.StateExamsWeeks,
                    ResearchWorkWeeks        = x.ResearchWorkWeeks
                })
                                    .OrderBy(n => n.SemesterNumber)
                                    .ToList()
            };

            // План по каждой дисциплине
            var disciplines = courseSchedule.SemesterSchedules
                              .SelectMany(x => x.DisciplineSemesterPlans)
                              .GroupBy(g => new { g.Discipline })
                              .Select(x => new DisciplineViewModel
            {
                DisciplineId            = x.Key.Discipline.DisciplineId,
                DisciplineName          = x.Key.Discipline.DisciplineName,
                ChairId                 = x.Key.Discipline.ChairId,
                ChairName               = x.Key.Discipline.Chair.DivisionName,
                DisciplineSemesterPlans = x.Select(y =>
                                                   new DisciplineSemesterPlanViewModel
                {
                    HoursOfLaboratory = y.HoursOfLaboratory,
                    HoursOfLectures   = y.HoursOfLectures,
                    HoursOfPractice   = y.HoursOfPractice,
                    //LecturesPerWeek = y.LecturesPerWeek,
                    //LaboratoryPerWeek = y.LaboratoryPerWeek,
                    //PracticePerWeek = y.PracticePerWeek,
                    LecturesPerWeek       = (float)Math.Round((double)(y.HoursOfLectures ?? 0) / y.SemesterSchedule.TheoreticalTrainingWeeks, MidpointRounding.AwayFromZero),
                    LaboratoryPerWeek     = (float)Math.Round((double)(y.HoursOfLaboratory ?? 0) / y.SemesterSchedule.TheoreticalTrainingWeeks, MidpointRounding.AwayFromZero),
                    PracticePerWeek       = (float)Math.Round((double)(y.HoursOfPractice ?? 0) / y.SemesterSchedule.TheoreticalTrainingWeeks, MidpointRounding.AwayFromZero),
                    HoursOfLecturesFilled = y.Discipline.Lessons
                                            .Count(ls => ls.DeletedAt == null && ls.GroupId == groupId && ls.LessonTypeId == (int)LessonTypes.Lection &&
                                                   ls.WeekNumber >= y.SemesterSchedule.NumberOfFirstWeek && ls.WeekNumber <= y.SemesterSchedule.NumberOfLastWeek) * 2,
                    HoursOfPracticeFilled = y.Discipline.Lessons
                                            .Count(ls => ls.DeletedAt == null && ls.GroupId == groupId &&
                                                   (ls.LessonTypeId == (int)LessonTypes.PracticalLesson || ls.LessonTypeId == (int)LessonTypes.Seminar || ls.LessonTypeId == (int)LessonTypes.Training) &&
                                                   ls.WeekNumber >= y.SemesterSchedule.NumberOfFirstWeek && ls.WeekNumber <= y.SemesterSchedule.NumberOfLastWeek) * 2,
                    HoursOfLaboratoryFilled = y.Discipline.Lessons
                                              .Count(ls => ls.DeletedAt == null && ls.GroupId == groupId && ls.LessonTypeId == (int)LessonTypes.LaboratoryWork &&
                                                     ls.WeekNumber >= y.SemesterSchedule.NumberOfFirstWeek && ls.WeekNumber <= y.SemesterSchedule.NumberOfLastWeek) * 2,
                    SemesterNumber = y.SemesterSchedule.SemesterNumber
                })
                                          .OrderBy(n => n.SemesterNumber)
                                          .ToList()
            })
                              .OrderBy(x => x.DisciplineName)
                              .ToList();

            viewModel.Disciplines = disciplines;

            return(View(viewModel));
        }