public async Task <IActionResult> Details(string id)
        {
            if (id == null)
            {
                return(View("NotFound"));
            }

            var jobOffer = await _jobOfferService.GetOfferById(id);

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

            await _jobOfferService.IncreaseOfferViews(jobOffer);

            var vm = _mapper.Map <DetailsJobOfferViewModel>(jobOffer);

            if (!await _authService.IsSignedIn(HttpContext.User))
            {
                return(View(vm));
            }

            var user = await _authService.GetSignedUser(User);

            vm.CanEdit = await _jobOfferService.CanUserEditOffer(user.Id, vm.JobOfferId);

            return(View(vm));
        }