예제 #1
0
        public async Task <IActionResult> Edit(Guid Id)
        {
            var courses = await _courses.Entity.GetByIdAsync(Id);

            if (courses == null)
            {
                return(View("NotFound"));
            }

            CoursesViewModel CoursesViewModel = new CoursesViewModel
            {
                Id          = courses.Id,
                CreatedDate = courses.CreatedDate,
                Code        = courses.Code,
                Title       = courses.Title,
                Details     = courses.Details,
                HourNum     = courses.HourNum,
                RegDate     = DateTime.Now,
                CourseFee   = courses.CourseFee,
                Seate       = courses.Seate,
                DataFile    = courses.Picture,
                Trainers    = _trainers.Entity.GetAll().ToList(),
            };

            if (courses.Trainer != null)
            {
                CoursesViewModel.TrainerId = courses.Trainer.Id;
            }
            return(View(CoursesViewModel));
        }
        public ActionResult Index()
        {
            var upcommingCoures = _dbContext.Courses
                                  .Include(c => c.Lecturer)
                                  .Include(c => c.Category)
                                  .Where(c => c.DateTime > DateTime.Now);

            var userId = User.Identity.GetUserId();
            var fl     = _dbContext.Followings
                         .Include(c => c.Followee)
                         .Where(c => c.FollowerId == userId);

            var att = _dbContext.Attendances
                      .Include(c => c.Attendee)
                      .Where(c => c.AttendeeId == userId);
            var viewModel = new CoursesViewModel
            {
                attandence      = att,
                following       = fl,
                UpcomingCourses = upcommingCoures,
                ShowAction      = User.Identity.IsAuthenticated
            };

            return(View(viewModel));
        }
예제 #3
0
        public IActionResult Index()
        {
            var viewModel = new CoursesViewModel
            {
                Courses = new List <bu.Course>
                {
                    new bu.Course
                    {
                        Name       = "C# For Beginners",
                        StartDate  = new DateTime(2018, 03, 23, 09, 00, 00),
                        Instructor = new bu.Instructor
                        {
                            Name = "Johan"
                        }
                    },

                    new bu.Course
                    {
                        Name       = "Design Patterns for .NET Developers",
                        StartDate  = new DateTime(2018, 03, 23, 12, 00, 00),
                        Instructor = new bu.Instructor
                        {
                            Name = "Johan"
                        }
                    },
                }
            };

            return(View(viewModel));
        }
예제 #4
0
        // GET: Courses/Details/5
        public async Task <IActionResult> Details(string id)
        {
            CoursesViewModel coursesViewModel = new CoursesViewModel();

            if (id == null)
            {
                return(NotFound());
            }

            var course = await _context.Courses
                         .FirstOrDefaultAsync(m => m.Id.Equals(id));

            if (course.AuthorName != null)
            {
                coursesViewModel.AuthorName = course.AuthorName;
            }
            coursesViewModel.CourseName  = course.CourseName;
            coursesViewModel.Genre       = course.Genre;
            coursesViewModel.Image       = course.Image;
            coursesViewModel.Price       = course.Price;
            coursesViewModel.RatingScore = course.RatingScore;
            var userCourses  = _context.UserCourses.Where(u => u.CourseId.Equals(course.Id));
            int noOfStudents = userCourses.Count();

            coursesViewModel.NoOfStudents = noOfStudents;
            if (course == null)
            {
                return(NotFound());
            }

            return(View(coursesViewModel));
        }
예제 #5
0
        public IActionResult PostCourse([FromBody] CoursesViewModel courses)
        {
            var service   = _serviceManager.NewService <TransactionsService>(_context, _mapper);
            var addCourse = service.AddCourse(courses);

            return(Ok(addCourse));
        }
        public async Task <IActionResult> Index()
        {
            var model = new CoursesViewModel();

            var availableCourses = await this.courseService.GetAllAvailableCourses();

            Guard.WhenArgument(availableCourses, "Available Courses can not be null!").IsNull().Throw();

            var availableCoursesModel = mapper.ProjectTo <CourseDto, CourseViewModel>(availableCourses).ToList();

            Guard.WhenArgument(availableCoursesModel, "Available Courses can not be null!").IsNull().Throw();

            var studentId         = this.userManager.GetUserId(this.HttpContext.User);
            var registeredCourses = await studentService.GetAllRegisteredCourses(studentId);

            Guard.WhenArgument(registeredCourses, "Registered Courses can not be null!").IsNull().Throw();

            foreach (var course in registeredCourses)
            {
                for (int i = 0; i < availableCoursesModel.Count(); i++)
                {
                    if (course.Id == availableCoursesModel[i].Id)
                    {
                        availableCoursesModel[i].IsRegistered = true;
                    }
                }
            }

            model.Courses = availableCoursesModel;

            return(this.View(model));
        }
