public ActionResult DisplayAllGivenCertificates(string message = null)
        {
            ViewBag.Message = message;

            var givenCertificates = _context.givenCertificateRepository.GetListOfGivenCertificates();
            List <DisplayGivenCertificateViewModel> listOfGivenCertificates = new List <DisplayGivenCertificateViewModel>();

            foreach (var givenCertificate in givenCertificates)
            {
                var course      = _context.courseRepository.GetCourseById(givenCertificate.Course);
                var certificate = _context.certificateRepository.GetCertificateById(givenCertificate.Certificate);
                var user        = _context.userRepository.GetUserByGivenCertificateId(givenCertificate.GivenCertificateIdentificator);

                DisplayCrucialDataCourseViewModel      courseViewModel      = _mapper.Map <DisplayCrucialDataCourseViewModel>(course);
                DisplayCrucialDataCertificateViewModel certificateViewModel = _mapper.Map <DisplayCrucialDataCertificateViewModel>(certificate);
                DisplayCrucialDataUserViewModel        userViewModel        = _mapper.Map <DisplayCrucialDataUserViewModel>(user);

                DisplayGivenCertificateViewModel singleGivenCertificate = _mapper.Map <DisplayGivenCertificateViewModel>(givenCertificate);
                singleGivenCertificate.Certificate = certificateViewModel;
                singleGivenCertificate.Course      = courseViewModel;
                singleGivenCertificate.User        = userViewModel;

                listOfGivenCertificates.Add(singleGivenCertificate);
            }

            return(View(listOfGivenCertificates));
        }
        public ActionResult ConfirmationOfActionOnGivenCertificate(string givenCertificateIdentificator, string TypeOfAction)
        {
            if (givenCertificateIdentificator != null)
            {
                ViewBag.TypeOfAction = TypeOfAction;

                var givenCertificate = _context.givenCertificateRepository.GetGivenCertificateById(givenCertificateIdentificator);

                var course      = _context.courseRepository.GetCourseById(givenCertificate.Course);
                var certificate = _context.certificateRepository.GetCertificateById(givenCertificate.Certificate);
                var user        = _context.userRepository.GetUserByGivenCertificateId(givenCertificate.GivenCertificateIdentificator);

                DisplayCrucialDataUserViewModel        userViewModel        = _mapper.Map <DisplayCrucialDataUserViewModel>(user);
                DisplayCrucialDataCourseViewModel      courseViewModel      = _mapper.Map <DisplayCrucialDataCourseViewModel>(course);
                DisplayCrucialDataCertificateViewModel certificateViewModel = _mapper.Map <DisplayCrucialDataCertificateViewModel>(certificate);

                DisplayGivenCertificateViewModel modifiedGivenCertificate = _mapper.Map <DisplayGivenCertificateViewModel>(givenCertificate);
                modifiedGivenCertificate.Course      = courseViewModel;
                modifiedGivenCertificate.Certificate = certificateViewModel;
                modifiedGivenCertificate.User        = userViewModel;

                return(View(modifiedGivenCertificate));
            }

            return(RedirectToAction(nameof(AddNewGivenCertificate)));
        }
