Beispiel #1
0
        public ActionResult AdminEdit(Guid id, int?seminarId, bool?allList, PersonEditModel personEditModel, HttpPostedFileBase profilepic)
        {
            var user = _userRepository.GetNullableById(id);

            if (user == null)
            {
                Message = string.Format(Messages.NotFound, "user", id);
                int sid = 0;

                if (!seminarId.HasValue)
                {
                    sid = SiteService.GetLatestSeminar(Site).Id;
                }
                else
                {
                    sid = seminarId.Value;
                }

                return(this.RedirectToAction <AttendeeController>(a => a.Index(sid)));
            }

            var seminarPerson = _seminarPersonRepository.GetNullableById(personEditModel.SeminarPersonId);
            var person        = SetPerson(personEditModel, seminarPerson, ModelState, user.Person, profilepic);

            var membership = user.Membership;

            user.SetUserName(personEditModel.UserName);
            membership.SetEmail(personEditModel.Email);

            if (ModelState.IsValid)
            {
                _personRepository.EnsurePersistent(person);
                _userRepository.EnsurePersistent(user);
                _membershipRepository.EnsurePersistent(membership);

                if (seminarPerson != null)
                {
                    _seminarPersonRepository.EnsurePersistent(seminarPerson);
                }
                Message = string.Format(Messages.Saved, "Person");

                // send to crop photo if one was uploaded
                if (profilepic != null)
                {
                    return(this.RedirectToAction(a => a.UpdateProfilePicture(person.Id, seminarId, true)));
                }

                return(this.RedirectToAction(a => a.AdminEdit(person.User.Id, seminarId, null)));
            }

            ViewBag.AllList = allList ?? false;
            var viewModel = AdminPersonViewModel.Create(Repository, _firmService, Site, seminarId, user.Person, user.Email);

            return(View(viewModel));
        }
Beispiel #2
0
        public ActionResult AdminEdit(Guid id, int?seminarId, bool?allList)
        {
            var user = _userRepository.GetNullableById(id);

            if (user == null)
            {
                Message = string.Format(Messages.NotFound, "user", id);
                return(this.RedirectToAction <PersonController>(a => a.SiteList()));
            }

            ViewBag.AllList = allList ?? false;

            var viewModel = AdminPersonViewModel.Create(Repository, _firmService, Site, seminarId, user.Person, user.Email);

            if (viewModel.PersonViewModel.SeminarPerson == null)
            {
                viewModel.SeminarId = null;
            }

            return(View(viewModel));
        }