Exemple #1
0
    public static List <Customer> GetAllCustomer()
    {
        using (var context = new WebsiteTTKEntities())
        {
            List <Customer> customers = new List <Customer>();
            var             users     = context.AspNetUsers.ToList();
            foreach (var user in users)
            {
                Customer          customer = new Customer();
                AspNetUserAddress address  = context.AspNetUserAddresses.SingleOrDefault(x => x.UserId == user.Id);
                customer.AspNetUserAddress = address;
                customer.AspNetUser        = user;
                string globalDateFormat = System.Configuration.ConfigurationManager.AppSettings["GlobalDateFormat"];
                customer.Birthday = address.Birthday.Value.ToString(globalDateFormat);
                customer.City     = address.City;
                List <string> countries = Helper.GetCountries();
                if (countries != null)
                {
                    customer.Countries = countries.ToArray();
                }
                customer.Email       = user.Email;
                customer.FirstName   = address.Firstname;
                customer.LastName    = address.Lastname;
                customer.PhoneNumber = address.PhoneNumber;
                customer.Street      = address.Street;
                customer.ZipCode     = address.Zip;

                customers.Add(customer);
            }
            return(customers);
        }
    }
Exemple #2
0
    /// <summary>
    /// Update customer address
    /// </summary>
    /// <param name="customer">Customer entity</param>
    /// <returns></returns>
    public static string UpdateCustomerAddress(Customer customer)
    {
        try
        {
            AspNetUser        user    = customer.AspNetUser;
            AspNetUserAddress address = customer.AspNetUserAddress;
            using (var context = new WebsiteTTKEntities())
            {
                var existAddress = context.AspNetUserAddresses.FirstOrDefault(x => x.UserId == user.Id);
                existAddress.Firstname   = address.Firstname;
                existAddress.Lastname    = address.Lastname;
                existAddress.Company     = address.Company;
                existAddress.Street      = address.Street;
                existAddress.City        = address.City;
                existAddress.Zip         = address.Zip;
                existAddress.State       = address.State;
                existAddress.PhoneNumber = address.PhoneNumber;
                existAddress.Email       = address.Email;
                existAddress.Country     = address.Country;

                context.SaveChanges();
                return(null);
            }
        } catch (Exception ex)
        {
            return(ex.Message);
        }
    }
Exemple #3
0
    /// <summary>
    /// Get list of user's address base on address type
    /// </summary>
    /// <param name="id">Address ID</param>
    /// <param name="type">Address Type (Enum)</param>
    /// <returns></returns>
    public static List <AspNetUserAddress> GetUserAddressByUserId(string id, AddressType type)
    {
        using (var context = new WebsiteTTKEntities())
        {
            //Get product data
            IQueryable <AspNetUserAddress> qUserAddressTable = from t in context.AspNetUserAddresses where t.UserId == id && t.AddressType == type.ToString()
                                                               select t; // can you confirm if your context has Tables or MyTables?
            var listOfProducts = qUserAddressTable.Select(s => new {
                Id          = s.Id,
                UserId      = s.UserId,
                Firstname   = s.Firstname,
                Lastname    = s.Lastname,
                Company     = s.Company,
                Street      = s.Street,
                City        = s.City,
                Country     = s.Country,
                State       = s.State,
                Zip         = s.Zip,
                Birthday    = s.Birthday,
                Gender      = s.Gender,
                PhoneNumber = s.PhoneNumber,
                Email       = s.Email,
                AddressType = s.AddressType
            }).ToList();

            List <AspNetUserAddress> addresses = new List <AspNetUserAddress>();
            foreach (var item in listOfProducts)
            {
                AspNetUserAddress address = new AspNetUserAddress();
                address.Id          = item.Id;
                address.UserId      = item.UserId;
                address.Firstname   = item.Firstname;
                address.Lastname    = item.Lastname;
                address.Company     = item.Company;
                address.Street      = item.Street;
                address.City        = item.City;
                address.Country     = item.Country;
                address.State       = item.State;
                address.Zip         = item.Zip;
                address.Birthday    = item.Birthday;
                address.Gender      = item.Gender;
                address.PhoneNumber = item.PhoneNumber;
                address.Email       = item.Email;
                address.AddressType = item.AddressType;

                addresses.Add(address);
            }

            return(addresses);
        }
    }
