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); }
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; }
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)); }
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)); }
public ActionResult Info(Guid groupId) { GroupInfoViewModel groupInfo = GetInfoViewModel(groupId); return(PartialView(InfoViewPath, groupInfo)); }
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)); }