public async Task <JobOfferViewModel> Update(JobOfferViewModel jobOfferViewModel)
        {
            var jobOffer = _mapper.Map <JobOffer>(jobOfferViewModel);

            if (!ExecuteValidation(new JobOfferValidation(), jobOffer))
            {
                return(null);
            }

            if (!_companyrepository.Get(j => j.Id == jobOffer.CompanyId).Result.Any())
            {
                Notify("The company does not exists.");
                return(null);
            }

            if (!_jobOfferRepository.Get(j => j.Id == jobOffer.Id).Result.Any())
            {
                Notify("Job offer does not exists.");

                return(null);
            }

            await _jobOfferRepository.Update(jobOffer);

            return(_mapper.Map <JobOfferViewModel>(jobOffer));
        }
Esempio n. 2
0
        public JobOfferViewModel GetOffers(string searchString, int pageNo = 1)
        {
            Console.WriteLine(searchString);
            int totalPage, totalRecord, pageSize;

            pageSize = 10;

            totalRecord = _context.JobOffers.Count();
            totalPage   = (totalRecord / pageSize) + ((totalRecord % pageSize) > 0 ? 1 : 0);
            var record = (from u in _context.JobOffers
                          orderby u.JobTitle, u.Created
                          select u).Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();

            List <Company> _companies = _context.Companies.ToList();

            foreach (JobOffer offer in record)
            {
                offer.Company = _companies.Find(c => c.Id == offer.CompanyId);
            }
            JobOfferViewModel empData = new JobOfferViewModel
            {
                JobOffers = record,
                TotalPage = totalPage
            };

            return(empData);
        }