Exemple #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (User.Identity.IsAuthenticated)
            {
                Customer customer = new Customer();
                customer.Countries = UserHelper.Countries();
                var userName    = User.Identity.GetUserName();
                var userStore   = new UserStore <IdentityUser>();
                var userManager = new UserManager <IdentityUser>(userStore);
                System.Threading.Tasks.Task <IdentityUser> user = userManager.FindByNameAsync(userName);
                if (user.Result != null)
                {
                    //Because of updating user's profile, thus it use home address.
                    List <AspNetUserAddress> addresses = UserHelper.GetUserAddressByUserId(user.Result.Id, UserHelper.AddressType.HomeAddress);
                    if (addresses.Count > 0)
                    {
                        AspNetUserAddress address = addresses.FirstOrDefault();
                        customer.AspNetUserAddress = address;

                        if (address.Birthday != null)
                        {
                            string globalDateFormat = System.Configuration.ConfigurationManager.AppSettings["GlobalDateFormat"];
                            customer.Birthday = address.Birthday.Value.ToString(globalDateFormat);
                        }

                        //This code block can help to bypass ASP user's email and phone number. And used only home address for user's profile
                        //Because of updating user's profile. It can get ASP user's email if profile address's email is empty.
                        if (String.IsNullOrEmpty(address.Email))
                        {
                            customer.Email = user.Result.Email;
                        }
                        else
                        {
                            customer.Email = address.Email;
                        }

                        //Because of updating user's profile. It can get ASP user's phone number if profile address's phone number is empty.
                        if (String.IsNullOrEmpty(address.PhoneNumber))
                        {
                            customer.PhoneNumber = user.Result.PhoneNumber;
                        }
                        else
                        {
                            customer.PhoneNumber = address.PhoneNumber;
                        }
                    }
                    else
                    {
                        customer.PhoneNumber = user.Result.PhoneNumber;
                        customer.Email       = user.Result.Email;
                    }
                    txtFirstname.Text   = customer.AspNetUserAddress.Firstname;
                    txtLastname.Text    = customer.AspNetUserAddress.Lastname;
                    txtCompany.Text     = customer.AspNetUserAddress.Company;
                    txtStreet.Text      = customer.AspNetUserAddress.Street;
                    txtCity.Text        = customer.AspNetUserAddress.City;
                    txtZip.Text         = customer.AspNetUserAddress.Zip;
                    txtState.Text       = customer.AspNetUserAddress.State;
                    txtPhoneNumber.Text = customer.PhoneNumber;
                    txtEmail.Text       = customer.Email;
                    SetupCountryDropDownList(customer);
                }
            }
            else
            {
                Page.Response.Redirect(Helper.GetHostURL(), true);
            }
        }
    }
