Beispiel #1
0
        // GET: Children/Create
        public IActionResult Create()
        {
            CreateChildViewModel createChildVM = new CreateChildViewModel();

            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);
            }

            createChildVM.ClassroomSelectItems = assignClassrooms;

            ViewData["SessionId"] = new SelectList(_context.Sessions.Where(s => s.VBSId == this.CurrentVBSId), "Id", "Period");
            return(View(createChildVM));
        }
        public async Task <ActionResult> CreateChild(CreateChildViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new User()
                {
                    UserName     = model.UserName,
                    Email        = User.Identity.GetUserName(),
                    FirstName    = model.First,
                    MiddleName   = model.Middle,
                    LastName     = model.Last,
                    FullName     = MakeFullName(model.First, model.Middle, model.Last),
                    CreationDate = DateTime.Now,
                    BirthDate    = model.BirthDay,
                    ParentId     = User.Identity.GetUserId(),
                    ProfilePic   = "/Content/Images/EmptyProfilePicture.gif"
                };

                IdentityResult result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    IdentityManager manager = new IdentityManager();
                    manager.AddUserToRole(user.Id, "Child");
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    AddErrors(result);
                }
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Beispiel #3
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));
        }