public void Export(int id) { Request request = this.requestTasks.Get(id); string sortByRankStr = Request.QueryString.Get("sortByRank"); if (request != null) { AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); if (user != null) { byte[] pdf = this.pdfExportService.GetExport(request, user.GetScreeningEntity(), Convert.ToBoolean(sortByRankStr)); if (pdf != null) { string fileName = user.GetScreeningEntity() != null ? request.ReferenceNumber + " response from " + user.GetScreeningEntity().ToString() + ".pdf" : request.ReferenceNumber + ".pdf"; Response.ContentType = "application/pdf"; Response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); Response.OutputStream.Write(pdf, 0, pdf.Length); } else { Response.StatusCode = (int)HttpStatusCode.InternalServerError; Response.StatusDescription = "Problem creating PDF."; } } } else { Response.StatusCode = (int)HttpStatusCode.NotFound; Response.StatusDescription = "That request doesn't exist."; } }
public ActionResult Respond(RespondViewModel vm) { if (ModelState.IsValid) { AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); // update responses foreach (ScreeningRequestPersonEntityViewModel rvm in vm.Responses.Values) { ScreeningRequestPersonEntity srpe; if (rvm.Id > 0) { srpe = this.screeningTasks.GetScreeningRequestPersonEntity(rvm.Id); } else { srpe = new ScreeningRequestPersonEntity(); srpe.ScreeningEntity = user.GetScreeningEntity(); } if (srpe.Version > rvm.Version) { ModelState.AddModelError("somekey", "Data has changed since you loaded this page. Please reload before saving again. Try pressing the back button to recover your edits."); return(Respond(vm)); } srpe.Reason = rvm.Reason; srpe.Commentary = rvm.Commentary; srpe.Version = rvm.Version; srpe.RequestPerson = this.requestPersonTasks.GetRequestPerson(rvm.RequestPersonID); srpe.ScreeningResult = this.screeningTasks.GetScreeningResult(rvm.ScreeningResultID); this.screeningTasks.SaveOrUpdateScreeningRequestPersonEntity(srpe, User.Identity.Name, ScreeningStatus.UPDATED); } if (vm.SubmitResponse) { ViewBag.SuccessMessage = "Screening request response complete."; // save ScreeningRequestEntityResponse Request request = this.requestTasks.Get(vm.Id); this.screeningTasks.SetEntityResponse(request, user.GetScreeningEntity()); // update request history with new status string newStatus = this.screeningTasks.HasAllResponses(request) ? RequestStatus.NAME_SENT_FOR_CONSOLIDATION : RequestStatus.NAME_SCREENING_IN_PROGRESS; this.requestTasks.SaveRequestHistory(vm.Id, this.requestTasks.GetRequestStatus(newStatus).Id, User.Identity.Name); // send email notification this.emailTasks.SendRespondedToEmail(User.Identity.Name, vm.Id); return(RedirectToAction("Index")); } else { // need to start a new transaction in order to refresh srpe.Versions return(RedirectToAction("Respond", new { id = vm.Id })); } } return(Respond(vm.Id)); }
public ActionResult ScreeningResponseSearch(SearchViewModel vm) { if (ModelState.IsValid) { AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); if (user != null) { ScreeningEntity entity = user.GetScreeningEntity(); if (entity != null) { IList <LuceneSearchResult> results = this.luceneTasks.ScreeningResponseSearch(vm.Term, entity.ScreeningEntityName, 50); ViewData["results"] = results; return(View(vm)); } else { ModelState.AddModelError("ScreeningEntity", "User is not a member of any screening entity."); } } else { ModelState.AddModelError("User", "User does not exist."); } } return(ScreeningResponseSearch()); }
public void SendRespondedToEmail(string username, int requestId) { Request request = this.requestTasks.Get(requestId); AdminUser user = this.userTasks.GetAdminUser(username); if (request != null && user != null) { ScreeningEntity screeningEntity = user.GetScreeningEntity(); string subject = "Notification - Response to Screening Request"; string body = "This is an automated notification. " + screeningEntity + " has responded to screening request: " + "<a href='" + APPLICATION_URL + "Screening/Consolidate/Request/" + request.Id.ToString() + "'>" + request.Headline + "</a>.<br />"; //foreach (RequestPerson rp in request.Persons.Where(x => !x.Archive)) //{ // body += "\n"; // body += "Name: " + rp.Person.Name + "\n"; // ScreeningRequestPersonEntity srpe = rp.GetScreeningRequestPersonEntity(screeningEntity.ScreeningEntityName); // if (srpe != null) // body += "Color: " + srpe.ScreeningResult + "\n"; //} this.SendMailMessage(this.userTasks.GetUsersWithRole(AdminRole.ScreeningRequestConsolidator), this.userTasks.GetAdminUser(username), subject, body, true); } }
public ActionResult Browse(string code) { AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); ScreeningEntity screeningEntity = user.GetScreeningEntity(); if (!string.IsNullOrEmpty(code)) { ViewBag.Code = code; return(View()); } return(new HttpNotFoundResult()); }
// The following is a list of all screening responses submitted by JHRO to the ODSRSG as of 7/17/2013 5:05:03 PM. public ActionResult All() { AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); ScreeningEntity se = user.GetScreeningEntity(); if (se == null) { return(new HttpNotFoundResult()); } ViewBag.ScreeningEntity = se; return(View((from srpe in this.screeningTasks.GetScreeningResponsesByEntity(se.ScreeningEntityName) select new ScreeningRequestPersonEntityDataTableView(srpe)).ToList())); }
protected string GetUserScreeningEntityName() { AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); if (user != null) { ScreeningEntity entity = user.GetScreeningEntity(); if (entity != null) { return(entity.ScreeningEntityName); } } return(null); }
public JsonNetResult RespondSingle(ScreeningRequestPersonEntityViewModel vm) { if (ModelState.IsValid) { AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); ScreeningRequestPersonEntity srpe; if (vm.Id > 0) { srpe = this.screeningTasks.GetScreeningRequestPersonEntity(vm.Id); } else { srpe = new ScreeningRequestPersonEntity(); srpe.ScreeningEntity = user.GetScreeningEntity(); } if (srpe.Version > vm.Version) { Response.StatusCode = (int)HttpStatusCode.Forbidden; string name = srpe.RequestPerson != null && srpe.RequestPerson.Person != null ? "for <strong>" + srpe.RequestPerson.Person.Name : string.Empty; ModelState.AddModelError("Version", "Response " + name + " has changed since you loaded this page. Try reloading before saving again."); return(JsonNet(this.GetErrorsForJson())); } srpe.Reason = vm.Reason; srpe.Commentary = vm.Commentary; srpe.Version = vm.Version; srpe.RequestPerson = this.requestPersonTasks.GetRequestPerson(vm.RequestPersonID); srpe.ScreeningResult = this.screeningTasks.GetScreeningResult(vm.ScreeningResultID); this.screeningTasks.SaveOrUpdateScreeningRequestPersonEntity(srpe, User.Identity.Name, ScreeningStatus.UPDATED); // the page that calls this json action may need to initiate a reload, in order for the srpe.Version parameter to be up to date. return(JsonNet("Save successful.")); } Response.StatusCode = (int)HttpStatusCode.Forbidden; return(JsonNet(this.GetErrorsForJson())); }
public void ExportNominated() { IList <RequestPerson> rps = this.requestPersonTasks.GetNominatedRequestPersons(); AdminUser user = this.userTasks.GetAdminUser(User.Identity.Name); if (rps != null && user != null) { ExcelCasesForDiscussion excel = new ExcelCasesForDiscussion(rps, this.screeningTasks.GetScreeningEntities().ToList(), user.GetScreeningEntity().ScreeningEntityName); if (excel != null) { string fileName = DateTime.Now.ToString("yyyyMMdd", CultureInfo.InvariantCulture) + "_" + "CondMeetingExport.xls"; Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); Response.OutputStream.Write(excel.PdfBytes, 0, excel.PdfBytes.Length); } else { Response.StatusCode = (int)HttpStatusCode.InternalServerError; Response.StatusDescription = "Problem creating spreadsheet."; } } else { Response.StatusCode = (int)HttpStatusCode.NotFound; Response.StatusDescription = "There are no nominated persons."; } }