예제 #7
0
        // GET: Courses
        public ActionResult Index()
        {
            if (User.IsInRole("CanManageWebsite"))
            {
                CoursesViewModel CoursesViewModel = new CoursesViewModel()
                {
                    Courses = _context.Courses.Include("Category").OrderBy(c => c.GradeLevel).ToList(),
                    Classes = _context.Classes.ToList()
                };
                return(View(CoursesViewModel));
            }

            List <Course> availableCourses = _context.Courses.ToList();
            string        Id      = User.Identity.GetUserId();
            Student       student = _context.Students.Include("CourseRequests").Include("Classes").SingleOrDefault(s => s.UserId == Id);

            StudentCoursesViewModel model = new StudentCoursesViewModel()
            {
                student          = student,
                CanSelectCourses = _context.StudentsCanPickCourses,
                Requests         = student.CourseRequests
            };

            return(View("StudentCourses", model));
        }
예제 #8
0
        public ActionResult Attending()
        {
            var userId = User.Identity.GetUserId();

            //var listOfAttendedCourses = _dbContext.Attendance
            //   .Include(a => a.Course)
            //   .Include(a => a.Attendee)
            //   .Where(a => a.AttendeeId == userId).ToList();

            //var followingLecturers = _dbContext.Following
            //   .Include(f => f.Followee)
            //   .Include(f => f.Follower)
            //   .Where(a => a.FollowerId == userId)
            //   .ToList();

            var courses = _dbContext.Attendances
                          .Where(a => a.AttendeeId == userId)
                          .Select(a => a.Course)
                          .Include(l => l.Lecturer)
                          .Include(l => l.Category)
                          .ToList();

            var viewModel = new CoursesViewModel
            {
                //ListOfAttendedCourses = listOfAttendedCourses,
                //ListOfFollowings = followingLecturers,
                UpcommingCourses = courses,
                ShowAction       = User.Identity.IsAuthenticated
            };

            return(View(viewModel));
        }
        public static CoursesViewModel BuildModel(List <string> selectedRoutes, string keyword, List <int> selectedLevels, OrderBy orderBy = OrderBy.Name)
        {
            var fixture = new Fixture();
            var sectors = selectedRoutes
                          .Select(selectedRoute => new SectorViewModel(
                                      new Sector
            {
                Route = selectedRoute
            }, null))
                          .ToList();
            var levels = selectedLevels
                         .Select(selectedLevel => new LevelViewModel(
                                     new Level
            {
                Code = selectedLevel,
                Name = fixture.Create <string>()
            }, null))
                         .ToList();

            var model = new CoursesViewModel
            {
                Sectors         = sectors,
                Levels          = levels,
                Keyword         = keyword,
                SelectedSectors = selectedRoutes,
                SelectedLevels  = selectedLevels,
                OrderBy         = orderBy
            };

            return(model);
        }
        // GET: Students
        public async Task <IActionResult> Index(string studentCourses, string searchString)
        {
            IQueryable <string> courseQuerry = from c in _context.Students
                                               orderby c.Course
                                               select c.Course;

            var student = from s in _context.Students
                          select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                student = student.Where(s => s.FirstName.Contains(searchString));
            }

            if (!String.IsNullOrEmpty(studentCourses))
            {
                student = student.Where(c => c.Course == studentCourses);
            }

            var CoursesVM = new CoursesViewModel();

            CoursesVM.courses  = new SelectList(await courseQuerry.Distinct().ToListAsync());
            CoursesVM.students = await student.ToListAsync();



            return(View(CoursesVM));
        }