Exemple #5
0
    protected void btnSubmitUserAddress_Click(object sender, EventArgs e)
    {
        if (User.Identity.IsAuthenticated)
        {
            var userName    = User.Identity.GetUserName();
            var userStore   = new UserStore <IdentityUser>();
            var userManager = new UserManager <IdentityUser>(userStore);
            System.Threading.Tasks.Task <IdentityUser> user = userManager.FindByNameAsync(userName);
            if (user.Result != null)
            {
                //Because of updating user's profile, thus it use home address.
                List <AspNetUserAddress> addresses = UserHelper.GetUserAddressByUserId(user.Result.Id, UserHelper.AddressType.HomeAddress);
                if (addresses.Count > 0)
                {
                    AspNetUserAddress address = addresses.FirstOrDefault();
                    address.Firstname = Helper.GetPlainTextFromHtml(firstname.Text);
                    address.Lastname  = Helper.GetPlainTextFromHtml(lastname.Text);
                    address.Company   = Helper.GetPlainTextFromHtml(company.Text);
                    address.Street    = Helper.GetPlainTextFromHtml(street.Text);
                    address.City      = Helper.GetPlainTextFromHtml(city.Text);
                    address.Zip       = Helper.GetPlainTextFromHtml(zip.Text);
                    address.State     = Helper.GetPlainTextFromHtml(state.Text);
                    if (!Helper.IsValidEmail(Email.Text))
                    {
                        string message = "Invalid email!";
                        ClientScript.RegisterStartupScript(GetType(), "ShowAlert", "window.ShowMessage(0,\"" + message + "\",true);", true);
                    }
                    else
                    {
                        address.Email       = Helper.GetPlainTextFromHtml(Email.Text);
                        address.PhoneNumber = Helper.GetPlainTextFromHtml(PhoneNumber.Text);
                        address.Country     = Helper.GetPlainTextFromHtml(country.SelectedValue);
                        try
                        {
                            string   globalDateFormat = System.Configuration.ConfigurationManager.AppSettings["GlobalDateFormat"];
                            DateTime biDate           = DateTime.ParseExact(Helper.GetPlainTextFromHtml(birthday.Value), globalDateFormat, System.Globalization.CultureInfo.InvariantCulture);
                            address.Birthday = biDate;
                        }
                        catch
                        {
                            address.Birthday = null;
                        }
                        address.Gender = UserHelper.ConvertStringToGender(Helper.GetPlainTextFromHtml(gender.SelectedValue));

                        try
                        {
                            UserHelper.UpdateUserAddresses(new System.Collections.Generic.List <AspNetUserAddress> {
                                address
                            });
                            string message = "Update successful!";
                            ClientScript.RegisterStartupScript(GetType(), "ShowAlert", "window.ShowMessage(0,\"" + message + "\",true);", true);
                        }
                        catch (Exception ex)
                        {
                            string message = "Update fail! " + ex.Message;
                            ClientScript.RegisterStartupScript(GetType(), "ShowAlert", "window.ShowMessage(0,\"" + message + "\",true);", true);
                        }
                    }
                }
                else
                {
                    AspNetUserAddress address = new AspNetUserAddress();
                    address.UserId = user.Result.Id;
                    //Because of updating user's profile, thus it use home address.
                    address.AddressType = UserHelper.AddressType.HomeAddress.ToString();
                    address.Firstname   = Helper.GetPlainTextFromHtml(firstname.Text);
                    address.Lastname    = Helper.GetPlainTextFromHtml(lastname.Text);
                    address.Company     = Helper.GetPlainTextFromHtml(company.Text);
                    address.Street      = Helper.GetPlainTextFromHtml(street.Text);
                    address.City        = Helper.GetPlainTextFromHtml(city.Text);
                    address.Zip         = Helper.GetPlainTextFromHtml(zip.Text);
                    address.State       = Helper.GetPlainTextFromHtml(state.Text);
                    if (!Helper.IsValidEmail(Email.Text))
                    {
                        string message = "Invalid email!";
                        ClientScript.RegisterStartupScript(GetType(), "ShowAlert", "window.ShowMessage(0,\"" + message + "\",true);", true);
                    }
                    else
                    {
                        address.Email       = Helper.GetPlainTextFromHtml(Email.Text);
                        address.PhoneNumber = Helper.GetPlainTextFromHtml(PhoneNumber.Text);
                        address.Country     = Helper.GetPlainTextFromHtml(country.SelectedValue);
                        try
                        {
                            string   globalDateFormat = System.Configuration.ConfigurationManager.AppSettings["GlobalDateFormat"];
                            DateTime biDate           = DateTime.ParseExact(Helper.GetPlainTextFromHtml(birthday.Value), globalDateFormat, System.Globalization.CultureInfo.InvariantCulture);
                            address.Birthday = biDate;
                        }
                        catch
                        {
                            address.Birthday = null;
                        }
                        address.Gender = UserHelper.ConvertStringToGender(Helper.GetPlainTextFromHtml(gender.SelectedValue));

                        try
                        {
                            UserHelper.UpdateUserAddresses(new List <AspNetUserAddress> {
                                address
                            });
                            string message = "Update successful!";
                            ClientScript.RegisterStartupScript(GetType(), "ShowAlert", "window.ShowMessage(0,\"" + message + "\",true);", true);
                        }
                        catch (Exception ex)
                        {
                            string message = "Update fail! " + ex.Message;
                            ClientScript.RegisterStartupScript(GetType(), "ShowAlert", "window.ShowMessage(0,\"" + message + "\",true);", true);
                        }
                    }
                }
            }
        }
        else
        {
            Page.Response.Redirect(Helper.GetHostURL(), true);
        }
    }