Beispiel #1
0
        public void update(CoursesDto product_dto)
        {
            try
            {
                _transactionManager.beginTransaction();

                Courses product = _productRepo.getById(product_dto.course_id);

                string oldImage = product.file_name;

                _productMaker.copy(ref product, product_dto);
                if (product.faculty_id != 0)
                {
                    product.faculty = _facultyRepository.getById(product.faculty_id) ?? throw new ItemNotFoundException($"Faculty with the id {product.faculty_id} doesnot exist.");
                }
                _productRepo.update(product);

                if (!string.IsNullOrWhiteSpace(product_dto.file_name))
                {
                    if (!string.IsNullOrWhiteSpace(oldImage))
                    {
                        deleteImage(oldImage);
                    }
                }
                _transactionManager.commitTransaction();
            }
            catch (Exception)
            {
                _transactionManager.rollbackTransaction();
                throw;
            }
        }
        public IHttpActionResult GetCourses()
        {
            //Get list of Course from the database
            List <Courses> Courses = db.Courses.Include(t => t.EmployeeApplicant).ToList();


            //Data transfer model with all the information about a Courses
            List <CoursesDto> CoursesDtos = new List <CoursesDto> {
            };

            //Transfering Courses to data transfer object
            foreach (var Course in Courses)
            {
                CoursesDto NewCourse = new CoursesDto
                {
                    CourseId       = Course.CourseId,
                    CourseCode     = Course.CourseCode,
                    CourseName     = Course.CourseName,
                    StartOn        = Course.StartOn,
                    CourseDuration = Course.CourseDuration
                                     //NumApplications = Course.EmployeeApplicant.Count()
                };
                CoursesDtos.Add(NewCourse);
            }

            return(Ok(CoursesDtos));
        }
Beispiel #3
0
        public async Task <CoursesDto> GetCoursesById(int Id)
        {
            var result = await _dbContext.Courses.Include(e => e.Videos).Include(e => e.Quiz).FirstOrDefaultAsync(e => e.Id == Id);

            var courses = _mapper.Map <CoursesDto>(result);
            //var resultCourses = _dbContext.CourseVideos.GetAll
            CoursesDto personViews =
                _mapper.Map <Courses, CoursesDto>(result);

            return(personViews);
        }
        public IHttpActionResult GetAllApplications()
        {
            //List of the applications from the database
            List <EmployeeApplicant> EmployeeApplicants = db.EmployeeApplicant.ToList();

            //Data transfer object to show information about the application
            List <ShowEmployeeApplicant> EmployeeApplicantDtos = new List <ShowEmployeeApplicant> {
            };

            foreach (var EmployeeApplicant in EmployeeApplicants)
            {
                ShowEmployeeApplicant EmployeeApplication = new ShowEmployeeApplicant();

                //Get the user to which the application belongs to
                ApplicationUser user = db.Users.Where(c => c.EmployeeApplicants.Any(m => m.EmployeeApplicantId == EmployeeApplicant.EmployeeApplicantId)).FirstOrDefault();

                ApplicationUserDto parentUser = new ApplicationUserDto
                {
                    Id             = user.Id,
                    FirstName      = user.FirstName,
                    LastName       = user.LastName,
                    EmployeeNumber = user.EmployeeNumber,
                    Email          = user.Email
                };
                //Get the course of application
                Courses Course = db.Courses.Where(l => l.EmployeeApplicant.Any(m => m.EmployeeApplicantId == EmployeeApplicant.EmployeeApplicantId)).FirstOrDefault();


                CoursesDto Courses = new CoursesDto
                {
                    CourseId   = Course.CourseId,
                    CourseCode = Course.CourseCode,
                    CourseName = Course.CourseName
                };


                EmployeeApplicantDto NewEmployeeApplicant = new EmployeeApplicantDto
                {
                    EmployeeApplicantId = EmployeeApplicant.EmployeeApplicantId,
                    Id       = EmployeeApplicant.Id,
                    CourseId = EmployeeApplicant.CourseId
                };



                EmployeeApplication.EmployeeApplicant = NewEmployeeApplicant;
                EmployeeApplication.Courses           = Courses;
                EmployeeApplication.User = parentUser;
                EmployeeApplicantDtos.Add(EmployeeApplication);
            }

            return(Ok(EmployeeApplicantDtos));
        }