예제 #11
0
        public ActionResult Attending()
        {
            var userId  = User.Identity.GetUserId();
            var courses = _dbContext.Attendances
                          .Where(a => a.AttendeeId == userId)
                          .Select(a => a.Course)
                          .Include(l => l.Lecturer)
                          .Include(l => l.Category).ToList();

            var upcommingFollowing = _dbContext.Followings
                                     .Where(a => a.FollowerId == userId).ToList();

            var upcommingAttendance = _dbContext.Attendances
                                      .Where(a => a.AttendeeId == userId).ToList();

            var viewModel = new CoursesViewModel
            {
                UpcommingCourses     = courses,
                ShowAction           = User.Identity.IsAuthenticated,
                UpcommingFollowings  = upcommingFollowing,
                UpcommingAttendances = upcommingAttendance
            };

            return(View(viewModel));
        }
예제 #12
0
        public ActionResult Search(CoursesViewModel vm)
        {
            vm = BuildCoursesViewModel(vm);
            if (vm.SelectedCourse > 0)
            {
                Course toJoin = Db.Courses.Where(c => c.Id == vm.SelectedCourse).FirstOrDefault();
                if (toJoin != null)
                {
                    CourseUserRelationship cur = new CourseUserRelationship()
                    {
                        CourseId   = toJoin.Id,
                        UserId     = CurrentUser.Id,
                        Role       = CourseRole.Student,
                        IsApproved = !toJoin.RequiresApprovalBeforeAdmission,
                        IsActive   = true
                    };
                    Db.CourseUserRelationships.Add(cur);
                    Db.SaveChanges();

                    if (toJoin.RequiresApprovalBeforeAdmission == true)
                    {
                        vm.ServerMessage = string.Format("A request to join {0} has been sent to the course instructor.  Until then, certain features related to the course may be unavailable.", toJoin.Name);
                    }
                    else
                    {
                        vm.ServerMessage = string.Format("You are now enrolled in {0}.", toJoin.Name);
                    }
                }
                else
                {
                    vm.ServerMessage = "There server experienced an error when trying to add you to the selected course.  Please try again.  If the problem persists, please contact [email protected].";
                }
            }
            return(View(vm));
        }
        public ActionResult Index()
        {
            var userId = User.Identity.GetUserId();

            var upCommingCourses = _dbContext.Courses
                                   .Include(c => c.Lecturer)
                                   .Include(c => c.Category)
                                   .Where(c => c.DateTime > DateTime.Now);

            var attendingCourses = _dbContext.Attendances
                                   .Where(a => a.AttendeeId == userId)
                                   .Select(a => a.Course)
                                   .ToList();

            var followingLecturers = _dbContext.Followings
                                     .Where(f => f.FollowerId == userId)
                                     .Select(f => f.Followee)
                                     .ToList();

            var viewModel = new CoursesViewModel
            {
                UpcommingCourses   = upCommingCourses,
                AttendingCourses   = attendingCourses,
                FollowingLecturers = followingLecturers,
                ShowAction         = User.Identity.IsAuthenticated,
            };

            return(View(viewModel));
        }
예제 #14
0
        public void Then_If_The_Level_Does_Not_Exist_It_Is_Not_Added(List <int> selectedLevels)
        {
            //Arrange
            var fixture = new Fixture();
            var levels  = selectedLevels.Take(1)
                          .Select(selectedLevel => new LevelViewModel(
                                      new Level
            {
                Code = selectedLevel,
                Name = fixture.Create <string>()
            }, null))
                          .ToList();

            //Act
            var model = new CoursesViewModel
            {
                Sectors         = null,
                Levels          = levels,
                Keyword         = "",
                SelectedSectors = null,
                SelectedLevels  = selectedLevels,
                OrderBy         = OrderBy.Name
            };

            Assert.AreEqual(1, model.ClearLevelLinks.Count);
        }
예제 #15
0
        public async Task <IActionResult> Student(string userGuid)
        {
            var result = new CoursesViewModel();

            if (!string.IsNullOrWhiteSpace(userGuid))
            {
                var user = await _dataRepository.GetUserInfoAsync(userGuid);

                if (user is null)
                {
                    result.Message = $"Brak użytkownika dla {userGuid}!";
                    _logger.LogWarning(result.Message);
                }
                else
                {
                    result.Courses = await _dataRepository.GetAllCoursesByUserGuidAsync(userGuid);

                    result.UserGuid  = userGuid;
                    result.UserEmail = user.Email;
                    _logger.LogInformation($"Dane dla {userGuid}");
                }
            }
            else
            {
                result.Message = "Proszę o podanie identyfikatora użytkownika!";
                _logger.LogWarning(result.Message);
            }

            return(View(result));
        }
 public ListCursosPage(Profesor a)
 {
     InitializeComponent();
     aux = a;
     vm  = new CoursesViewModel();
     this.BindingContext = vm;
 }
