//public string CategoryNames { get; set; } public static LocationDetailsViewModel GetLocationDetailsViewModel(ApplicationDbContext context, int locationId) { LocationDetailsViewModel locationDetailsViewModel = new LocationDetailsViewModel(); Models.Location location = context.Locations .Include(l => l.LocationCategories) .FirstOrDefault(l => l.Id == locationId); List <Models.Review> reviews = context.Reviews .Where(r => r.LocationID == locationId) .ToList(); var selectedCategories = context.LocationCategories .Where(locationCategory => locationCategory.LocationId == locationId) .ToList(); List <Category> categories = context.Categories .ToList(); selectedCategories.ForEach(selectedCategory => selectedCategory.Category = categories.Single(category => category.Id == selectedCategory.CategoryId ) ); //IList<Models.LocationCategory> categories = location.LocationCategories; IList <ReviewDetailsViewModel> reviewDetailsViewModels = new List <ReviewDetailsViewModel>(); foreach (Models.Review review in reviews) { ReviewDetailsViewModel reviewDetailsViewModel = new ReviewDetailsViewModel(); reviewDetailsViewModel.Rating = review.Rating; reviewDetailsViewModel.Comment = review.Comment; reviewDetailsViewModels.Add(reviewDetailsViewModel); } List <CategoryDetailsViewModel> categoryDetailsViewModels = new List <CategoryDetailsViewModel>(); foreach (Models.LocationCategory selectedCategory in selectedCategories) { CategoryDetailsViewModel categoryDetailsViewModel = new CategoryDetailsViewModel(); categoryDetailsViewModel.Name = selectedCategory.Category.CategoryName; categoryDetailsViewModels.Add(categoryDetailsViewModel); } return(new LocationDetailsViewModel() { Name = location.Name, Description = location.Description, Id = location.Id, ReviewDetailsViewModels = reviewDetailsViewModels.ToList(), CategoryDetailsViewModels = categoryDetailsViewModels.ToList() }); }
public ActionResult Edit(int id) { Review_Details reviewDetail = reviewDetailsBL.GetReviewDetailsById(id); //ViewBag.Departments = new SelectList(departmentBL.GetDepartments(), "DepartmentID", "DepartmentName"); //ViewBag.Designation = new SelectList(designationBL.GetDesignations(), "DesignationID", "DesignationName"); List <SelectListItem> reviewerDepartments = new List <SelectListItem>(); ReviewDetailsViewModel reviewDetailsViewModel = new ReviewDetailsViewModel(); List <Departments> states = departmentBL.GetDepartments(); states.ForEach(x => { reviewerDepartments.Add(new SelectListItem { Text = x.DepartmentName, Value = x.DepartmentId.ToString() }); }); ViewBag.Departments = new SelectList(departmentBL.GetDepartments(), "DepartmentID", "DepartmentName"); reviewDetailsViewModel.Departments = reviewerDepartments; ReviewDetailsViewModel employeeViewModel = new ReviewDetailsViewModel(); // employeeViewModel = AutoMapper.Mapper.Map<ReviewDetail, ReviewDetailsViewModel>(reviewDetail); employeeViewModel.Id = reviewDetail.Id; employeeViewModel.Reviewername = reviewDetail.Reviewername; employeeViewModel.ReviewerDesignationId = reviewDetail.ReviewerDesignationId; employeeViewModel.ReviewerDepartmentId = reviewDetail.ReviewerDepartmentId; employeeViewModel.Revieweename = reviewDetail.Revieweename; employeeViewModel.RevieweeDesignationId = reviewDetail.RevieweeDesignationId; employeeViewModel.RevieweeDepartmentId = reviewDetail.RevieweeDepartmentId; employeeViewModel.Date = reviewDetail.Date; return(View(employeeViewModel)); }
public IActionResult Delete(ReviewDetailsViewModel reviewViewModel) { var review = _mapper.Map <Review>(reviewViewModel); _reviewRepository.Delete(review); return(RedirectToAction(nameof(Index))); }
public ActionResult Details(string button, ReviewDetailsViewModel vm) { var selections = (int[])Session["revids"]; if (button == null) { var ids = selections.ToList(); PatService.DeleteReviews(ids, User.Identity.Name.RemoveDomain()); TempData[CommonConstants.FlashMessageTypeInfo] = string.Format("{0} Reviews deleted", ids.Count); return(RedirectToAction("Details", "Upload", new { id = vm.Review.UploadId })); } if (button == "next") { SessionHelper.SetSessionBulkReviewOutcomes(Session, vm); var nextId = GetNextId(vm.Review.ReviewId, selections); return(RedirectToAction("Details", "Review", new { id = nextId })); } if (button == "previous") { SessionHelper.SetSessionBulkReviewOutcomes(Session, vm); var prevId = GetPreviousId(vm.Review.ReviewId, selections); return(RedirectToAction("Details", "Review", new { id = prevId })); } if (ModelState.IsValid) { if (vm.Review.AssessmentCode == DataConstants.AssessmentValid || vm.Review.AssessmentCode == DataConstants.AssessmentValidwithQualification) { vm.Review.OutcomeCode = DataConstants.FinalOutcomeValid_NFA; } if (vm.Review.AssessmentCode != vm.OldAssessmentOutcome) { vm.Review.AssessmentDate = DateTime.Now; } if (vm.Review.RecoveryReason != vm.OldRecoveryReason) { vm.Review.RecoveryReasonDate = DateTime.Now; } if (vm.Review.OutcomeCode != vm.OldOutcomeCode) { vm.Review.FinalOutcomeDate = DateTime.Now; } if (vm.Review.AssessmentAction != vm.OldAssessmentAction) { vm.Review.AssessmentActionDate = DateTime.Now; } // save the update vm.Review.UpdatedBy = User.Identity.Name.RemoveDomain(); PatService.BulkOutcome(selections, vm.Review, vm.Review.UpdatedBy); SessionHelper.SetSessionBulkReviewOutcomes(Session, null); TempData[CommonConstants.FlashMessageTypeInfo] = string.Format("{0} Reviews updated", selections.Count()); return(RedirectToAction("Details", "Upload", new { id = vm.Review.UploadId })); } // get the View Data back ViewData["review-details"] = AppHelper.GetSessionReviewDetails(Session); ViewData["related-data"] = AppHelper.GetSessionRelatedData(Session); return(View(vm)); }
public ActionResult Details(int id) { try { var projectId = AppHelper.GetSessionProjectId(Session); var project = PatService.GetProject(projectId); var review = PatService.GetReview(id); var upload = PatService.GetUploadById(review.UploadId); var vm = SessionHelper.GetSessionBulkOutcomes(Session); if (vm.Review == null) { vm = new ReviewDetailsViewModel { ProjectId = project.ProjectId, ProjectName = project.ProjectName, UploadName = upload.Name, OutOfScope = upload.IsOutOfScope(), OutOfScopeFlag = !upload.InScope, Additional = upload.AdditionalOrNot(), AdditionalFlag = upload.AdditionalReview, Review = review, ChangesMade = "N" }; } ViewBag.IsProjectContractMonitoringOrContractSiteVisit = project != null && project.IsContractMonitoringOrContractSiteVisit(); ViewData["review-details"] = GenerateReviewDetails(review); ViewData["related-data"] = GenerateRelatedData(review.ClaimId, review.ClaimSequenceNumber); if (vm.Review != null) { vm.OldAssessmentOutcome = vm.Review.AssessmentCode; vm.OldRecoveryReason = vm.Review.RecoveryReason; vm.OldOutcomeCode = vm.Review.OutcomeCode; } else { vm.Review = review; } vm.Review.ReviewId = id; var selections = (int[])Session["revids"]; vm.Nav = PositionOf(id, selections); vm.NumberOfSelections = SelectionsMessageFor(selections, id); vm.DeleteMessage = CheckForOutcomes(selections); return(View(vm)); } catch (Exception ex) { ErrorLog.GetDefault(null).Log(new Error(ex)); return(View("Error", new HandleErrorInfo(ex, "Review", "Details"))); } }
public ActionResult Details(int?id) { if (!this._service.ReviewExists(id)) { return(this.RedirectToAction("All", "Products")); } var currentUserId = this.User.Identity.GetUserId(); ReviewDetailsViewModel rdvm = this._service.GetReviewDetails(currentUserId, id); return(this.View(rdvm)); }
public IActionResult DeleteReview(int id) { ReviewDetailsViewModel review = this.reviewService.GetReview(id); if (review == null) { return(RedirectToAction(RedirectConstants.IndexSuffix)); } return(this.View(review)); }
public ViewResult Details(int id) { var review = _context.Reviews.Include(r => r.FilmItem).FirstOrDefault(r => r.Id == id); var replies = _context.Reviews.Where(r => r.ShoutId == review.Id).OrderBy(r => r.CreatedAt).ToList(); ReviewDetailsViewModel reviewDetailsViewModel = new ReviewDetailsViewModel { Review = review, Replies = replies }; return(View(reviewDetailsViewModel)); }
public async Task <ReviewDetailsViewModel> GetReviewDetailsAsync(string id, int pageNumber, int itemsToShow = 5) { var game = await this.gameRepository .AllAsNoTracking() .Include(x => x.Ratings) .FirstOrDefaultAsync(x => x.Id == id); if (game == null) { throw new ArgumentException("Game does not exist."); } var totalRatings = game.RatingsCount; var fiveStarRating = ((double)game.Ratings.Where(x => x.Value == 5).Count() / totalRatings) * 100; var fourStarRating = ((double)game.Ratings.Where(x => x.Value == 4).Count() / totalRatings) * 100; var threeStarRating = ((double)game.Ratings.Where(x => x.Value == 3).Count() / totalRatings) * 100; var twoStarRating = ((double)game.Ratings.Where(x => x.Value == 2).Count() / totalRatings) * 100; var oneStarRating = ((double)game.Ratings.Where(x => x.Value == 1).Count() / totalRatings) * 100; var viewModel = new ReviewDetailsViewModel { GameName = game.Name, GameId = game.Id, AverageRating = this.ratingsService.GetAverageRating(id), OneStarRatingPercent = oneStarRating.ToString("N1") + "%", TwoStarRatingPercent = twoStarRating.ToString("N1") + "%", ThreeStarRatingPercent = threeStarRating.ToString("N1") + "%", FourStarRatingPercent = fourStarRating.ToString("N1") + "%", FiveStarRatingPercent = fiveStarRating.ToString("N1") + "%", UserReviews = await this.reviewRepository .AllAsNoTracking() .Where(x => x.GameId == id) .OrderByDescending(x => x.CreatedOn) .Select(x => new AllUserReviewsViewModel { Id = x.Id, ReviewerId = x.ReviewedBy.Id, Image = x.ReviewedBy.ProfilePicture, Username = x.ReviewedBy.UserName, CreatedOn = x.CreatedOn.ToString("dd/MM/yyyy hh:mm", CultureInfo.InvariantCulture), Text = x.Text, Rating = x.Rating.Value, }) .Skip((pageNumber - 1) * itemsToShow) .Take(itemsToShow) .ToListAsync(), }; return(viewModel); }
public ActionResult ScheduleReview() { List <SelectListItem> reviewerDepartments = new List <SelectListItem>(); ReviewDetailsViewModel reviewDetailsViewModel = new ReviewDetailsViewModel(); List <Departments> states = departmentBL.GetDepartments(); states.ForEach(x => { reviewerDepartments.Add(new SelectListItem { Text = x.DepartmentName, Value = x.DepartmentId.ToString() }); }); reviewDetailsViewModel.Departments = reviewerDepartments; return(View(reviewDetailsViewModel)); }
public ActionResult Details(int id) { var review = _context.Reviews.SingleOrDefault(c => c.Id == id); if (review == null) { return(HttpNotFound()); } var viewModel = new ReviewDetailsViewModel { WrittenBy = review.GetUser().UserName, Comment = review.Comment, Rating = review.Rating, DateWritten = review.DateWritten, }; return(View(viewModel)); }
public async Task <IActionResult> RejectReviewing(ReviewDetailsViewModel model) { var user = await _userManager.GetUserAsync(HttpContext.User); var result = _reviewRepository.RemoveReview(model.Id); if (result == 1) { var version = _paperVersionRepository.GetPaperVersion(model.PaperVersionId); if (version.Reviews.Count() == 0) { _paperVersionRepository.SetStatusDocumentRecieved(model.PaperVersionId); } StatusMessage = "Critic canceled."; return(RedirectToAction(nameof(Index))); } StatusMessage = "Error. Something went wrong."; return(RedirectToAction(nameof(Index))); }
public IActionResult CancelCritic(ReviewDetailsViewModel model) { if (!User.IsInRole("Admin")) { return(RedirectToAction("Index", "Home")); } var result = _reviewRepository.RemoveReview(model.Id); if (result == 1) { var version = _paperVersionRepository.GetPaperVersion(model.PaperVersionId); if (version.Reviews.Count() == 0) { _paperVersionRepository.SetStatusDocumentRecieved(model.PaperVersionId); } StatusMessage = "Critic canceled."; return(RedirectToAction(nameof(Index))); } StatusMessage = "Error. Something went wrong."; return(RedirectToAction(nameof(Index))); }
public IActionResult Details(int id) { if (id == 0) { return(NotFound()); } Review review = reviewService.GetByID(id); if (review == null) { return(NotFound()); } ReviewDetailsViewModel viewModel = new ReviewDetailsViewModel() { Review = review, ReviewComments = review.ReviewComments }; return(View(viewModel)); }
public ReviewDetailsViewModel GetReviewDetails(string currentUserId, int?id) { var customer = this.Context.Customers.FirstOrDefault(c => c.UserId == currentUserId); var review = this.Context.Reviews.Find(id); ReviewDetailsViewModel rdvm = Mapper.Instance.Map <ReviewDetailsViewModel>(review); rdvm.ContentParagraphs = review.Content.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); if (customer != null) { rdvm.VisitorIsAlsoReviewPublisher = currentUserId == review.Reviewer.UserId; rdvm.IsVisitorAllowedToPostComments = customer.Warnings <= 3; } else { rdvm.IsVisitorAllowedToPostComments = true; } if (review.Reviewer.User.ProfilePictureFileName != null) { rdvm.ReviewerImageData = this.GetUserProfilePicture(review.Reviewer.User.ProfilePictureFileName, review.Reviewer.User.UserName); } rdvm.ReviewComments = Mapper.Instance.Map <IEnumerable <ReviewCommentViewModel> >(review.Comments); return(rdvm); }
public ActionResult Edit(int id) { try { var loggedInUser = new PatUser(Request.LogonUserIdentity); var projectId = AppHelper.GetSessionProjectId(Session); if (projectId == 0) { return(RedirectToProjectsList()); } var project = PatService.GetProject(projectId); ViewBag.IsProjectContractMonitoringOrContractSiteVisit = project != null && project.IsContractMonitoringOrContractSiteVisit(); ViewBag.CanEditCheckList = project != null && project.CanEditCheckList(User.Identity.Name.RemoveDomain()); var questionnaire = PatService.GetReviewQuestionnaire(id); ViewBag.AnyQuestionsAndAnswers = questionnaire != null; var review = PatService.GetReview(id); if (project != null && review.CanEdit(loggedInUser, project.ResourcesSetShort())) { var upload = PatService.GetUploadById(review.UploadId); var vm = new ReviewDetailsViewModel { ProjectId = project.ProjectId, ProjectName = project.ProjectName, UploadName = upload.Name, OutOfScope = upload.IsOutOfScope(), OutOfScopeFlag = !upload.InScope, Additional = upload.AdditionalOrNot(), AdditionalFlag = upload.AdditionalReview, Review = review, CanDelete = review.CanDelete(loggedInUser), CanEdit = true, ChangesMade = "N" }; ViewData["review-details"] = GenerateReviewDetails(review); ViewData["related-data"] = GenerateRelatedData(review.ClaimId, review.ClaimSequenceNumber); vm.OldAssessmentOutcome = vm.Review.AssessmentCode; vm.OldRecoveryReason = vm.Review.RecoveryReason; vm.OldOutcomeCode = vm.Review.OutcomeCode; vm.OldAssessmentAction = vm.Review.AssessmentAction; vm.DeleteMessage = "Are you sure you want to delete this review?"; if (vm.Review.Status().Equals("Completed")) { vm.DeleteMessage = "Are you sure you want to delete this review? as it has outcomes recorded."; } // keep the existing (`not current`) adw code displayed ViewBag.OldAssessmentOutcomeList = PatService.GetAdwCode(DataConstants.AdwListCodeForAssessmentCodes, vm.OldAssessmentOutcome, true); ViewBag.OldRecoveryReasonList = PatService.GetAdwCode(DataConstants.AdwListCodeForRecoveryReasonCodes, vm.OldRecoveryReason, true); ViewBag.OldAssessmentActionList = PatService.GetAdwCode(DataConstants.AdwListCodeForAssessmentActionCodes, vm.OldAssessmentAction, true); ViewBag.OldFinalOutcomeList = PatService.GetAdwCode(DataConstants.AdwListCodeForOutcomeCodes, vm.OldOutcomeCode, true); return(View(vm)); } TempData[CommonConstants.FlashMessageTypeWarning] = "You must be part of the Project resource groups to edit its' reviews."; return(RedirectToProjectDetailsPageTab(projectId, CommonConstants.ProjectTab_Details)); } catch (Exception ex) { ErrorLog.GetDefault(null).Log(new Error(ex)); return(View("Error", new HandleErrorInfo(ex, "Review", "Edit"))); } }
public static void SetSessionBulkReviewOutcomes(HttpSessionStateBase session, ReviewDetailsViewModel vm) { session[CommonConstants.SessionBulkOutcomes] = vm; }
public ActionResult Edit(string button, ReviewDetailsViewModel vm) { try { var loggedInUser = new PatUser(Request.LogonUserIdentity); if (button == "delete" || button == null) { PatService.DeleteReview(vm.Review, loggedInUser.LoginName); TempData[CommonConstants.FlashMessageTypeInfo] = string.Format("Review {0} deleted", vm.Review.ReviewId); return(RedirectToAction("Details", "Upload", new { id = vm.Review.UploadId })); } if (ModelState.IsValid) { if (vm.Review.AssessmentCode == DataConstants.AssessmentValid || vm.Review.AssessmentCode == DataConstants.AssessmentValidwithQualification) { vm.Review.OutcomeCode = DataConstants.FinalOutcomeValid_NFA; } if (vm.Review.AssessmentCode != vm.OldAssessmentOutcome) { vm.Review.AssessmentDate = DateTime.Now; } if (vm.Review.RecoveryReason != vm.OldRecoveryReason) { vm.Review.RecoveryReasonDate = DateTime.Now; } if (vm.Review.OutcomeCode != vm.OldOutcomeCode) { vm.Review.FinalOutcomeDate = DateTime.Now; } if (vm.Review.AssessmentAction != vm.OldAssessmentAction) { vm.Review.AssessmentActionDate = DateTime.Now; } // save the update vm.Review.UpdatedBy = loggedInUser.LoginName; PatService.UpdateReview(vm.Review); TempData[CommonConstants.FlashMessageTypeInfo] = string.Format("Review {0} successfully updated", vm.Review.ReviewId); return(RedirectToAction("Details", "Upload", new { id = vm.Review.UploadId })); } var projectId = AppHelper.GetSessionProjectId(Session); if (projectId == 0) { return(RedirectToProjectsList()); } var project = PatService.GetProject(projectId); ViewBag.IsProjectContractMonitoringOrContractSiteVisit = project != null && project.IsContractMonitoringOrContractSiteVisit(); ViewBag.CanEditCheckList = project != null && project.CanEditCheckList(User.Identity.Name.RemoveDomain()); var questionnaire = PatService.GetReviewQuestionnaire(vm.Review.ReviewId); ViewBag.AnyQuestionsAndAnswers = questionnaire != null; // get the View Data back ViewData["review-details"] = AppHelper.GetSessionReviewDetails(Session); ViewData["related-data"] = AppHelper.GetSessionRelatedData(Session); return(View(vm)); } catch (Exception ex) { ErrorLog.GetDefault(null).Log(new Error(ex)); return(View("Error", new HandleErrorInfo(ex, "Review", "Edit"))); } }
/// <summary> /// Gets the details view model. /// </summary> /// <param name="id">The identifier.</param> /// <returns>The view model.</returns> private ReviewDetailsViewModel GetDetailsViewModel(int id) { // Get the application data var providerApplication = new ProviderApplicationDTO(); providerApplication.ProviderApplicationId = id; providerApplication = _providerApplicationService.ReadProviderApplication(providerApplication); var bo = new ProviderApplicationBO(providerApplication); bo.CheckAccess(this.User); // Get form data var formDataCriteria = new FormDataQueryDTO(); formDataCriteria.FormDataId = providerApplication.FormDataId.Value; var formData = _formDataService.ReadFormDataDetails(formDataCriteria); var serializer = new JavaScriptSerializer(); var formViewModel = serializer.Deserialize <FormViewModel>(serializer.Serialize(formData)); // Get profile data var profile = new ProviderProfileDTO(); profile.ProviderProfileId = providerApplication.ProviderProfileId; profile = this._providerService.SearchProviderProfiles(profile).FirstOrDefault(); // Get the provider profile extra data var profileExtra = new ProviderProfileExtraDTO(); profileExtra.ProviderProfileId = providerApplication.ProviderProfileId; profileExtra = this._providerProfileExtraService.ReadProviderProfileExtra(profileExtra); // get comments var commentCriteria = new CommentDTO(); commentCriteria.LinkId = id; commentCriteria.LinkTypeId = (int)LinkType.ProviderApplication; var comments = _commentService.ReadCommentList(commentCriteria); // Build our return model var applicationViewModel = new ApplicationViewModel(); applicationViewModel.ProgramYearId = providerApplication.ProgramYearId.Value; // Get the provider profile contact information var contactInformation = this._providerService.ReadProviderContactInfo(profile); applicationViewModel.ProfileViewModel.ProviderContactName = contactInformation.ContactName; applicationViewModel.ProfileViewModel.ProviderContactPhone = contactInformation.ContactPhone; applicationViewModel.ProfileViewModel.ProviderContactEmail = contactInformation.ContactEmail; applicationViewModel.AcknowledgementViewModel = new AcknowledgementViewModel(); applicationViewModel.AcknowledgementViewModel.ContactName = providerApplication.ContactName; applicationViewModel.AcknowledgementViewModel.ContactEmail = providerApplication.ContactEmail; applicationViewModel.AcknowledgementViewModel.ContactTitle = providerApplication.ContactTitle; applicationViewModel.FormViewModel = formViewModel; applicationViewModel.InstructorViewModel = new InstructorViewModel { Instructors = this._classroomInstructorService.SearchInstructors(new InstructorDTO { ProviderProfileId = profile.ProviderProfileId }) }; applicationViewModel.ClassroomViewModel = new ClassroomViewModel { Classrooms = this._classroomInstructorService.SearchClassrooms(new ClassroomDTO { ProviderProfileId = profile.ProviderProfileId }) }; applicationViewModel.ClassroomInstructorsViewModel = new ClassroomInstructorsViewModel { ClassroomInstructors = new List <ClassroomInstructorDTO>() }; // Get associations and flatten our the relationship foreach (var instructor in applicationViewModel.InstructorViewModel.Instructors) { var classroomInstructors = this._classroomInstructorService.ListForInstructor(new ClassroomInstructorDTO { Instructor = instructor, ProviderProfileId = instructor.ProviderProfileId }); foreach (var cassroomInstructor in classroomInstructors) { var assignment = new ClassroomInstructorDTO { Instructor = instructor, Classroom = cassroomInstructor.Classroom, LeadInstructor = cassroomInstructor.LeadInstructor }; if (assignment != null) { applicationViewModel.ClassroomInstructorsViewModel.ClassroomInstructors.Add(assignment); } } } var model = new ReviewDetailsViewModel(); var statusModel = new ReviewStatusModel(this.Role, providerApplication); model.ProviderID = providerApplication.ProviderId.ToString(); model.ProviderApplicationId = providerApplication.ProviderApplicationId.Value; if (comments != null) { model.CommentList = comments.ToList(); } if (providerApplication.SubmissionStatus == ApplicationSubmissionStatus.AccessDenied && !string.IsNullOrEmpty(providerApplication.ScreeningData)) { model.Screening = DOE.OELPFP.Common.Serialization.JsonSerializer.DeserializeFromString <ProviderApplicationScreeningDTO>( providerApplication.ScreeningData); } model.PovertyTract = (bool)profile.IsPovertyTract ? "Yes" : "No"; model.SubmissionStatus = providerApplication.SubmissionStatus.GetValueOrDefault(); model.SubmissionStatusDate = providerApplication.SubmissionStatusDate; model.FormattedSubmissionStatus = statusModel.FormattedSubmissionStatus; if (providerApplication.SubmissionStatus == ApplicationSubmissionStatus.Completed && providerApplication.ReviewStatus.HasValue) { model.ReviewStatus = providerApplication.ReviewStatus.Value; model.ReviewStatusDate = providerApplication.ReviewStatusDate; model.FormattedReviewStatus = statusModel.FormattedReviewStatus; } model.Application = applicationViewModel; if (profile != null) { model.ELCCoalitionId = profile.ELCCoalitionId.Value; model.ELCCoalitionName = profile.ELCCoalitionName; applicationViewModel.AcknowledgementViewModel.ProviderName = profile.ProviderName; if (profile.EligibilityOverrideDate.HasValue) { model.Screening = DOE.OELPFP.Common.Serialization.JsonSerializer.DeserializeFromString <ProviderApplicationScreeningDTO>( providerApplication.ScreeningData); model.EligibilityOverrideDate = profile.EligibilityOverrideDate; model.EligibilityOverrideUser = profile.EligibilityOverrideUser; } model.SelectedProgramYearId = Convert.ToInt32(profile.ProgramYearId); } // Load the extra fields if (profileExtra != null) { applicationViewModel.ProfileViewModel.IsGoldSeal = (bool)profileExtra.IsGoldSeal; applicationViewModel.ProfileViewModel.AccreditingAssociation = profileExtra.AccreditingAssociation; applicationViewModel.ProfileViewModel.OtherAccreditingAssociation = profileExtra.OtherAccreditingAssociation; applicationViewModel.ProfileViewModel.IsLicenseExempt = profileExtra.LicenseExempt; applicationViewModel.ProfileViewModel.ChildAssessmentSystem = profileExtra.ChildAssessmentSystem; applicationViewModel.ProfileViewModel.IsInQRIS = profileExtra.IsInQRIS; } if ((User.IsInRole(BusinessRole.OELReviewer) || User.IsInRole(BusinessRole.Administrator)) && Session["ApplicationSearch:iELCCoalitionId"] != null) { model.SelectedCoalitionId = Convert.ToInt32(Session["ApplicationSearch:iELCCoalitionId"]); } else { model.SelectedCoalitionId = model.ELCCoalitionId; } // Get all of the previous applications for the provider var previousApplications = _providerApplicationService.ListPreviousProviderApplications(new ProviderApplicationDTO { ProviderId = profile.ProviderId, ProgramYearId = profile.ProgramYearId }); foreach (var prevApp in previousApplications) { model.PreviousApplications.Add(new PreviousApplicationReviewDetailViewModel { ProgramYearDesc = prevApp.ProgramYearDesc, HasApplication = prevApp.ProviderApplicationId.HasValue, AppReviewStatus = prevApp.ReviewStatus }); } //determine if application selection window is open var processControlService = new ProcessControlService(); var applicationReviewQuery = new AvailableBusinessProcessQueryDTO(); applicationReviewQuery.Roles = new[] { BusinessRole.Coalition }; applicationReviewQuery.BusinessProcessType = BusinessProcessType.Review; var applicationReviewControls = processControlService.SearchAvailableBusinessProcesses(applicationReviewQuery) .Where(x => x.ProviderApplicationTypeId == this.ProviderApplicationTypeId) .OrderByDescending(x => x.AvailableStart) .ToList(); var applicationReviewControl = applicationReviewControls.FirstOrDefault( x => x.AvailableStart <= DateTime.Now && (x.AvailableEnd == null || x.AvailableEnd > DateTime.Now)); if (applicationReviewControl == null) { model.IsApplicationSelectionWindowOpen = false; } else { model.IsApplicationSelectionWindowOpen = true; } //determine if application submission window is open var applicationSubmitQuery = new AvailableBusinessProcessQueryDTO(); applicationSubmitQuery.Roles = new[] { BusinessRole.Provider }; applicationSubmitQuery.BusinessProcessType = BusinessProcessType.Create; var applicationSubmitControls = processControlService.SearchAvailableBusinessProcesses(applicationSubmitQuery) .OrderByDescending(x => x.AvailableStart) .ToList(); var applicationSubmitControl = applicationSubmitControls.FirstOrDefault( x => x.AvailableStart <= DateTime.Now && (x.AvailableEnd == null || x.AvailableEnd > DateTime.Now)); if (!(applicationSubmitControl == null) && profile.IsCurrentProgramYear) { model.IsApplicationSubmissionWindowOpen = true; } else { model.IsApplicationSubmissionWindowOpen = false; } return(model); }