public IActionResult comment(ViewAppVM model)
        {
            Application current = _db.Application.Where(a => a.ApplicationId == model.Application.ApplicationId).Include(a => a.Applicant).ThenInclude(b => b.ApplicationUser).FirstOrDefault();

            if (model.NewComment != null)
            {
                Comment newComment = new Comment();
                newComment.Message         = model.NewComment;
                newComment.AdministratorId = HttpContext.GetLoggedUser().Id;
                newComment.IonId           = current.ApplicationId;
                newComment.CommentTime     = DateTime.Now;

                _db.Comment.Add(newComment);
                _db.SaveChanges();
                _notificationService.sendToApplicant(current.ApplicantId, HttpContext.GetLoggedUser().Id, new IRO_UNMO.App.Subscription.NotificationVM()
                {
                    Message = model.NewComment,
                    Url     = "/admin/application/view/" + current.ApplicationId
                });
            }
            else
            {
                return(RedirectToAction("view", "application", new { id = model.Application.ApplicationId }));
            }
            return(RedirectToAction("view", "application", new { id = model.Application.ApplicationId }));
        }
        public IActionResult status(int id)
        {
            ViewAppVM model = new ViewAppVM();

            model.Application = _db.Application.Where(a => a.ApplicationId == id).FirstOrDefault();
            model.Applicant   = _db.Applicant.Where(a => a.ApplicantId == model.Application.ApplicantId).FirstOrDefault();
            return(View("status", model));
        }
Esempio n. 3
0
        public IActionResult status(ViewAppVM model)
        {
            Application current = _db.Application.Where(a => a.ApplicationId == model.Application.ApplicationId).FirstOrDefault();

            current.StatusOfApplication = model.Application.StatusOfApplication;
            _db.SaveChanges();
            return(RedirectToAction("view", "application", new { id = model.Application.ApplicationId }));
        }
        public IActionResult comment(int id)
        {
            ViewAppVM model = new ViewAppVM();

            model.Application = _db.Application.Where(a => a.ApplicationId == model.Application.ApplicationId).Include(a => a.Applicant).ThenInclude(b => b.ApplicationUser).FirstOrDefault();
            model.Applicant   = _db.Applicant.Where(a => a.ApplicantId == model.Application.ApplicantId).FirstOrDefault();
            model.Comments    = _db.Comment.Where(x => x.IonId == id).ToList();
            return(View("comment", model));
        }
        public IActionResult comment(int id)
        {
            TempData["applicantId"] = HttpContext.GetLoggedUser().Id;
            ViewAppVM model = new ViewAppVM();

            model.Application = _db.Application.Where(a => a.ApplicationId == model.Application.ApplicationId).Include(a => a.Applicant).ThenInclude(b => b.ApplicationUser).FirstOrDefault();
            model.Applicant   = _db.Applicant.Where(a => a.ApplicantId == model.Application.ApplicantId).FirstOrDefault();
            model.Comments    = _db.Comment.Where(x => x.IonId == id).ToList();
            return(View("add", model));
        }
        public IActionResult status(ViewAppVM model)
        {
            Application current = _db.Application.Where(a => a.ApplicationId == model.Application.ApplicationId).FirstOrDefault();

            current.StatusOfApplication = model.Application.StatusOfApplication;
            _db.SaveChanges();
            _notificationService.sendToApplicant(current.ApplicantId, HttpContext.GetLoggedUser().Id, new IRO_UNMO.App.Subscription.NotificationVM()
            {
                Message = "Your application status has been changed. New status is " + model.Application.StatusOfApplication + ".",
                Url     = "/applicant/application/view/" + current.ApplicationId
            });
            return(RedirectToAction("view", "application", new { id = current.ApplicationId }));
        }
        public IActionResult submit(ViewAppVM model)
        {
            Application current = _db.Application.Where(a => a.ApplicationId == model.Application.ApplicationId).Include(b => b.Infos).ThenInclude(q => q.Citizenship).Include(c => c.Contacts).ThenInclude(q => q.Country).Include(d => d.HomeInstitutions).Include(e => e.Others).Include(f => f.Documents).Include(g => g.Languages).FirstOrDefault();

            current.Finished     = true;
            current.FinishedTime = DateTime.Now;

            var admini = _db.Administrator.Include(a => a.ApplicationUser).ToList();

            foreach (var x in admini)
            {
                _notificationService.sendToAdmin(x.AdministratorId, HttpContext.GetLoggedUser().Id, new IRO_UNMO.App.Subscription.NotificationVM()
                {
                    Message = "Application nr. " + current.ApplicationId + " has been submitted. Now you can review it!",
                    Url     = "/admin/application/view/" + current.ApplicationId
                });
            }

            _db.SaveChanges();
            return(RedirectToAction("view", "application", new { id = current.ApplicationId }));
        }
        public IActionResult view(int id)
        {
            TempData["applicantId"] = HttpContext.GetLoggedUser().Id;
            ViewAppVM model = new ViewAppVM();

            model.Application = _db.Application.Where(a => a.ApplicationId == id).Include(b => b.Infos).ThenInclude(q => q.Citizenship).Include(c => c.Contacts).ThenInclude(q => q.Country).Include(d => d.HomeInstitutions).Include(e => e.Others).Include(f => f.Documents).Include(g => g.Languages).FirstOrDefault();
            model.Applicant   = _db.Applicant.Where(x => x.ApplicantId == model.Application.ApplicantId).Include(a => a.ApplicationUser).ThenInclude(b => b.Country).Include(c => c.University).FirstOrDefault();
            model.Comments    = _db.Comment.Where(x => x.IonId == id).Include(a => a.Applicant).ThenInclude(b => b.ApplicationUser).ToList();
            model.Statuses    = new List <SelectListItem>();
            model.Statuses.Add(new SelectListItem()
            {
                Value = "Unknown",
                Text  = "Unknown"
            });

            model.Statuses.Add(new SelectListItem()
            {
                Value = "Review - on hold",
                Text  = "Review - on hold"
            });

            model.Statuses.Add(new SelectListItem()
            {
                Value = "Review - successful",
                Text  = "Review - succesful"
            });

            model.Statuses.Add(new SelectListItem()
            {
                Value = "Enrolled",
                Text  = "Enrolled"
            });

            model.Statuses.Add(new SelectListItem()
            {
                Value = "Suspended",
                Text  = "Suspended"
            });
            return(View("view", model));
        }