示例#1
0
        // 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));
        }
示例#2
0
        // 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));
        }
示例#3
0
        // 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));
        }
示例#4
0
        // 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));
        }