예제 #17
0
        public async Task <IActionResult> Courses(string module)
        {
            ApplicationUser user           = null;
            String          selectedmodule = null;

            if (signInManager.IsSignedIn(User))
            {
                user = await userManager.GetUserAsync(User);

                selectedmodule = (user).Modul;
            }
            else
            {
                selectedmodule = module;
            }

            CoursesViewModel c     = new CoursesViewModel(await _context.Courses.Where(x => x.Module.Contains(selectedmodule)).ToListAsync());
            List <String>    names = c.getCourses()
                                     .Where(x => x.Module.Contains(selectedmodule))
                                     .GroupBy(x => x.SchoolYear)
                                     .Select(x => x.FirstOrDefault())
                                     .OrderBy(x => x.ID)
                                     .Select(x => x.SchoolYear)
                                     .ToList();
            List <String> modules = _context.Courses
                                    .GroupBy(x => x.Module)
                                    .Select(x => x.FirstOrDefault())
                                    .Select(x => x.Module)
                                    .ToList();


            c.addYears(names);
            c.addModules(modules);
            return(View(c));
        }
예제 #18
0
        protected override void OnReady(System.Windows.Navigation.NavigationEventArgs e)
        {
            var cvm = new CoursesViewModel();

            this.DataContext = cvm;
            cvm.Load();
        }
예제 #19
0
        public async Task <IActionResult> Courses(GetCoursesRequest request)
        {
            var location      = CheckLocation(request.Location);
            var shortlistItem = _shortlistCookieService.Get(Constants.ShortlistCookieName);

            var result = await _mediator.Send(new GetCoursesQuery
            {
                Keyword         = request.Keyword,
                RouteIds        = request.Sectors,
                Levels          = request.Levels,
                OrderBy         = request.OrderBy,
                ShortlistUserId = shortlistItem?.ShortlistUserId
            });

            var viewModel = new CoursesViewModel
            {
                Courses            = result.Courses.Select(c => (CourseViewModel)c).ToList(),
                Sectors            = result.Sectors.Select(sector => new SectorViewModel(sector, request.Sectors)).ToList(),
                Total              = result.Total,
                TotalFiltered      = result.TotalFiltered,
                Keyword            = request.Keyword,
                SelectedSectors    = request.Sectors,
                SelectedLevels     = request.Levels,
                Levels             = result.Levels.Select(level => new LevelViewModel(level, request.Levels)).ToList(),
                OrderBy            = request.OrderBy,
                ShortlistItemCount = result.ShortlistItemCount,
                Location           = location?.Name ?? ""
            };

            return(View(viewModel));
        }
예제 #20
0
        public IActionResult Index()
        {
            var model1 = new List <CoursesViewModel>();

            var c1 = new CoursesViewModel();

            c1.MainImage = "/images/0b9124a4-editor.jpeg";
            c1.Title     = "Riazi";

            var c2 = new CoursesViewModel();

            c2.Title = "Olom";


            var c3 = new CoursesViewModel();

            c3.Title = "Arabi";

            model1.Add(c1);
            model1.Add(c2);
            model1.Add(c3);


            return(View(model1));
        }
        public void UpdateCourse(CoursesViewModel model)
        {
            Courses course = _mapper.Map <Courses>(model);

            _universityUnitOfWork._courseRepository.Update(course);
            _universityUnitOfWork.Save();
        }
