Exemplo n.º 1
0
 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;
            }
        }
Exemplo n.º 3
0
        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;
 }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
     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();
            }
        }
Exemplo n.º 9
0
        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;
        }
Exemplo n.º 10
0
 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();
     }
 }
Exemplo n.º 11
0
        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;
            }
        }
Exemplo n.º 12
0
        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();
        }