public ActionResult Create()
        {
            UserViewModel model = new UserViewModel();

            PopulateStaticData(model);

            return View(model);
        }
        public ActionResult Create(UserViewModel model)
        {
            if (ModelState.IsValid)
            {
                model.User.Team = teamService.Get(model.TeamId);

                // TODO Randomise and email password
                model.User.Password = model.User.Password.ToMd5();

                userService.Insert(model.User);
                userService.Commit();

                SuccessMessage(FormMessages.SaveSuccess);
                return RedirectToAction("Index");
            }

            PopulateStaticData(model);

            return View(model);
        }
        public ActionResult Edit(UserViewModel model)
        {
            if (ModelState.IsValid)
            {
                User user = userService.Get(model.User.Id);
                TryUpdateModel(user, "User");
                user.Team = teamService.Get(model.TeamId);

                userService.Update(user);
                userService.Commit();

                SuccessMessage(FormMessages.SaveSuccess);
                return RedirectToAction("Index");
            }

            PopulateStaticData(model);

            return View(model);
        }
        public ActionResult Edit(int id)
        {
            User user = userService.Get(id);
            UserViewModel model = new UserViewModel();
            model.MapToModel(user);

            PopulateStaticData(model);

            return View(model);
        }
 private void PopulateStaticData(UserViewModel model)
 {
     model.Teams = teamService.Get(orderBy: q => q.OrderBy(t => t.TeamNameLong)).ToSelectList(x => x.ToString(), x => x.Id.ToString(), model.TeamId.ToString());
 }