Exemple #1
0
        public ApplicationReviewPage()
        {
            //Label Texts on the UI is bound to properties of ReviewAppList defined in the Binding Context View Model. ie; Application Review Model
            viewModel      = new ApplicationReviewViewModel();
            BindingContext = new ApplicationReviewViewModel();

            InitializeComponent();
        }
Exemple #2
0
        public ActionResult ReviewApplication(int?id)
        {
            UserManager <ApplicationUser> UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));

            if (id == null)
            {
                return(RedirectToAction("ShowApplications"));
            }
            var newReviewModel = new ApplicationReviewViewModel()
            {
            };

            newReviewModel.ApplicationInfo = db.Applications.Where(a => a.ApplicantId == id).ToList <Application>();
            if ((newReviewModel.ApplicationInfo.Last().Status == ApplicationReviewViewModel.ApplicationStatus.Accepted.ToString()) || (newReviewModel.ApplicationInfo.Last().Status == ApplicationReviewViewModel.ApplicationStatus.Rejected.ToString()))
            {
                ViewBag.Complete = true;
            }
            else
            {
                ViewBag.Complete = false;
                if (newReviewModel.ApplicationInfo.Last().Status.Replace(" ", "") == ApplicationReviewViewModel.ApplicationStatus.Applied.ToString())
                {
                    newReviewModel.NewReviewItemStatus = ApplicationReviewViewModel.ApplicationStatus.InScreening;
                }
                else if (newReviewModel.ApplicationInfo.Last().Status.Replace(" ", "") == ApplicationReviewViewModel.ApplicationStatus.NeedsAPIMail.ToString())
                {
                    newReviewModel.NewReviewItemStatus = ApplicationReviewViewModel.ApplicationStatus.APIMailSent;
                }
                else if (newReviewModel.ApplicationInfo.Last().Status.Replace(" ", "") == ApplicationReviewViewModel.ApplicationStatus.AwaitingInvitation.ToString())
                {
                    newReviewModel.NewReviewItemStatus = ApplicationReviewViewModel.ApplicationStatus.Accepted;
                }
                else
                {
                    newReviewModel.NewReviewItemStatus = (ApplicationReviewViewModel.ApplicationStatus)Enum.Parse(typeof(ApplicationReviewViewModel.ApplicationStatus), newReviewModel.ApplicationInfo.Last().Status.Replace(" ", ""));
                }
            }

            newReviewModel.Applicant = db.Applicants.Where(a => a.Id == id).FirstOrDefault();
            if ((newReviewModel.Applicant.TimeZone == null) || (newReviewModel.Applicant.TimeZone == string.Empty))
            {
                newReviewModel.Applicant.TimeZone = "Unknown";
            }
            newReviewModel.NewReviewItem = new Application()
            {
                ApplicantId = newReviewModel.Applicant.Id, Reviewer = UserManager.FindById(User.Identity.GetUserId())
            };

            return(View(newReviewModel));
        }
Exemple #3
0
        public ActionResult SubmitNewReviewItem(ApplicationReviewViewModel model)
        {
            UserManager <ApplicationUser> UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(db));

            if (ModelState.IsValid)
            {
                model.NewReviewItem.Reviewer = UserManager.FindByName(model.NewReviewItem.Reviewer.UserName);
                model.Applicant            = db.Applicants.Where(a => a.Id == model.NewReviewItem.ApplicantId).FirstOrDefault();
                model.NewReviewItem.Status = model.NewReviewItemStatus.GetDisplayName();

                model.NewReviewItem.DateTimeCreated = DateTime.Now;

                db.Applications.Add(model.NewReviewItem);
                db.SaveChanges();

                MessagePayload message = new MessagePayload();
                message.Attachments = new List <MessagePayloadAttachment>();

                message.Attachments.Add(new MessagePayloadAttachment()
                {
                    Text      = string.Format(Properties.Settings.Default.AppUpdate_MessageFormatLine2, model.Applicant.Name, model.NewReviewItem.Status, model.NewReviewItem.Reviewer.UserName, model.NewReviewItem.DateTimeCreated.ToString("yyyy-MM-dd HH:mm:ss")),
                    TitleLink = string.Format(Properties.Settings.Default.EveWhoPilotURL, model.Applicant.Name.Replace(" ", "+")),
                    Title     = Properties.Settings.Default.AppUpdate_MessageFormatLine1,
                    ThumbUrl  = string.Format(Properties.Settings.Default.CharacterImageServerURL, Api.GetCharacterID(model.Applicant.Name), 64.ToString()),
                    Colour    = "#FFC200"
                });
                RecruitmentController.SendMessage(message);

                if (model.NewReviewItemStatus == ApplicationReviewViewModel.ApplicationStatus.InScreening)
                {
                    return(RedirectToAction("ReviewApplication", new { id = model.NewReviewItem.ApplicantId }));
                }
                else
                {
                    return(RedirectToAction("ShowApplications"));
                }
            }
            return(View(model));
        }