public ActionResult Index() { //Default int maxRowsToShow = new ViewModels.vmFilterCertificates().RecordCount; ViewBag.FilterCertificates = new ViewModels.vmFilterCertificates(); return(View(db.Applications .OrderByDescending(e => e.AppID) .Where(e => ((e.ProcessApplication != null && !e.ProcessApplication.IsDeleted) || e.ProcessApplication == null)) .Take(maxRowsToShow) .ToList())); }
public ActionResult Index(ViewModels.vmFilterCertificates vmFilterCertificates) { //Start of region SetFilterParameters #region SetFilterParameters if (Request.Form["submit"] != null && Request.Form["submit"].Equals("Any date submitted")) { vmFilterCertificates.SubmittedDateStartSearch = null; vmFilterCertificates.SubmittedDateEndSearch = null; } if (Request.Form["submit"] != null && Request.Form["submit"].Equals("Submitted this week")) { vmFilterCertificates.SubmittedDateStartSearch = vmFilterCertificates.DefaultSubmittedDateStartSearch; vmFilterCertificates.SubmittedDateEndSearch = vmFilterCertificates.DefaultSubmittedDateEndSearch; vmFilterCertificates.EventDateStartSearch = null; vmFilterCertificates.EventDateEndSearch = null; } if (Request.Form["submit"] != null && Request.Form["submit"].Equals("Any event date")) { vmFilterCertificates.EventDateStartSearch = null; vmFilterCertificates.EventDateEndSearch = null; } //if (Request.Form["submit"] != null && Request.Form["submit"].Equals("Events next week")) //if (Request.Form["submit"] != null && Request.Form["submit"].Equals("Events next 7 days")) if (Request.Form["submit"] != null && Request.Form["submit"].Equals("Events this week")) { vmFilterCertificates.EventDateStartSearch = vmFilterCertificates.DefaultEventDateStartSearch; vmFilterCertificates.EventDateEndSearch = vmFilterCertificates.DefaultEventDateEndSearch; vmFilterCertificates.SubmittedDateStartSearch = null; vmFilterCertificates.SubmittedDateEndSearch = null; } if (Request.Form["submit"] != null && Request.Form["submit"].Equals("Events next week")) { vmFilterCertificates.EventDateStartSearch = vmFilterCertificates.DefaultEventDateStartSearch.AddDays(7); vmFilterCertificates.EventDateEndSearch = vmFilterCertificates.DefaultEventDateEndSearch.AddDays(7); vmFilterCertificates.SubmittedDateStartSearch = null; vmFilterCertificates.SubmittedDateEndSearch = null; } #endregion //End of region SetFilterParameters ModelState.Clear(); ViewBag.FilterCertificates = vmFilterCertificates; //These submits are displayed as hyperlinks if ((Request.Form["application_action"] != null) && ((Request.Form["application_action"].ToLower().Contains("payment")) || (Request.Form["application_action"].ToLower().Contains("cert")) || (Request.Form["application_action"].ToLower().Contains("reminder")) || (Request.Form["application_action"].ToLower().Contains("inspect")) || (Request.Form["application_action"].ToLower().Contains("approvenotification")) //Notification approval added Oct 2016 )) { string id = Request.Form["application_action"]; string strAppId = String.Empty; int appId = 0; for (int i = 0; i < id.Length; i++) { if (Char.IsDigit(id[i])) { strAppId = String.Concat(strAppId, id[i].ToString()); } } if (Int32.TryParse(strAppId, out appId)) { //See if there is an existing payment record Models.ProcessApplication processApplication = db.ProcessApplications.Where(e => e.Application.AppID == appId).FirstOrDefault(); if (processApplication == null) { processApplication = new Models.ProcessApplication() { Application = db.Applications.Where(e => e.AppID == appId).FirstOrDefault(), // InspectionRequired = "false" //TODO Make this nullable perhaps or not and maybe a boolean }; //Assign guid processApplication.GUID = db.Applications.Where(e => e.AppID == appId).FirstOrDefault().GUID; db.ProcessApplications.Add(processApplication); db.SaveChanges(); } if (id.ToLower().Contains("payment")) { //Add or remove if (id.ToLower().Contains("record")) { processApplication.PaymentRecieved = true; //Use the description field as string to accomodate additional //'not required' description. processApplication.PaymentReceivedDescription = "Yes"; db.SaveChanges(); } if (id.ToLower().Contains("remove")) { processApplication.PaymentRecieved = false; //Use the description field as string to accomodate additional //'not required' description. processApplication.PaymentReceivedDescription = "No"; db.SaveChanges(); } //New method added 28 May 2015 if (id.ToLower().Contains("not required")) { processApplication.PaymentRecieved = false; //Assume if payment not required, then not received. processApplication.PaymentReceivedDescription = "Not required."; db.SaveChanges(); } } else if (id.ToLower().Contains("cert")) { if (id.ToLower().Contains("record")) { processApplication.CertificateIssuedDate = DateTime.Now; db.SaveChanges(); } else if (id.ToLower().Contains("remove")) { processApplication.CertificateIssuedDate = null; db.SaveChanges(); } } else if (id.ToLower().Contains("reminder")) { if (id.ToLower().Contains("issue")) { processApplication.ReminderSent = DateTime.Now.Date; db.SaveChanges(); //Put information in viewbag so email can be sent. ViewBag.SendEmail = true; //put model in the viewbag so that the email partial view can use this. var applicationId = processApplication.Application.AppID.Value; ViewBag.ApplicationId = applicationId; } else if (id.ToLower().Contains("revoke")) { processApplication.ReminderSent = null; db.SaveChanges(); } } /*This is changed from boolean field requires inspection * to string field consisting of * Green Team, Red Team, Not Required. * Display one of the following: * 1. Green Team * 2. Red Team * 3. Not Required * 4. Default Display = Undecided and G, R, N as hyperlinks * 5. Items 1, 2 and 3 are hyperlinks that return to default. */ //else if (id.ToLower().Contains("inspect")) //{ // if (id.ToLower().Contains("will")) // { // processApplication.InspectionRequired = true; // db.SaveChanges(); // } // else if (id.ToLower().Contains("wont")) // { // processApplication.InspectionRequired = false; // db.SaveChanges(); // } //} else if (id.ToLower().Contains("inspect")) { /* * This can contain one of the following values: * Green, Red, NotRequired */ if (id.ToLower().Contains("notrequired")) { processApplication.InspectionRequired = "Not Required"; } else if (id.ToLower().Contains("green")) { processApplication.InspectionRequired = "Green Team"; } else if (id.ToLower().Contains("red")) { processApplication.InspectionRequired = "Red Team"; } else if (id.ToLower().Contains("undecided")) { processApplication.InspectionRequired = String.Empty; } db.SaveChanges(); } else if (id.ToLower().Contains("approve")) { //Put information in viewbag so email can be sent. ViewBag.SendEmailApproveNotification = true; var applicationId = processApplication.Application.AppID.Value; ViewBag.ApplicationId = applicationId; processApplication.NotificationApproved = true; processApplication.NotificationSentDate = DateTime.Now; db.SaveChanges(); } } } return(View(db.Applications .Where(e => e.SubmittedDate != null) .OrderByDescending(e => e.AppID) .ToList() .Where(e => Admin.Helpers.ApplicationFilter.FilterCertificates(e, vmFilterCertificates)) .Take(vmFilterCertificates.RecordCount) .ToList())); }