Esempio n. 3
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,JobTitle,CompanyName,JobDescription,ApplicationDeadline,WorkStartDate,Location,SalaryFrom,SalaryTo,SalaryDescription,ContractLength")] JobOfferViewModel jobOfferEdit)
        {
            if (id != jobOfferEdit.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                JobOffer jobOffer = jobOfferEdit;
                try
                {
                    _context.Update(jobOffer);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!JobOfferExists(jobOffer.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(jobOfferEdit));
        }
Esempio n. 4
0
        public ActionResult Create()
        {
            var model = new JobOfferViewModel();

            if (CurrentUser.UserRole == UserRole.Admin)
            {
                ViewBag.IsRackaz = false;
            }
            else
            {
                //model.Area = CurrentUser.Area.Value;  //NOT WORKING!!
                ViewBag.IsRackaz = true;
            }
            // TODO: Add the user area incase of him being a Rackz


            // TODO: change the viewbag to AcademicInstitutionVM to transfer area
            var academicM = _academicMajorService.Get();

            if (academicM.Success)
            {
                academicM.Data.Insert(0, null);
                model.AcademicMajors = academicM.Data;
                return(View(model));
            }
            return(Error(academicM));
            //model.AcademicMajors = _academicMajorService.Get();
        }
Esempio n. 5
0
        public PagingJobOffersViewModel GetJobOffers(int pageNo = 1, int pageSize = 4)
        {
            int totalPage, totalRecord;
            var jobOffers     = _context.JobOffers.ToList();
            var jobOffersView = new List <JobOfferViewModel>();

            foreach (var offer in jobOffers)
            {
                JobOfferViewModel item = offer;
                jobOffersView.Add(item);
            }
            totalRecord = jobOffersView.Count();
            totalPage   = (totalRecord / pageSize) + ((totalRecord % pageSize) > 0 ? 1 : 0);
            var record = (from u in jobOffersView
                          orderby u.Id
                          select u).Skip((pageNo - 1) * pageSize).Take(pageSize).ToList();

            PagingJobOffersViewModel data = new PagingJobOffersViewModel
            {
                JobOffers   = record,
                CurrentPage = pageNo,
                TotalPage   = totalPage,
            };

            return(data);
        }
        public async Task <JobOfferViewModel> Add(JobOfferViewModel jobOfferViewModel)
        {
            var jobOffer = _mapper.Map <JobOffer>(jobOfferViewModel);

            jobOffer.Id = Guid.NewGuid();

            if (!ExecuteValidation(new JobOfferValidation(), jobOffer))
            {
                return(null);
            }

            if (_jobOfferRepository.Get(j => j.ContractCode == jobOffer.ContractCode).Result.Any())
            {
                Notify("There is already a jobber offer with the contract code informed.");
                return(null);
            }

            if (!_companyrepository.Get(j => j.Id == jobOffer.CompanyId).Result.Any())
            {
                Notify("The company does not exists.");
                return(null);
            }

            await _jobOfferRepository.Add(jobOffer);

            return(_mapper.Map <JobOfferViewModel>(jobOffer));
        }
Esempio n. 7
0
        public ActionResult Edit(int id)
        {
            var model = new JobOfferViewModel();

            if (CurrentUser.UserRole == UserRole.Admin)
            {
                ViewBag.IsRackaz = false;
            }
            else
            {
                ViewBag.IsRackaz = true;
            }
            var result1 = _JobofferService.Get(id);

            if (!result1.Success)
            {
                return(Error(result1));
            }

            var result2 = _academicMajorService.Get();

            if (!result2.Success)
            {
                return(Error(result2)); //this is an example for redirect to error page!
            }
            //  Validate that the requierd job offer was pulled from the DB (result.Success)

            model.JobOffer = result1.Data;
            result2.Data.Insert(0, null);
            model.AcademicMajors = result2.Data;
            return(View(model));
        }
 public async Task <ActionResult <JobOfferViewModel> > Update(JobOfferViewModel jobOfferViewModel)
 {
     if (!ModelState.IsValid)
     {
         return(CustomResponse(ModelState));
     }
     return(CustomResponse(await _jobOfferService.Update(jobOfferViewModel)));
 }
Esempio n. 9
0
        public async Task <IActionResult> Index()
        {
            JobOfferViewModel jobOfferViewModel = new JobOfferViewModel();

            jobOfferViewModel.JobOffersCount = await _context.JobOffers.CountAsync();

            return(View(jobOfferViewModel));
        }
        public async Task <IActionResult> Index()
        {
            JobOfferViewModel jobOfferViewModel = new JobOfferViewModel();

            jobOfferViewModel.JobOffersCount = await _context.JobOffers.Where(s => s.CompanyId.ToString() == User.FindFirst(ClaimTypes.GroupSid).Value).CountAsync();

            return(View(jobOfferViewModel));
        }
Esempio n. 11
0
        public async Task <IActionResult> Index()
        {
            JobOfferViewModel jobOfferViewModel = new JobOfferViewModel();

            jobOfferViewModel.JobOffersCount = await _context.JobOffers.CountAsync();

            ViewBag.CurrentPage = 1;
            ViewBag.PagesCount  = Math.Ceiling((double)jobOfferViewModel.JobOffersCount / pageSize);
            return(View(jobOfferViewModel));
        }
Esempio n. 12
0
        public ActionResult Create(JobOfferViewModel model)
        {
            var result = _JobofferService.Add(model.JobOffer);

            if (result.Success)
            {
                return(RedirectToAction("Index", "JobOffer", new { area = "Trainee" }));
            }

            return(Error(result));
        }
Esempio n. 13
0
        public void CreateJobOffer_ModelIsNotValid_RedirectToViewResult()
        {
            JobOffersController jobOffersController = new JobOffersController(context);
            JobOfferViewModel   jobOffer            = new JobOfferViewModel();

            jobOffersController.ModelState.AddModelError("testError", "testError");

            var response = jobOffersController.Create(jobOffer).GetAwaiter().GetResult();

            Assert.IsInstanceOfType(response, typeof(ViewResult));
        }
Esempio n. 14
0
        public async Task <IActionResult> Create([Bind("Id,JobTitle,CompanyName,JobDescription,ApplicationDeadline,WorkStartDate,Location,SalaryFrom,SalaryTo,SalaryDescription,ContractLength")] JobOfferViewModel jobOfferCreate)
        {
            if (ModelState.IsValid)
            {
                JobOffer jobOffer = jobOfferCreate;
                _context.Add(jobOffer);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(jobOfferCreate));
        }
Esempio n. 15
0
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var jobOffer = await _context.JobOffers.FindAsync(id);

            if (jobOffer == null)
            {
                return(NotFound());
            }
            JobOfferViewModel model = jobOffer;

            return(View(model));
        }
Esempio n. 16
0
        public void CreateJobOffer_ModelValid_RedirectToIndex()
        {
            JobOffersController jobOffersController = new JobOffersController(context);
            JobOfferViewModel   jobOffer            = new JobOfferViewModel()
            {
                Id = 4,
            };

            jobOffersController.ModelState.Clear();

            var result = jobOffersController.Create(jobOffer).GetAwaiter().GetResult();

            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
            var redirectToActionResult = result as RedirectToActionResult;

            Assert.IsNull(redirectToActionResult.ControllerName);
            Assert.AreEqual("Index", redirectToActionResult.ActionName);
        }
Esempio n. 17
0
        public IActionResult Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var jobOffer = _context.JobOffers
                           .FirstOrDefault(m => m.Id == id);

            if (jobOffer == null)
            {
                return(NotFound());
            }
            JobOfferViewModel model = jobOffer;

            model.JobApplications = _context.JobApplications.Where(o => o.OfferId == id).ToList();
            return(View(model));
        }
Esempio n. 18
0
 public static void GetJobOfferDetails(this JobOfferViewModel model, DataContext context)
 {
     model.Description = context.JobOffer.Where(jobOffer => jobOffer.IdJobOffer == model.Id).FirstOrDefault().Description;
 }
Esempio n. 19
0
 public static bool CanManageJobOffer(this ClaimsPrincipal user, JobOfferViewModel jobOffer)
 {
     return(user.IsInRole(UserRole.Admin) ||
            (user.IsInRole(UserRole.HR) && jobOffer.ResponsibleExternalIds.Contains(user.GetExternalId())));
 }