Esempio n. 1
0
        public async Task <IActionResult> Edit(int id, EditPersonVM personVM)
        {
            if (id != personVM.Person.Id)
            {
                return(NotFound());
            }


            switch (personVM.Role.ToString())
            {
            case "Student":

                personVM.Person.Student = new Student();
                break;

            case "Teacher":
                personVM.Person.Employee           = new Employee();
                personVM.Person.Employee.isTeacher = true;
                break;

            case "Other":
                personVM.Person.Employee           = new Employee();
                personVM.Person.Employee.isTeacher = false;
                break;

            default:
                throw new Exception("Coś poszło nie tak, zła rola!");
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.People.Update(personVM.Person);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!PersonExists(id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            List <SelectListItem> roleList = PopulateRoleList();

            ViewData["Roles"] = new SelectList(roleList, "Value", "Text", personVM.Role.Value);
            return(View(personVM));
        }
Esempio n. 2
0
 public IActionResult Edit(int id, EditPersonVM model)
 {
     if (ModelState.IsValid)
     {
         var person = _people.Read(id);
         person.FirstName  = model.FirstName;
         person.MiddleName = model.MiddleName;
         person.LastName   = model.LastName;
         person.Email      = model.Email;
         _people.Update(id, person);
         return(RedirectToAction("Index"));
     }
     return(View());
 }
Esempio n. 3
0
        // GET: People/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var person = await _context.People.Include(p => p.Employee).SingleOrDefaultAsync(m => m.Id == id);

            if (person == null)
            {
                return(NotFound());
            }

            Role role;

            if (person.EmployeeID != null)
            {
                if (person.Employee.isTeacher)
                {
                    role = Role.Teacher;
                }
                else
                {
                    role = Role.Other;
                }
            }
            else if (person.StudentID != null)
            {
                role = Role.Student;
            }
            else
            {
                role = new Role();
            }
            var vm = new EditPersonVM
            {
                Person = person,
                Role   = role
            };

            List <SelectListItem> roleList = PopulateRoleList();

            ViewData["Roles"] = new SelectList(roleList, "Value", "Text", vm.Role);

            return(View(vm));
        }