Example #1
0
        private async void addAddressTap_Tapped(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(house_no.Text))
                {
                    Config.ErrorSnackbarMessage(ValidationMessages.HouseNoRequired);
                }
                else if (string.IsNullOrWhiteSpace(street_details.Text))
                {
                    Config.ErrorSnackbarMessage(ValidationMessages.StreetDetailRequired);
                }
                else if (country.SelectedIndex == 0)
                {
                    Config.ErrorSnackbarMessage(ValidationMessages.CountryRequired);
                }
                else if (state.SelectedIndex == 0)
                {
                    Config.ErrorSnackbarMessage(ValidationMessages.StateRequired);
                }
                else if (city.SelectedIndex == 0)
                {
                    Config.ErrorSnackbarMessage(ValidationMessages.CityRequired);
                }
                else if (string.IsNullOrWhiteSpace(pincode.Text))
                {
                    Config.ErrorSnackbarMessage(ValidationMessages.PincodeRequired);
                }
                else if (pincode.Text.Length < 5)
                {
                    Config.ErrorSnackbarMessage(ValidationMessages.PincodeMinimum);
                }
                else
                {
                    Config.ShowDialog();
                    UserAddress userAddress = new UserAddress
                    {
                        //address_type = address_type.Items[address_type.SelectedIndex],
                        //address_type = address_type.SelectedItem.ToString(),
                        //apartment_name = apartment_name.Items[apartment_name.SelectedIndex],
                        //area_details = area_details.Items[area_details.SelectedIndex],
                        country          = country.Items[country.SelectedIndex],
                        state            = state.Items[state.SelectedIndex],
                        city             = city.Items[city.SelectedIndex],
                        house_no         = house_no.Text,
                        landmark_details = landmark_details.Text,
                        street_details   = street_details.Text,
                        pincode          = pincode.Text,
                        user_id          = int.Parse(Application.Current.Properties["user_id"].ToString()),
                        name             = Application.Current.Properties["name"].ToString(),
                        mobile_number    = Application.Current.Properties["mobile_number"].ToString(),
                        //default_address = default_address.IsChecked ? 1 : 0,
                        default_address = 1,
                    };

                    var response = new GeneralResponse();
                    if (UserAddress != null)
                    {
                        userAddress.id = UserAddress.id;
                        response       = await UserLogic.SaveAddress(userAddress);

                        Config.HideDialog();
                    }
                    else
                    {
                        response = await UserLogic.AddAddress(userAddress);

                        Config.HideDialog();
                    }
                    if (response.status == 200)
                    {
                        Config.HideDialog();
                        //if (default_address.IsChecked)
                        //{
                        //    Application.Current.Properties["full_address"] = response.full_address;
                        //}
                        await Navigation.PopAsync();
                    }
                    else
                    {
                        Config.HideDialog();
                        Config.ErrorSnackbarMessage(response.message);
                    }
                    Config.HideDialog();
                }
            }
            catch (Exception ex)
            {
                Config.HideDialog();
                Config.ErrorStore("AddAddressPage-addAddressTap_Tapped", ex.Message);
                Config.ErrorSnackbarMessage(Config.ApiErrorMessage);
            }
        }