public ActionResult RegistrationUpdate(RegistrationUpdateViewModel model) { if (!_orchardServices.Authorizer.Authorize(Permissions.ivOwnerTab, T("You are not authorized"))) Response.Redirect("/Users/Account/AccessDenied?ReturnUrl=/"); if (!ModelState.IsValid) return View("Site/Registration/Update/Index", model); _ownerServices.UpdateOwnerRegistration(model); const string returnUrl = "/owner/my-listings"; return Redirect(returnUrl); }
public RegistrationUpdateViewModel GetOwner(int userId) { var registrationViewModel = new RegistrationUpdateViewModel(); using (var session = NHibernateHelper.OpenSession()) { var owner = session.CreateCriteria(typeof (Owner)) .List<Owner>().FirstOrDefault( x => x.UserId.Equals(userId)) ?? new Owner(); registrationViewModel.UserId = userId; registrationViewModel.Surname = owner.Surname; registrationViewModel.Firstname = owner.Firstname; registrationViewModel.Address1 = owner.AddressDetail.Address1; registrationViewModel.Address2 = owner.AddressDetail.Address2; registrationViewModel.Town = owner.AddressDetail.Town; registrationViewModel.Postcode = owner.AddressDetail.Postcode; registrationViewModel.Phone = owner.ContactDetail.Phone; registrationViewModel.Email = owner.ContactDetail.Email; registrationViewModel.Website = owner.ContactDetail.Website; } return registrationViewModel; }
public void UpdateOwnerRegistration(RegistrationUpdateViewModel model) { using (var session = NHibernateHelper.OpenSession()) { using (var transaction = session.BeginTransaction()) { // get existing entities var owner = session.CreateCriteria(typeof (Owner)) .List<Owner>().FirstOrDefault(x => x.UserId.Equals(model.UserId)); if (owner != null) { owner.Surname = model.Surname; owner.Firstname = model.Firstname; var address = owner.AddressDetail; address.Address1 = model.Address1; address.Address2 = model.Address2; address.Postcode = model.Postcode; address.Town = model.Town; // address.AddressDetailKey = CustomStringHelper.BuildKey(new[] { model.Address1, model.Postcode }); var contact = owner.ContactDetail; contact.Phone = model.Phone; contact.Website = model.Website; SetAudit(address); session.SaveOrUpdate(address); SetAudit(contact); session.SaveOrUpdate(contact); SetAudit(owner); session.SaveOrUpdate(owner); transaction.Commit(); } } } }