示例#3
0
        public ActionResult CompanyUsersGivenCompetences()
        {
            var companyManager = _context.userRepository.GetUserByEmail(this.User.Identity.Name);
            var companyWorkers = _context.userRepository.GetUsersWorkersByCompanyId(companyManager.CompanyRoleManager.FirstOrDefault());

            var givenCertificates = _context.givenCertificateRepository.GetGivenCertificatesById(companyWorkers.SelectMany(z => z.GivenCertificates).ToList());
            var givenDegrees      = _context.givenDegreeRepository.GetGivenDegreesById(companyWorkers.SelectMany(z => z.GivenDegrees).ToList());

            List <DisplayGivenCertificateViewModel> listOfGivenCertificates = new List <DisplayGivenCertificateViewModel>();

            foreach (var givenCertificate in givenCertificates)
            {
                var course      = _context.courseRepository.GetCourseById(givenCertificate.Course);
                var certificate = _context.certificateRepository.GetCertificateById(givenCertificate.Certificate);
                var user        = companyWorkers.Where(z => z.GivenCertificates.Contains(givenCertificate.GivenCertificateIdentificator)).FirstOrDefault();

                DisplayCrucialDataCourseViewModel      courseViewModel      = _mapper.Map <DisplayCrucialDataCourseViewModel>(course);
                DisplayCrucialDataCertificateViewModel certificateViewModel = _mapper.Map <DisplayCrucialDataCertificateViewModel>(certificate);
                DisplayCrucialDataUserViewModel        userViewModel        = _mapper.Map <DisplayCrucialDataUserViewModel>(user);

                DisplayGivenCertificateViewModel singleGivenCertificate = _mapper.Map <DisplayGivenCertificateViewModel>(givenCertificate);
                singleGivenCertificate.Certificate = certificateViewModel;
                singleGivenCertificate.Course      = courseViewModel;
                singleGivenCertificate.User        = userViewModel;

                listOfGivenCertificates.Add(singleGivenCertificate);
            }

            List <DisplayGivenDegreeViewModel> listOfGivenDegrees = new List <DisplayGivenDegreeViewModel>();

            foreach (var givenDegree in givenDegrees)
            {
                var degree = _context.degreeRepository.GetDegreeById(givenDegree.Degree);
                var user   = companyWorkers.Where(z => z.GivenDegrees.Contains(givenDegree.GivenDegreeIdentificator)).FirstOrDefault();

                DisplayCrucialDataDegreeViewModel degreeViewModel = _mapper.Map <DisplayCrucialDataDegreeViewModel>(degree);
                DisplayCrucialDataUserViewModel   userViewModel   = _mapper.Map <DisplayCrucialDataUserViewModel>(user);

                DisplayGivenDegreeViewModel singleGivenDegree = _mapper.Map <DisplayGivenDegreeViewModel>(givenDegree);
                singleGivenDegree.Degree = degreeViewModel;
                singleGivenDegree.User   = userViewModel;

                listOfGivenDegrees.Add(singleGivenDegree);
            }

            DisplayCompanyWorkersGivenCompetencesViewModel companyUsersCompetences = new DisplayCompanyWorkersGivenCompetencesViewModel
            {
                CompanyIdentificator = companyManager.CompanyRoleManager.FirstOrDefault(),

                GivenCertificates = listOfGivenCertificates,
                GivenDegrees      = listOfGivenDegrees
            };

            return(View(companyUsersCompetences));
        }