Beispiel #5
0
        public ActionResult GetCourses()
        {
            Courses coursesRaw = new Courses();
            var     temp       = coursesRaw.getCourses();

            CoursesDto courses = (CoursesDto)temp;

            //build custom sort
            courses.Courses.Sort((course1, course2) => course1.title.CompareTo(course2.title));

            //courses.Courses.Clear();    //clear Courses for testing purpose only

            return(View(courses.Courses as IEnumerable <Courses>));
        }
Beispiel #6
0
 public void copy(ref Courses product, CoursesDto product_dto)
 {
     product.course_id     = product_dto.course_id;
     product.faculty_id    = product_dto.faculty_id;
     product.name          = product_dto.name.Trim();
     product.description   = product_dto.description.Trim();
     product.specification = product_dto.specification.Trim();
     product.features      = product_dto.features.Trim();
     product.is_enabled    = product_dto.is_enabled;
     if (product_dto.file_name != null)
     {
         product.file_name = product_dto.file_name;
     }
     product.slug = _slugGenerator.generate(product_dto.name);
 }
        public IActionResult edit(long product_id)
        {
            try
            {
                ViewBag.faculty = new SelectList(_facultyRepository.getAll(), "faculty_id", "name");
                var        product = _productRepo.getById(product_id);
                CoursesDto dto     = _mapper.Map <CoursesDto>(product);

                RouteData.Values.Remove("product_id");
                return(View(dto));
            }
            catch (Exception ex)
            {
                AlertHelper.setMessage(this, ex.Message, messageType.error);
                return(RedirectToAction("index"));
            }
        }
