private void ClearHomeAddress_Click(object sender, RoutedEventArgs e) { var previousAddress = ViewModel.HomeAddressViewModel.Address; var newAddress = new AssociationUserAddress { Nickname = "x", Id = previousAddress.Id, Country = previousAddress.Country }; newAddress.AcceptChanges(); ViewModel.HomeAddressViewModel.Address = newAddress; }
public AssociationUserAddress SaveAddress(AssociationUserAddress address) { try { using (var db = new LomsContext()) { if (address.SuburbId != null) { address.Country = null; address.State = null; } else if (address.StateId != null) address.Country = null; db.AssociationUserAddresses.ApplyChanges(address); db.SaveChanges(); return db.AssociationUserAddresses.IncludeAll("Country", "State", "State.Country", "Suburb", "Suburb.Country", "Suburb.State", "Suburb.State.Country") .FirstOrDefault(a => a.Id == address.Id); } } catch (Exception ex) { address.AddError("Error", ex.Message); return address; } }
private void ClearWorkAddress_Click(object sender, System.Windows.RoutedEventArgs e) { //ViewModel.BusinessName = null; //ViewModel.Profile.IataNumber = null; var prevAddress = ViewModel.AddressViewModel.Address; var newAddress = new AssociationUserAddress { Nickname = "x", Id = prevAddress.Id, Country = prevAddress.Country}; ViewModel.AddressViewModel.Address = newAddress; ViewModel.AcceptChanges(); }
private AssociationUserAddress GetDummyAddress(int id, string nickname) { AssociationUserAddress dummyAddress = new AssociationUserAddress(); dummyAddress.Id = id; dummyAddress.Nickname = nickname; return dummyAddress; }
private void OpenProfileDetailWindow(AssociationUser profile, AssociationUserAddress homeAddress, AssociationUserAddress workAddress, AssociationUserCreditCard creditCard, AssociationUserBillingAccount billingAccount, bool isAdd) { var view = Kernel.Get<ProfileDetailChildWindow>(); var viewModel = Kernel.Get<ProfileDetailChildWindowViewModel>(); viewModel.Profile = profile; viewModel.Manager = _manager; viewModel.ProfileHomeAddress = homeAddress != null ? homeAddress : new AssociationUserAddress { Country = _manager.Country, Nickname = "Home", Type = AddressType.Home }; viewModel.ProfileWorkAddress = workAddress != null ? workAddress : new AssociationUserAddress { Country = _manager.Country, Nickname = "Work", Type = AddressType.Work }; viewModel.ProfileDefaultCreditCard = creditCard; viewModel.ProfileDefaultBillingAccount = billingAccount; viewModel.IsAdd = isAdd; view.DataContext = viewModel; viewModel.Completed += (o, e) => { view.DialogResult = true; e.Value.CurrentManagerId = _manager.Id; Profiles.Replace(e.Value); SelectedProfile = e.Value; }; viewModel.Cancelled += (o, e) => { //if (e.Value.Id == _managerId) // e.Value.IsManager = true; e.Value.CurrentManagerId = _manager.Id; Profiles.Replace(e.Value); SelectedProfile = e.Value; }; view.Show(); }
public void AddProfile() { var profile = new AssociationUser { ManagerId = _manager.Id, CreatedById = _manager.Id, CreatedBy = _manager.FullName, Country = _manager.Country, }; if (_manager.IsTravelAgency) profile.CreatedBy += " " + _manager.TravelAgencyName; var homeAddress = new AssociationUserAddress { Country = _manager.Country, Nickname = "x", Type = AddressType.Home }; var workAddress = new AssociationUserAddress { Country = _manager.Country, Nickname = "y", Type = AddressType.Work }; //var taxInvoice = new AssociationUserTaxInvoice(); //homeAddress.AcceptChanges(); //workAddress.AcceptChanges(); //taxInvoice.AcceptChanges(); OpenProfileDetailWindow(profile, homeAddress, workAddress, null, null, true); }
public bool Equals(AssociationUserAddress other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; if (other.Id == 0 && Id == 0) return false; else return other.Id == Id; }
public string RegisterClient(ClientRegistrationRequest request) { try { using (var scope = new TransactionScope()) using (var db = new LomsContext()) { var email = request.Email.Trim().ToLower(); //check id user with such email existed already var count = (from u in db.AssociationUsers where u.AssociationId == CurrentAssociationId && u.Email == email select u).Count(); if (count != 0) return "User with such email is already registered!"; //create membership MembershipCreateStatus status; var userMembership = Membership.CreateUser(email, request.Password, email, "Am i client?", "Yes", false, out status); switch (status) { case MembershipCreateStatus.Success: break; //case MembershipCreateStatus.InvalidPassword: // throw new ApplicationException("Invalid password."); default: throw new ApplicationException("Cannot create user account.", new ApplicationException(status.ToString())); } Guid aspNetUserId = (Guid)userMembership.ProviderUserKey; //add role if (!Roles.RoleExists(RoleName.Client)) Roles.CreateRole(RoleName.Client); Roles.AddUserToRole(email, RoleName.Client); //create user AssociationUser user = new AssociationUser(); user.AssociationId = CurrentAssociationId; user.CountryId = request.CountryId; user.Email = email; //name user.Prefix = NamePrefix.All.FirstOrDefault(p => p.Id == request.NamePrefixId); user.FirstName = request.FirstName.ToUpper(); user.LastName = request.LastName.ToUpper(); //phone user.OfficePhone = request.OfficePhone; user.MobilePhone = request.MobilePhone; user.HomePhone = request.HomePhone; user.DefaultPhoneType = request.DefaultPhoneType; user.IsTravelAgency = request.IsTravelAgency; user.PositionTitle = request.Position; if (user.IsTravelAgency) user.IataNumber = request.IataNumber.ToUpper(); user.CreatedTime = user.LastUpdatedTime = DateTime.UtcNow; user.AspNetUserId = aspNetUserId; db.AssociationUsers.ApplyChanges(user); db.SaveChanges(); //home address AssociationUserAddress homeAddress = new AssociationUserAddress(); homeAddress.Nickname = user.FullName + " HOME"; homeAddress.AssociationUserId = user.Id; homeAddress.Type = AddressType.Home; homeAddress.CountryId = user.CountryId; //work address AssociationUserAddress workAddress = new AssociationUserAddress(); workAddress.Nickname = user.FullName + " WORK"; workAddress.AssociationUserId = user.Id; workAddress.CountryId = user.CountryId; workAddress.Type = AddressType.Work; workAddress.BusinessName = request.BusinessName.ToUpper(); workAddress.BuildingName = request.BuildingName.ToUpper(); workAddress.Address1 = request.Address1.ToUpper(); workAddress.Address2 = request.Address2.ToUpper(); if (request.SuburbId != 0) { workAddress.CountryId = null; workAddress.StateId = null; workAddress.SuburbId = request.SuburbId; } else { if (request.StateId != 0) { workAddress.CountryId = null; workAddress.StateId = request.StateId; workAddress.SuburbId = null; } workAddress.SuburbName = request.SuburbName.ToUpper(); workAddress.SuburbCode = request.SuburbCode.ToUpper(); } db.AssociationUserAddresses.ApplyChanges(homeAddress); db.AssociationUserAddresses.ApplyChanges(workAddress); db.SaveChanges(); AssociationUserActivation activation = new AssociationUserActivation(); activation.UserId = user.Id; activation.Guid = Guid.NewGuid(); activation.ExpiryTime = DateTime.UtcNow.AddHours(2.0); //expiry db.AssociationUserActivations.ApplyChanges(activation); db.SaveChanges(); var emailProvider = db.AssociationEmails.FirstOrDefault(e => e.AssociationId == CurrentAssociationId); if (emailProvider != null) { var association = db.Associations.FirstOrDefault(a => a.Id == CurrentAssociationId); var uri = HttpContext.Current.Request.Url; string baseUrl = String.Format("{0}://{1}:{2}", uri.Scheme, uri.Host ?? "80", uri.Port); string activtionLink = Path.Combine(baseUrl + string.Format("/#Activation/{0}", activation.Guid.ToString("D"))); string contactUsLink = Path.Combine(baseUrl + "/#Contact"); var emailTemplate = new EmailTemplate("OnlineRegistrationActivation"); emailTemplate["UserName"] = user.FullName.ToUpper(); emailTemplate["AssociationName"] = association.Name.ToUpper(); emailTemplate["ActivationLink"] = activtionLink; emailTemplate["ContactUsLink"] = contactUsLink; var avBody = AlternateView.CreateAlternateViewFromString(emailTemplate.Html, null, MediaTypeNames.Text.Html); emailProvider.SendMail(user.Email, association.Name + " Account activation", emailTemplate.Txt, null, avBody, true); } scope.Complete(); } return null; } catch (Exception ex) { StringBuilder builder = new StringBuilder(); builder.AppendLine(ex.Message); if (ex.InnerException != null) { builder.AppendLine(ex.InnerException.Message); if (ex.InnerException.InnerException != null) builder.AppendLine(ex.InnerException.InnerException.Message); } return builder.ToString(); } }
public AssociationUser CreateNewManagedUser() { var profile = new AssociationUser { ManagerId = this.Id, CreatedById = this.Id, CreatedBy = this.FullName, Country = this.Country, }; if (this.IsTravelAgency) profile.CreatedBy += " " + this.TravelAgencyName; var homeAddress = new AssociationUserAddress { Country = this.Country, Nickname = "x" }; var workAddress = new AssociationUserAddress { Country = this.Country, Nickname = "y" }; homeAddress.AcceptChanges(); workAddress.AcceptChanges(); return profile; }
public void RemoveAddress(int addressId) { using (var db = new LomsContext()) { var address = new AssociationUserAddress() { Id = addressId }; db.AssociationUserAddresses.Attach(address); db.AssociationUserAddresses.DeleteObject(address); db.SaveChanges(); } }
public AssociationUserAddress SaveAddress(AssociationUserAddress address) { if (address.Suburb != null) { address.Country = null; address.State = null; } else if (address.State != null) address.Country = null; using (var db = new LomsContext()) { db.AssociationUserAddresses.ApplyChanges(address); db.SaveChanges(); address = db.AssociationUserAddresses.IncludeAll("Country", "State", "State.Country", "Suburb", "Suburb.Country", "Suburb.State", "Suburb.State.Country") .FirstOrDefault(a => a.Id == address.Id); address.AcceptChanges(); return address; } }
private void OpenSavedAddressWindow(AssociationUserAddress address, bool isAdd) { var viewModel = Kernel.Get<SavedAddressChildWindowViewModel>(); var view = Kernel.Get<SavedAddressChildWindow>(); viewModel.IsAdd = isAdd; viewModel.Address = address; view.DataContext = viewModel; viewModel.Completed += (o, e) => { view.Close(); Addresses.Replace(e.Value); SelectedAddress = e.Value; }; view.Show(); }