// GET: AdminDashboard/Delete/5 //public ActionResult Delete(int? id) //{ // if (id == null) // { // return new HttpStatusCodeResult(HttpStatusCode.BadRequest); // } // Volunteer volunteer = db.Volunteers.Find(id); // if (volunteer == null) // { // return HttpNotFound(); // } // return View(volunteer); //} // POST: AdminDashboard/Delete/5 // [HttpPost, ActionName("Delete")] // [ValidateAntiForgeryToken] // public ActionResult DeleteConfirmed(int id) // { // Volunteer volunteer = db.Volunteers.Find(id); // db.Volunteers.Remove(volunteer); // db.SaveChanges(); // return RedirectToAction("Index"); //} //*********************************************************************************************** public ActionResult Report(string searchString, string hiddenDateRange, int? specialtySearch, string active) { ViewBag.viewName = "index"; ViewBag.FullName = getUserName(); ViewBag.dateRange = hiddenDateRange; ViewBag.start = hiddenDateRange; ViewBag.allSelected = ""; ViewBag.trueSelected = ""; ViewBag.falseSelected = ""; string[] tokens = new string[] {" - "}; string[] dateRange; long begDateTicks = 0000000000; long endDateTicks = 0000000000; long tempTotal = 0000000000; var volHours = 0.0; var grandTotalHours = 0.0; List<HoursReportVol> HoursReportFullList = new List<HoursReportVol> { }; List<HoursReportVol> HoursReportFilteredList = new List<HoursReportVol> { }; HoursReportVol vol = new HoursReportVol(); var volunteers = db.Volunteers; var times = db.Worklog; var sorts = from v in volunteers select v; var specialties = db.Specialties.OrderBy(q => q.spcName).ToList(); ViewBag.specialtySearch = new SelectList(specialties, "spcID", "spcName", specialtySearch); int specialtyID = specialtySearch.GetValueOrDefault(); //parse date range, convert to ticks if (hiddenDateRange != null && hiddenDateRange != "") { dateRange = hiddenDateRange.Split(tokens, StringSplitOptions.None); ViewBag.startDate = dateRange[0]; ViewBag.endDate = dateRange[1]; begDateTicks = Convert.ToDateTime(dateRange[0]).Ticks; endDateTicks = Convert.ToDateTime(dateRange[1]).AddHours(23).AddMinutes(59).AddSeconds(59).Ticks; // up to last second of selected day } else if (hiddenDateRange == "") { return View(HoursReportFilteredList); } //filtering by first name, last name if (!String.IsNullOrEmpty(searchString)) { sorts = sorts.Where(s => s.volLastName.Contains(searchString) || s.volFirstName.Contains(searchString)); } if (specialtySearch.HasValue) { sorts = sorts.Where(s => s.spcID == specialtyID); } if (active != null) { switch (active) { case "0": ViewBag.falseSelected = "selected"; sorts = sorts.Where(s => s.volActive == false); break; case "1": ViewBag.trueSelected = "selected"; sorts = sorts.Where(s => s.volActive == true); break; case "2": ViewBag.allSelected = "selected"; sorts = sorts.Where(s => s.volActive == true || s.volActive == false); break; } } //create new object for each vol in sorts including properties for hours and exposing volID; adds to list of new objects foreach (var item in sorts) { vol = new HoursReportVol(); vol.id = item.volID; vol.volunteer = item; HoursReportFullList.Add(vol); } foreach (var item in HoursReportFullList) { foreach (var log in times.ToList()) { if (log.volID == item.id && log.wrkEndTime.HasValue) { var beg = log.wrkStartTime.Ticks; var end = log.wrkEndTime.Value.Ticks; if (beg >= begDateTicks && end <= endDateTicks ) { tempTotal += (end - beg); } } } volHours = TimeSpan.FromTicks(tempTotal).TotalHours; grandTotalHours += volHours; if (volHours == 0) { item.hours = 0; } else { item.hours = Math.Round(volHours, 3); HoursReportFilteredList.Add(item); } tempTotal = 000000000; } ViewBag.grandTotalHours = Math.Round(grandTotalHours, 3); Session["HRFL"] = HoursReportFilteredList; return View(HoursReportFilteredList); }
// GET: AdminDashboard/Delete/5 //public ActionResult Delete(int? id) //{ // if (id == null) // { // return new HttpStatusCodeResult(HttpStatusCode.BadRequest); // } // Volunteer volunteer = db.Volunteers.Find(id); // if (volunteer == null) // { // return HttpNotFound(); // } // return View(volunteer); //} // POST: AdminDashboard/Delete/5 // [HttpPost, ActionName("Delete")] // [ValidateAntiForgeryToken] // public ActionResult DeleteConfirmed(int id) // { // Volunteer volunteer = db.Volunteers.Find(id); // db.Volunteers.Remove(volunteer); // db.SaveChanges(); // return RedirectToAction("Index"); //} //*********************************************************************************************** public ActionResult Report(string searchString, string hiddenDateRange, int?specialtySearch, string active) { ViewBag.viewName = "index"; ViewBag.FullName = getUserName(); ViewBag.dateRange = hiddenDateRange; ViewBag.start = hiddenDateRange; ViewBag.allSelected = ""; ViewBag.trueSelected = ""; ViewBag.falseSelected = ""; string[] tokens = new string[] { " - " }; string[] dateRange; long begDateTicks = 0000000000; long endDateTicks = 0000000000; long tempTotal = 0000000000; var volHours = 0.0; var grandTotalHours = 0.0; List <HoursReportVol> HoursReportFullList = new List <HoursReportVol> { }; List <HoursReportVol> HoursReportFilteredList = new List <HoursReportVol> { }; HoursReportVol vol = new HoursReportVol(); var volunteers = db.Volunteers; var times = db.Worklog; var sorts = from v in volunteers select v; var specialties = db.Specialties.OrderBy(q => q.spcName).ToList(); ViewBag.specialtySearch = new SelectList(specialties, "spcID", "spcName", specialtySearch); int specialtyID = specialtySearch.GetValueOrDefault(); //parse date range, convert to ticks if (hiddenDateRange != null && hiddenDateRange != "") { dateRange = hiddenDateRange.Split(tokens, StringSplitOptions.None); ViewBag.startDate = dateRange[0]; ViewBag.endDate = dateRange[1]; begDateTicks = Convert.ToDateTime(dateRange[0]).Ticks; endDateTicks = Convert.ToDateTime(dateRange[1]).AddHours(23).AddMinutes(59).AddSeconds(59).Ticks; // up to last second of selected day } else if (hiddenDateRange == "") { return(View(HoursReportFilteredList)); } //filtering by first name, last name if (!String.IsNullOrEmpty(searchString)) { sorts = sorts.Where(s => s.volLastName.Contains(searchString) || s.volFirstName.Contains(searchString)); } if (specialtySearch.HasValue) { sorts = sorts.Where(s => s.spcID == specialtyID); } if (active != null) { switch (active) { case "0": ViewBag.falseSelected = "selected"; sorts = sorts.Where(s => s.volActive == false); break; case "1": ViewBag.trueSelected = "selected"; sorts = sorts.Where(s => s.volActive == true); break; case "2": ViewBag.allSelected = "selected"; sorts = sorts.Where(s => s.volActive == true || s.volActive == false); break; } } //create new object for each vol in sorts including properties for hours and exposing volID; adds to list of new objects foreach (var item in sorts) { vol = new HoursReportVol(); vol.id = item.volID; vol.volunteer = item; HoursReportFullList.Add(vol); } foreach (var item in HoursReportFullList) { foreach (var log in times.ToList()) { if (log.volID == item.id && log.wrkEndTime.HasValue) { var beg = log.wrkStartTime.Ticks; var end = log.wrkEndTime.Value.Ticks; if (beg >= begDateTicks && end <= endDateTicks) { tempTotal += (end - beg); } } } volHours = TimeSpan.FromTicks(tempTotal).TotalHours; grandTotalHours += volHours; if (volHours == 0) { item.hours = 0; } else { item.hours = Math.Round(volHours, 3); HoursReportFilteredList.Add(item); } tempTotal = 000000000; } ViewBag.grandTotalHours = Math.Round(grandTotalHours, 3); Session["HRFL"] = HoursReportFilteredList; return(View(HoursReportFilteredList)); }