// GET: Listing of registered unchurched children. public async Task <IActionResult> UnchurchedReport() { var applicationDbContext = _context.Children .Where(c => c.VBSId == this.CurrentVBSId && c.VBS.TenantId == this.TenantId) .OrderBy(c => c.GuardianLastName) .ThenBy(c => c.Address1) .ThenBy(c => c.GradeCompleted); List <Child> dbChildren = await applicationDbContext.ToListAsync(); List <UnchurchedReportViewModel2> vms = new List <UnchurchedReportViewModel2>(); Dictionary <string, UnchurchedReportViewModel2> vmDictionary = new Dictionary <string, UnchurchedReportViewModel2>(); foreach (Child dbChild in dbChildren) { string church = dbChild.HomeChurch; if (!dbChild.AttendHostChurch && ChurchHelper.IsNoneChurch(church)) { if (!vmDictionary.ContainsKey(dbChild.GuardianFirstName + " " + dbChild.GuardianLastName)) { UnchurchedReportViewModel2 vm = new UnchurchedReportViewModel2(); vm.ChildrenNamesAndGrades = dbChild.FirstName + " " + dbChild.LastName + "(" + dbChild.GradeCompleted + ")"; vm.Address = dbChild.Address1 + ", "; if (!string.IsNullOrEmpty(dbChild.Address2)) { vm.Address += dbChild.Address2 + ", "; } vm.Address += dbChild.City + ", "; vm.Address += dbChild.State + ", "; vm.Address += dbChild.Zip; vm.GuardianName = dbChild.GuardianFirstName + " " + dbChild.GuardianLastName; vm.GuardianRelationship = dbChild.GuardianChildRelationship; vm.GuardianEmail = dbChild.GuardianEmail; vm.GuardianPhone = dbChild.GuardianPhone; vm.ChurchSpecified = dbChild.HomeChurch; vm.InvitedBy = dbChild.InvitedBy; vmDictionary.Add(vm.GuardianName, vm); } else { UnchurchedReportViewModel2 vm = vmDictionary[dbChild.GuardianFirstName + " " + dbChild.GuardianLastName]; vm.ChildrenNamesAndGrades += ", " + dbChild.FirstName + " " + dbChild.LastName + "(" + dbChild.GradeCompleted + ")"; } } } foreach (UnchurchedReportViewModel2 vm2 in vmDictionary.Values) { vms.Add(vm2); } return(View(vms)); }
// GET: Listing of registered unchurched children. public async Task <IActionResult> UnchurchedReportOld() { var applicationDbContext = _context.Children .Where(c => c.VBSId == this.CurrentVBSId && c.VBS.TenantId == this.TenantId) .OrderBy(c => c.GuardianLastName) .ThenBy(c => c.Address1) .ThenBy(c => c.GradeCompleted); List <Child> dbChildren = await applicationDbContext.ToListAsync(); List <UnchurchedReportViewModel> vms = new List <UnchurchedReportViewModel>(); foreach (Child dbChild in dbChildren) { string church = dbChild.HomeChurch; if (!dbChild.AttendHostChurch && ChurchHelper.IsNoneChurch(church)) { UnchurchedReportViewModel vm = new UnchurchedReportViewModel(); vm.ChildName = dbChild.LastName + ", " + dbChild.FirstName; vm.GradeCompleted = dbChild.GradeCompleted; vm.Address = dbChild.Address1 + ", "; if (!string.IsNullOrEmpty(dbChild.Address2)) { vm.Address += dbChild.Address2 + ", "; } vm.Address += dbChild.City + ", "; vm.Address += dbChild.State + ", "; vm.Address += dbChild.Zip; vm.GuardianName = dbChild.GuardianFirstName + " " + dbChild.GuardianLastName; vm.GuardianRelationship = dbChild.GuardianChildRelationship; vm.GuardianEmail = dbChild.GuardianEmail; vm.GuardianPhone = dbChild.GuardianPhone; vm.ChurchSpecified = dbChild.HomeChurch; vm.InvitedBy = dbChild.InvitedBy; vms.Add(vm); } } return(View(vms)); }
// GET: Listing of represented churches public async Task <IActionResult> RepresentedChurches() { var applicationDbContext = _context.Children .Where(c => c.VBSId == this.CurrentVBSId && c.VBS.TenantId == this.TenantId) .OrderBy(c => c.HomeChurch); List <Child> dbChildren = await applicationDbContext.ToListAsync(); RepresentedChurchesViewModel vm = new RepresentedChurchesViewModel(); vm.Churches = new Dictionary <string, int>(); foreach (Child dbChild in dbChildren) { string church = dbChild.HomeChurch; if (ChurchHelper.IsNoneChurch(church)) { church = "None"; } if (dbChild.AttendHostChurch) { church = "Northwest Bible Church"; } if (vm.Churches.ContainsKey(church.Trim())) { vm.Churches[church.Trim()] = vm.Churches[church.Trim()] + 1; } else { vm.Churches.Add(church.Trim(), 1); } } return(View(vm)); }
// GET: Map of registered children public async Task <IActionResult> ChildrenMap() { var applicationDbContext = _context.Children .Where(c => c.VBSId == this.CurrentVBSId && c.VBS.TenantId == this.TenantId); List <Child> dbChildren = await applicationDbContext.ToListAsync(); Dictionary <string, string> addressList = new Dictionary <string, string>(); string markers = "["; foreach (Child child in dbChildren) { string childAddress = GeocodeHelper.GetFullAddress(child); if (string.IsNullOrWhiteSpace(child.Latitude) || string.IsNullOrWhiteSpace(child.Longitude)) { var response = await GeocodeHelper.GetGeoCode(childAddress); if (response != null) { child.Latitude = response.Lat; child.Longitude = response.Long; _context.Update(child); await _context.SaveChangesAsync(); } } if (!addressList.ContainsKey(childAddress)) { addressList.Add(childAddress, child.LastName); string homeChurch; if (child.AttendHostChurch) { homeChurch = "home"; } else { if (ChurchHelper.IsNoneChurch(child.HomeChurch)) { homeChurch = "none"; } else { homeChurch = "other"; } } markers += "{"; markers += string.Format("'title': '{0}',", System.Net.WebUtility.HtmlEncode(child.LastName)); markers += string.Format("'lat': '{0}',", child.Latitude); markers += string.Format("'lng': '{0}',", child.Longitude); markers += string.Format("'description': '{0}',", System.Net.WebUtility.HtmlEncode(childAddress)); markers += string.Format("'homeChurch': '{0}'", homeChurch); markers += "},"; } } markers += "];"; ViewBag.Markers = markers; ChildrenMapViewModel vm = new ChildrenMapViewModel(); vm.ChurchName = "Northwest Bible Church"; return(View(vm)); }