Beispiel #8
0
        public ActionResult DeleteConfirm(int id)
        {
            string url = "CoursesData/FindCourse/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;

            //Can catch the status code (200 OK, 301 REDIRECT), etc.
            //Debug.WriteLine(response.StatusCode);
            if (response.IsSuccessStatusCode)
            {
                //Put data into Course data transfer object
                CoursesDto SelectedCourse = response.Content.ReadAsAsync <CoursesDto>().Result;
                return(View(SelectedCourse));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }
        public IHttpActionResult GetCourseForApplication(int id)
        {
            //Find the course which is selected in the current application
            Courses Courses = db.Courses.Where(c => c.EmployeeApplicant.Any(p => p.EmployeeApplicantId == id)).FirstOrDefault();

            //In case this user does not exist
            if (Courses == null)
            {
                return(NotFound());
            }

            CoursesDto Course = new CoursesDto
            {
                CourseId   = Courses.CourseId,
                CourseCode = Courses.CourseCode,
                CourseName = Courses.CourseName
            };

            return(Ok(Courses));
        }
Beispiel #10
0
        // GET: Courses/Details/5
        public ActionResult Details(int id)
        {
            //Model used to combine a course and its applications
            ShowCourses ModelViews = new ShowCourses();


            //Get the current ParkingSpot object
            string url = "CoursesData/FindCourse/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;

            if (response.IsSuccessStatusCode)
            {
                CoursesDto SelectedCourse = response.Content.ReadAsAsync <CoursesDto>().Result;
                ModelViews.Courses = SelectedCourse;
            }
            else
            {
                return(RedirectToAction("Error"));
            }

            url      = "CoursesData/GetCourseApplications/" + id;
            response = client.GetAsync(url).Result;
            if (response.IsSuccessStatusCode)
            {
                //Avoid an error when a Course does not have applications

                //Can catch the status code (200 OK, 301 REDIRECT), etc.
                //Debug.WriteLine(response.StatusCode);
                IEnumerable <EmployeeApplicantDto> SelectedApplications = response.Content.ReadAsAsync <IEnumerable <EmployeeApplicantDto> >().Result;
                ModelViews.EmployeeApplications = SelectedApplications;
            }
            else
            {
                return(RedirectToAction("Error"));
            }


            return(View(ModelViews));
        }
 public IActionResult add(CoursesDto product_dto, IFormFile file)
 {
     try
     {
         if (ModelState.IsValid)
         {
             if (file != null)
             {
                 product_dto.file_name = _fileHelper.saveImageAndGetFileName(file, product_dto.name);
             }
             _productService.save(product_dto);
             AlertHelper.setMessage(this, "Courses saved successfully.", messageType.success);
             return(RedirectToAction("index"));
         }
     }
     catch (Exception ex)
     {
         AlertHelper.setMessage(this, ex.Message, messageType.error);
     }
     ViewBag.faculty = new SelectList(_facultyRepository.getAll(), "faculty_id", "name");
     return(View(product_dto));
 }
        public IHttpActionResult FindCourse(int id)
        {
            Courses Courses = db.Courses.Find(id);

            //if not found, return 404 status code.
            if (Courses == null)
            {
                return(NotFound());
            }
            //put into a 'friendly object format'
            CoursesDto CoursesDto = new CoursesDto
            {
                CourseId       = Courses.CourseId,
                CourseCode     = Courses.CourseCode,
                CourseName     = Courses.CourseName,
                StartOn        = Courses.StartOn,
                CourseDuration = Courses.CourseDuration
            };

            //pass along data as 200 status code OK response
            return(Ok(CoursesDto));
        }
Beispiel #13
0
        public void save(CoursesDto product_dto)
        {
            try
            {
                _transactionManager.beginTransaction();

                Courses product = new Courses();
                _productMaker.copy(ref product, product_dto);
                if (product.faculty_id != 0)
                {
                    product.faculty = _facultyRepository.getById(product.faculty_id) ?? throw new ItemNotFoundException($"Faculty with the id {product.faculty_id} doesnot exist.");
                }

                _productRepo.insert(product);

                _transactionManager.commitTransaction();
            }
            catch (Exception)
            {
                _transactionManager.rollbackTransaction();
                throw;
            }
        }
        public IHttpActionResult GetCourses()
        {
            //Getting the list of Courses objects from the databse
            List <Courses> Courses = db.Courses.ToList();

            //Here a data transfer model is used to keep only the information to be displayed about a course
            List <CoursesDto> CoursesDtos = new List <CoursesDto> {
            };

            //Transfering course to data transfer object
            foreach (var Course in Courses)
            {
                CoursesDto NewCourse = new CoursesDto
                {
                    CourseId   = Course.CourseId,
                    CourseCode = Course.CourseCode,
                    CourseName = Course.CourseName
                };
                CoursesDtos.Add(NewCourse);
            }

            return(Ok(CoursesDtos));
        }
        public ActionResult Details(int id)
        {
            GetApplicationCookie();

            ShowEmployeeApplicant ShowEmployeeApplicant = new ShowEmployeeApplicant();

            ShowEmployeeApplicant.isadmin = User.IsInRole("Admin");

            //Find the Employee application from the database
            string url = "EmployeeApplicantsData/FindApplication/" + id;
            HttpResponseMessage response = client.GetAsync(url).Result;

            if (response.IsSuccessStatusCode)
            {
                EmployeeApplicantDto SelectedApplication = response.Content.ReadAsAsync <EmployeeApplicantDto>().Result;
                ShowEmployeeApplicant.EmployeeApplicant = SelectedApplication;

                //Associated Employee Application with User
                url      = "EmployeeApplicantsData/GetApplicationUser/" + id;
                response = client.GetAsync(url).Result;
                ApplicationUserDto SelectedUser = response.Content.ReadAsAsync <ApplicationUserDto>().Result;
                ShowEmployeeApplicant.User = SelectedUser;

                //Associated Employee application with Course
                url      = "EmployeeApplicantsData/GetCourseForApplication/" + id;
                response = client.GetAsync(url).Result;
                CoursesDto SelectedCourse = response.Content.ReadAsAsync <CoursesDto>().Result;
                ShowEmployeeApplicant.Courses = SelectedCourse;

                return(View(ShowEmployeeApplicant));
            }
            else
            {
                return(RedirectToAction("Error"));
            }
        }