public async Task <ActionResult> Delete(int id, FormCollection collection)
        {
            try
            {
                await JobApplicationFacade.DeleteApplication(id, await EmployerFacade.GetEmployerByEmail(User.Identity.Name));

                return(RedirectToAction("ApplicationsByJobOffer", new { id = (await JobApplicationFacade.GetApplication(id)).JobOffer.Id }));
            }
            catch
            {
                return(View());
            }
        }
        public async Task <ActionResult> Delete(int id)
        {
            var emoloyer = await EmployerFacade.GetEmployerByEmail(User.Identity.Name);

            var application = await JobApplicationFacade.GetApplication(id);

            if (application.JobOffer.Employer.Id != emoloyer.Id)
            {
                throw new ArgumentException();
            }

            return(View(application));
        }
        public async Task <ActionResult> AcceptApplicationAndCloseOther(int id)
        {
            ViewBag.Action = "Accept application and close all other";
            var emoloyer = await EmployerFacade.GetEmployerByEmail(User.Identity.Name);

            var application = await JobApplicationFacade.GetApplication(id);

            if (application.JobOffer.Employer.Id != emoloyer.Id)
            {
                throw new ArgumentException();
            }

            return(View("ChangeApplicationStatus", application));
        }
        public async Task <ActionResult> Details(int id)
        {
            var application = await JobApplicationFacade.GetApplication(id);

            return(View(application));
        }
        public async Task <ActionResult> AcceptApplicationAndCloseOther(int id, FormCollection collection)
        {
            await JobApplicationFacade.AcceptOnlyThisApplication(id, await EmployerFacade.GetEmployerByEmail(User.Identity.Name));

            return(RedirectToAction("ApplicationsByJobOffer", new { id = (await JobApplicationFacade.GetApplication(id)).JobOffer.Id }));
        }