/**
  * @param Application $app
  * @param Request $request
  *
  * @return Response
  */
 public function add(Application $app, Request $request)
 {
     $form = $app->createForm(new MemberType());
     if ($request->isMethod('post')) {
         $form->handleRequest($request);
         if ($form->isValid()) {
             $data = $form->getData();
             $member = new Member($data['username'], $data['password'], new Address('Canada', 'Ontario', $data['city'], $data['postal_code']), $data['date_of_birth'], Limits::all()[$data['limits']], new Height($data['height']), new Weight($data['weight']), BodyType::all()[$data['body_type']], Ethnicity::all()[$data['ethnicity']], new Email($data['email']));
             $app['repository.members']->add($member);
             $app->flashSuccess(sprintf('Member "%s" was successfully added', $member->getUsername()));
             return $app->redirect($app->path('manage.members'));
         }
     }
     return $app->render('manage/members.add.twig', ['form' => $form->createView()]);
 }