예제 #22
0
        public IActionResult Edit(int Id, CoursesViewModel model)
        {
            if (Id != model.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _universityService.UpdateCourse(model);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!_universityService.CourseExists(model.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(model));
        }
예제 #23
0
        public async Task <ActionResult> ListarMaterial(long idCourse, long idSubarea, string StatusMessage = "")
        {
            var                   roles           = _userManager.GetRolesAsync(await _userManager.GetUserAsync(User));
            Course                alvo            = dbContext.Course.SingleOrDefault(c => c.idCourse == idCourse);
            CoursesViewModel      cvm             = new CoursesViewModel();
            List <MaterialEstudo> materiaisEstudo = new List <MaterialEstudo>();

            if (idSubarea != 0)
            {
                long idArea = dbContext.Subarea.SingleOrDefault(s => s.idSubarea == idSubarea).idArea;
                foreach (var role in await roles)
                {
                    if (idCourse.ToString() == role)
                    {
                        materiaisEstudo           = dbContext.MaterialEstudo.Where(q => q.idSubarea == idSubarea).OrderBy(q => q.Ordem).ToList();
                        ViewData["idSubarea"]     = idSubarea;
                        ViewData["idCourse"]      = idCourse;
                        ViewData["StatusMessage"] = StatusMessage;
                        return(View("MateriaisEstudo", materiaisEstudo));
                    }
                }
            }
            ViewData["Erro"] = "You are not allowed to access the study material.";
            return(View("Index", preencherCVM()));
        }
예제 #24
0
        public async Task <ListViewModel <CoursesViewModel> > GetCoursesAsync(CoursesListInputModel input)
        {
            logger.LogInformation("Course richiesti");

            string orderBy   = input.OrderBy == "CurrentPrice" ? "CurrentPrice_Amount" : input.OrderBy;
            string direction = input.Ascending ? "ASC" : "DESC";

            FormattableString query   = $@"SELECT Id, Title, ImagePath, Author, Rating, FullPrice_Amount, FullPrice_Currency, CurrentPrice_Amount, CurrentPrice_Currency FROM Courses WHERE Title LIKE {"%"+input.Search+"%"} ORDER BY {(Sql) orderBy} {(Sql) direction} LIMIT {input.Limit} OFFSET {input.Offset};
            SELECT COUNT(*) FROM Courses WHERE Title LIKE {"%"+input.Search+"%"}";
            DataSet           dataSet = await db.QueryAsync(query);

            var dataTable   = dataSet.Tables[0];
            var CoursesList = new List <CoursesViewModel>();

            foreach (DataRow item in dataTable.Rows)
            {
                CoursesViewModel corsi = CoursesViewModel.FromDataRow(item);
                CoursesList.Add(corsi);
            }
            int totalCount = Convert.ToInt32(dataSet.Tables[1].Rows[0][0]);
            ListViewModel <CoursesViewModel> result = new ListViewModel <CoursesViewModel>
            {
                Result     = CoursesList,
                TotalCount = totalCount
            };

            return(result);
        }
예제 #25
0
        public async Task <IActionResult> Courses()
        {
            var model = new CoursesViewModel {
                Courses = await _db.Courses.OrderBy(c => c.CName).Take(20).ToArrayAsync(),
            };

            return(View(model));
        }
예제 #26
0
        public ActionResult Show(int id)
        {
            CoursesViewModel        model = new CoursesViewModel();
            List <CoursesViewModel> lstT  = new List <CoursesViewModel>();
            var listOfTeachersCourse      = new TeacherDataController().GetListTeachersCourses(id);

            return(View(listOfTeachersCourse));
        }
예제 #27
0
        public async Task <IActionResult> GetAll()
        {
            var response = await _mediator.Send(new GetCoursesQuery());

            var viewModel = new CoursesViewModel(response.Courses);

            return(Ok(viewModel));
        }
예제 #28
0
        public Courses(ICourseService courseService)
        {
            viewModel = new CoursesViewModel(courseService);
            //DataContext = viewModel;

            InitializeComponent();

            this.Loaded += CoursesTable_Load;
        }
예제 #29
0
 private static void AssertClearLevelLink(CoursesViewModel model, int clearLinkCount)
 {
     foreach (var modelClearLevelLink in model.ClearLevelLinks)
     {
         var queryParams = HttpUtility.ParseQueryString(
             new Uri("https://test.com/" + modelClearLevelLink.Value).Query)["Levels"].Split(",");
         Assert.AreEqual(clearLinkCount - 1, queryParams.Length);
     }
 }
예제 #30
0
        public SelectDegreeCommand(NavigationStore navigationStore, ScheduleManager scheduleManager,
                                   TimeTableDto timeTableData, NotificationStore notificationStore)
        {
            var courseViewModel = new CoursesViewModel(scheduleManager, navigationStore, notificationStore);

            courseViewModel.SetTimeTableData(timeTableData);

            _navigationService = new NavigationService <CoursesViewModel>(navigationStore, courseViewModel);
        }