示例#4
0
        public ActionResult VerifyUserCompetences(string userIdentificator, bool anonymousVerification = true)
        {
            var user = _context.userRepository.GetUserById(userIdentificator);

            if (user != null)
            {
                var givenCertificates = _context.givenCertificateRepository.GetGivenCertificatesById(user.GivenCertificates);
                var givenDegrees      = _context.givenDegreeRepository.GetGivenDegreesById(user.GivenDegrees);

                var companiesRoleWorker  = _context.companyRepository.GetCompaniesById(user.CompanyRoleWorker);
                var companiesRoleManager = _context.companyRepository.GetCompaniesById(user.CompanyRoleManager);

                List <Company> companies = companiesRoleWorker.ToList();

                foreach (var company in companiesRoleManager)
                {
                    if (companies.Where(z => z.CompanyIdentificator == company.CompanyIdentificator).Count() == 0)
                    {
                        companies.Add(company);
                    }
                }

                if (anonymousVerification)
                {
                    List <DisplayGivenCertificateToUserWithoutCourseViewModel> listOfGivenCertificates = new List <DisplayGivenCertificateToUserWithoutCourseViewModel>();

                    if (givenCertificates.Count != 0)
                    {
                        foreach (var givenCertificate in givenCertificates)
                        {
                            var certificate = _context.certificateRepository.GetCertificateById(givenCertificate.Certificate);

                            DisplayCrucialDataCertificateViewModel certificateViewModel = _mapper.Map <DisplayCrucialDataCertificateViewModel>(certificate);

                            DisplayGivenCertificateToUserWithoutCourseViewModel singleGivenCertificate = _mapper.Map <DisplayGivenCertificateToUserWithoutCourseViewModel>(givenCertificate);
                            singleGivenCertificate.Certificate = certificateViewModel;

                            listOfGivenCertificates.Add(singleGivenCertificate);
                        }
                    }

                    List <DisplayGivenDegreeToUserViewModel> listOfGivenDegrees = new List <DisplayGivenDegreeToUserViewModel>();

                    if (givenDegrees.Count != 0)
                    {
                        foreach (var givenDegree in givenDegrees)
                        {
                            var degree = _context.degreeRepository.GetDegreeById(givenDegree.Degree);

                            DisplayCrucialDataDegreeViewModel degreeViewModel = _mapper.Map <DisplayCrucialDataDegreeViewModel>(degree);

                            DisplayGivenDegreeToUserViewModel singleGivenDegree = _mapper.Map <DisplayGivenDegreeToUserViewModel>(givenDegree);
                            singleGivenDegree.Degree = degreeViewModel;

                            listOfGivenDegrees.Add(singleGivenDegree);
                        }
                    }

                    List <DisplayCompanyViewModel> ListOfCompanies = _mapper.Map <List <DisplayCompanyViewModel> >(companies);

                    UserDetailsForAnonymousViewModel verifiedUser = _mapper.Map <UserDetailsForAnonymousViewModel>(user);
                    verifiedUser.GivenCertificates = listOfGivenCertificates;
                    verifiedUser.GivenDegrees      = listOfGivenDegrees;
                    verifiedUser.Companies         = ListOfCompanies;

                    return(Ok(verifiedUser));
                }
                else
                {
                    var courses = _context.courseRepository.GetCoursesById(user.Courses);

                    List <DisplayCourseViewModel> listOfCourses = new List <DisplayCourseViewModel>();

                    if (courses.Count != 0)
                    {
                        foreach (var course in courses)
                        {
                            DisplayCourseViewModel singleCourse = _mapper.Map <DisplayCourseViewModel>(course);
                            singleCourse.Branches = _context.branchRepository.GetBranchesById(course.Branches);

                            listOfCourses.Add(singleCourse);
                        }
                    }

                    List <DisplayGivenCertificateToUserViewModel> listOfGivenCertificates = new List <DisplayGivenCertificateToUserViewModel>();

                    if (givenCertificates.Count != 0)
                    {
                        foreach (var givenCertificate in givenCertificates)
                        {
                            var course      = _context.courseRepository.GetCourseById(givenCertificate.Course);
                            var certificate = _context.certificateRepository.GetCertificateById(givenCertificate.Certificate);

                            DisplayCrucialDataCourseViewModel courseViewModel = _mapper.Map <DisplayCrucialDataCourseViewModel>(course);

                            DisplayCrucialDataCertificateViewModel certificateViewModel = _mapper.Map <DisplayCrucialDataCertificateViewModel>(certificate);

                            DisplayGivenCertificateToUserViewModel singleGivenCertificate = _mapper.Map <DisplayGivenCertificateToUserViewModel>(givenCertificate);
                            singleGivenCertificate.Certificate = certificateViewModel;
                            singleGivenCertificate.Course      = courseViewModel;

                            listOfGivenCertificates.Add(singleGivenCertificate);
                        }
                    }

                    List <DisplayGivenDegreeToUserViewModel> listOfGivenDegrees = new List <DisplayGivenDegreeToUserViewModel>();

                    if (givenDegrees.Count != 0)
                    {
                        foreach (var givenDegree in givenDegrees)
                        {
                            var degree = _context.degreeRepository.GetDegreeById(givenDegree.Degree);

                            DisplayCrucialDataDegreeViewModel degreeViewModel = _mapper.Map <DisplayCrucialDataDegreeViewModel>(degree);

                            DisplayGivenDegreeToUserViewModel singleGivenDegree = _mapper.Map <DisplayGivenDegreeToUserViewModel>(givenDegree);
                            singleGivenDegree.Degree = degreeViewModel;

                            listOfGivenDegrees.Add(singleGivenDegree);
                        }
                    }

                    List <DisplayCompanyViewModel> listOfCompanies = _mapper.Map <List <DisplayCompanyViewModel> >(companies);

                    UserDetailsViewModel verifiedUser = _mapper.Map <UserDetailsViewModel>(user);
                    verifiedUser.Roles = _context.userRepository.TranslateRoles(verifiedUser.Roles);

                    verifiedUser.GivenCertificates = listOfGivenCertificates;
                    verifiedUser.GivenDegrees      = listOfGivenDegrees;
                    verifiedUser.Courses           = listOfCourses;
                    verifiedUser.Companies         = listOfCompanies;

                    return(Ok(verifiedUser));
                }
            }
            else
            {
                return(BadRequest("Użytkownik nie został odnaleziony"));
            }
        }