Example #1
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Address1,Address2,AllergiesDescription,AttendHostChurch,City,ClassroomId,DateOfBirth,DecisionMade,EmergencyContactFirstName,EmergencyContactLastName,EmergencyContactPhone,EmergencyContactChildRelationship,FirstName,Gender,GradeCompleted,GuardianChildRelationship,GuardianEmail,GuardianFirstName,GuardianLastName,GuardianPhone,HasAllergies,HasMedicalCondition,HasMedications,HomeChurch,InvitedBy,LastName,MedicalConditionDescription,MedicationDescription,PlaceChildWithRequest,SessionId,State,Zip")] EditChildViewModel childVM)
        {
            if (id != childVM.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                var child = await _context.Children
                            .Where(c => c.Id == childVM.Id && c.VBSId == this.CurrentVBSId && c.VBS.TenantId == this.TenantId)
                            .SingleOrDefaultAsync();

                child.VBSId                = this.CurrentVBSId;
                child.Address1             = childVM.Address1;
                child.Address2             = childVM.Address2;
                child.AllergiesDescription = childVM.AllergiesDescription;
                child.AttendHostChurch     = childVM.AttendHostChurch;
                child.City         = childVM.City;
                child.ClassroomId  = childVM.ClassroomId;
                child.DateOfBirth  = childVM.DateOfBirth;
                child.DecisionMade = childVM.DecisionMade;
                child.EmergencyContactFirstName         = childVM.EmergencyContactFirstName;
                child.EmergencyContactLastName          = childVM.EmergencyContactLastName;
                child.EmergencyContactPhone             = childVM.EmergencyContactPhone;
                child.EmergencyContactChildRelationship = childVM.EmergencyContactChildRelationship;
                child.FirstName                   = childVM.FirstName;
                child.Gender                      = childVM.Gender;
                child.GradeCompleted              = childVM.GradeCompleted;
                child.GuardianChildRelationship   = childVM.GuardianChildRelationship;
                child.GuardianEmail               = childVM.GuardianEmail;
                child.GuardianFirstName           = childVM.GuardianFirstName;
                child.GuardianLastName            = childVM.GuardianLastName;
                child.GuardianPhone               = childVM.GuardianPhone;
                child.HomeChurch                  = childVM.HomeChurch;
                child.InvitedBy                   = childVM.InvitedBy;
                child.HasAllergies                = false;
                child.HasMedicalCondition         = false;
                child.HasMedications              = false;
                child.LastName                    = childVM.LastName;
                child.MedicalConditionDescription = childVM.MedicalConditionDescription;
                child.MedicationDescription       = childVM.MedicationDescription;
                child.PlaceChildWithRequest       = childVM.PlaceChildWithRequest;
                child.SessionId                   = childVM.SessionId;
                child.State = childVM.State;
                child.Zip   = childVM.Zip;

                GetGeoCodeResponse geoResponse = await GeocodeHelper.GetGeoCode(child);

                if (geoResponse != null)
                {
                    child.Latitude  = geoResponse.Lat;
                    child.Longitude = geoResponse.Long;
                }


                if (child.ClassroomId == 0)
                {
                    child.ClassroomId = null;
                }

                try
                {
                    _context.Update(child);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ChildExists(child.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("Index"));
            }

            List <Classroom> classrooms = _context.Classes
                                          .Include(c => c.Session)
                                          .Where(c => c.VBSId == this.CurrentVBSId)
                                          .OrderBy(c => c.Session.Period)
                                          .ThenBy(c => c.Grade)
                                          .ThenBy(c => c.Name)
                                          .ToList();

            SelectListItem noneClassSelectItem = new SelectListItem {
                Value = "0", Text = "None", Selected = true
            };
            List <SelectListItem> assignClassrooms = new List <SelectListItem>();

            assignClassrooms.Add(noneClassSelectItem);

            foreach (Classroom dbClass in classrooms)
            {
                SelectListItem assignClass = new SelectListItem();
                assignClass.Value = dbClass.Id.ToString();
                assignClass.Text  = dbClass.Session.Period + " " + dbClass.Grade.GetDisplayName() + " " + dbClass.Name;
                assignClassrooms.Add(assignClass);
            }

            childVM.ClassroomSelectItems = assignClassrooms;

            ViewData["SessionId"] = new SelectList(_context.Sessions.Where(s => s.VBSId == this.CurrentVBSId), "Id", "Period", childVM.SessionId);
            return(View(childVM));
        }
Example #2
0
        public async Task <IActionResult> Create([Bind("Id,Address1,Address2,AllergiesDescription,AttendHostChurch,City,ClassroomId,DateOfBirth,DecisionMade,EmergencyContactFirstName,EmergencyContactLastName,EmergencyContactPhone,EmergencyContactChildRelationship,FirstName,Gender,GradeCompleted,GuardianChildRelationship,GuardianEmail,GuardianFirstName,GuardianLastName,GuardianPhone,HomeChurch,InvitedBy,LastName,MedicalConditionDescription,MedicationDescription,PlaceChildWithRequest,SessionId,State,Zip")] CreateChildViewModel childVM)
        {
            if (ModelState.IsValid)
            {
                Child child = new Child
                {
                    VBSId = this.CurrentVBSId,
                    DateOfRegistration   = DateTime.UtcNow,
                    Address1             = childVM.Address1,
                    Address2             = childVM.Address2,
                    AllergiesDescription = childVM.AllergiesDescription,
                    AttendHostChurch     = childVM.AttendHostChurch,
                    City         = childVM.City,
                    ClassroomId  = childVM.ClassroomId,
                    DateOfBirth  = childVM.DateOfBirth,
                    DecisionMade = childVM.DecisionMade,
                    EmergencyContactFirstName         = childVM.EmergencyContactFirstName,
                    EmergencyContactLastName          = childVM.EmergencyContactLastName,
                    EmergencyContactPhone             = childVM.EmergencyContactPhone,
                    EmergencyContactChildRelationship = childVM.EmergencyContactChildRelationship,
                    FirstName                   = childVM.FirstName,
                    Gender                      = childVM.Gender,
                    GradeCompleted              = childVM.GradeCompleted,
                    GuardianChildRelationship   = childVM.GuardianChildRelationship,
                    GuardianEmail               = childVM.GuardianEmail,
                    GuardianFirstName           = childVM.GuardianFirstName,
                    GuardianLastName            = childVM.GuardianLastName,
                    GuardianPhone               = childVM.GuardianPhone,
                    HomeChurch                  = childVM.HomeChurch,
                    InvitedBy                   = childVM.InvitedBy,
                    HasAllergies                = false,
                    HasMedicalCondition         = false,
                    HasMedications              = false,
                    LastName                    = childVM.LastName,
                    MedicalConditionDescription = childVM.MedicalConditionDescription,
                    MedicationDescription       = childVM.MedicationDescription,
                    PlaceChildWithRequest       = childVM.PlaceChildWithRequest,
                    SessionId                   = childVM.SessionId,
                    State = childVM.State,
                    Zip   = childVM.Zip
                };

                GetGeoCodeResponse geoResponse = await GeocodeHelper.GetGeoCode(child);

                if (geoResponse != null)
                {
                    child.Latitude  = geoResponse.Lat;
                    child.Longitude = geoResponse.Long;
                }

                if (child.ClassroomId == 0)
                {
                    child.ClassroomId = null;
                }

                _context.Add(child);
                await _context.SaveChangesAsync();

                childVM.Id = child.Id;
                return(RedirectToAction("Index"));
            }

            List <Classroom> classrooms = _context.Classes
                                          .Include(c => c.Session)
                                          .Where(c => c.VBSId == this.CurrentVBSId)
                                          .OrderBy(c => c.Session.Period)
                                          .ThenBy(c => c.Grade)
                                          .ThenBy(c => c.Name)
                                          .ToList();

            SelectListItem noneClassSelectItem = new SelectListItem {
                Value = "0", Text = "None", Selected = true
            };
            List <SelectListItem> assignClassrooms = new List <SelectListItem>();

            assignClassrooms.Add(noneClassSelectItem);

            foreach (Classroom dbClass in classrooms)
            {
                SelectListItem assignClass = new SelectListItem();
                assignClass.Value = dbClass.Id.ToString();
                assignClass.Text  = dbClass.Session.Period + " " + dbClass.Grade.GetDisplayName() + " " + dbClass.Name;
                assignClassrooms.Add(assignClass);
            }

            childVM.ClassroomSelectItems = assignClassrooms;

            ViewData["SessionId"] = new SelectList(_context.Sessions.Where(s => s.VBSId == this.CurrentVBSId), "Id", "Period", childVM.SessionId);
            return(View(childVM));
        }