Beispiel #1
0
        private async void AddToWish_Click(object sender, EventArgs e)
        {
            var attributes = await HasAttributes(SelectedProduct.Id);

            if (!attributes)
            {
                StackPanel     s        = new StackPanel();
                PhoneTextBox   Quantity = new PhoneTextBox();
                InputScope     scope    = new InputScope();
                InputScopeName number   = new InputScopeName();

                number.NameValue = InputScopeNameValue.Number;
                scope.Names.Add(number);
                Quantity.Hint       = "Quantity";
                Quantity.InputScope = scope;
                s.Children.Add(Quantity);
                CustomMessageBox messageBox = new CustomMessageBox()
                {
                    Caption            = "Select Quantity",
                    Message            = "Select how many " + SelectedProduct.Name + " do you want?",
                    LeftButtonContent  = "Add To Wishlist",
                    Content            = s,
                    RightButtonContent = "Cancel"
                };
                messageBox.Show();
                messageBox.Dismissed += async(s1, e1) =>
                {
                    switch (e1.Result)
                    {
                    case CustomMessageBoxResult.LeftButton:
                        var Customer = await api.GetCustomersByEmail(Helper.CurrentCustomer());

                        if (Quantity.Text == "")
                        {
                            Quantity.Text = "1";
                        }
                        var AddResult = await api.AddToCart(Customer.First().Email, SelectedProduct.Id, Int32.Parse(Quantity.Text), new String[] { "" }, ShoppingCartType.Wishlist);

                        if (AddResult)
                        {
                            CustomMessageBox SuccessToast = new CustomMessageBox()
                            {
                                Caption           = "Added Successfully",
                                Message           = "The product was added to your wishlist sucessfuly",
                                LeftButtonContent = "Dismiss"
                            };
                            SuccessToast.Show();
                            await Task.Delay(2000);

                            SuccessToast.Dismiss();
                        }
                        break;
                    }
                };
            }
            else
            {
                NavigationService.Navigate(new Uri("/Pages/ProductDetails.xaml?ProdId=" + SelectedProduct.Id, UriKind.Relative));
            }
        }
Beispiel #2
0
        private async void InitializeWishlist()
        {
            var Currency = await api.GetCurrency();

            var tmp = await api.GetCustomersByEmail(Helper.CurrentCustomer());

            Customer = tmp.First();
            var CartList  = new List <MainPage.CartData>();
            var ItemCount = 0;

            foreach (CartItemDTO c in Customer.Wishlist)
            {
                ItemCount += c.Quantity;
                CartList.Add(new MainPage.CartData {
                    ProdId = c.Product.Id, Id = c.Id, ProductName = c.Product.Name, Quantity = c.Quantity, Image = Helper.ConvertToBitmapImage(c.Product.Image.First()), UnitPrice = c.Product.Price.ToString("0.0#") + " " + Currency, Total = (c.Product.Price * c.Quantity).ToString("0.0#") + " " + Currency
                });
            }
            if (CartList.Count == 0)
            {
                ProductCount.Text = "no";
            }
            else
            {
                ProductCount.Text = ItemCount.ToString();
            }
            ProductsList.ItemsSource = CartList;
        }
        private async void InitializeAddresses()
        {
            var CustomerTmp = await api.GetCustomersByEmail(Helper.CurrentCustomer());

            Customer = CustomerTmp.First();
            var ResultList = new List <AddressData>();

            foreach (AddressDTO a in Customer.Addresses)
            {
                ResultList.Add(new AddressData {
                    Address = a.Street, City = a.City + ", ", Country = a.Country, Email = Customer.Email,
                    Name    = a.Firstname + " " + a.Lastname, Phone = a.Phone, PostalCode = a.PostalCode
                });
            }
            AddressesList.ItemsSource = ResultList;
            Countries = await api.GetAllCountries();

            var CountryString = new List <string>();

            foreach (CountryDTO c in Countries)
            {
                CountryString.Add(c.Name);
            }
            Country.ItemsSource = CountryString.Distinct();

            HideLoading();
        }
Beispiel #4
0
        private async void Cart_Click(object sender, EventArgs e)
        {
            ListBox Cart = new ListBox();

            Cart.Margin             = new Thickness(0, 12, 0, 0);
            Cart.ItemContainerStyle = Application.Current.Resources["NoSelectColor"] as Style;
            Cart.ItemTemplate       = Application.Current.Resources["CartItemTemplate"] as DataTemplate;
            var Customer = await api.GetCustomersByEmail(Helper.CurrentCustomer());

            var Products = Customer.First().ShoppingCart;

            foreach (CartItemDTO c in Products)
            {
                Cart.Items.Add(new MainPage.CartData {
                    ProdId = c.Product.Id, Id = c.Id, ProductName = c.Product.Name, Quantity = c.Quantity, Image = Helper.ConvertToBitmapImage(c.Product.Image.First()), UnitPrice = c.Product.Price.ToString("0.0#") + " " + Currency, Total = (c.Product.Price * c.Quantity).ToString("0.0#") + " " + Currency
                });
            }
            CustomMessageBox messageBox = new CustomMessageBox()
            {
                Caption           = "Shopping Cart",
                LeftButtonContent = "Dismiss",
                Content           = Cart
            };

            messageBox.Show();
        }
Beispiel #5
0
        private async Task SelectedFilter(string Filter, string Search)
        {
            var SearchResultsList  = FindViewById <ListView>(Resource.Id.searchlistcustomer);
            var SearchResultsCount = FindViewById <TextView>(Resource.Id.searchresultscustomer);

            switch (Filter)
            {
            case "Email":
                CustomersList = await api.GetCustomersByEmail(Search);

                break;

            case "Username":
                CustomersList = await api.GetCustomersByUsername(Search);

                break;

            case "Firstname":
                CustomersList = await api.GetCustomersByFirstname(Search);

                break;

            case "Lastname":
                CustomersList = await api.GetCustomersByLastname(Search);

                break;

            case "Fullname":
                CustomersList = await api.GetCustomersByFullname(Search);

                break;

            case "Company":
                CustomersList = await api.GetCustomersByCompany(Search);

                break;

            case "Phone":
                CustomersList = await api.GetCustomersByPhone(Search);

                break;

            case "Postal Code":
                CustomersList = await api.GetCustomersByPostalCode(Search);

                break;
            }
            SearchResultsList.Adapter     = new CustomersSearchAdapter(this, CustomersList);
            SearchResultsCount.Text       = CustomersList.Length.ToString() + " Results Found";
            SearchResultsCount.Visibility = ViewStates.Visible;
            dialog.Dismiss();
        }
Beispiel #6
0
        private async void InitializeOrder()
        {
            Order = await api.GetOrderById(Id);

            Currency = await api.GetCurrency();

            var CustomerTmp = await api.GetCustomersByEmail(Helpers.Helper.CurrentCustomer());

            Customer = CustomerTmp.First();

            OrderTotalConfirmation.Text = Order.Total.ToString("0.0#") + " " + Currency;

            BillingName.Text    = Order.BillingAddress.Firstname + " " + Order.BillingAddress.Lastname;
            BillingEmail.Text   = Customer.Email;
            BillingPhone.Text   = Order.BillingAddress.Phone;
            BillingStreet.Text  = Order.BillingAddress.Street;
            BillingCity.Text    = Order.BillingAddress.City + ", ";
            BillingPostal.Text  = Order.BillingAddress.PostalCode;
            BillingCountry.Text = Order.BillingAddress.Country;

            ShippingName.Text    = Order.ShippingAddress.Firstname + " " + Order.ShippingAddress.Lastname;
            ShippingEmail.Text   = Customer.Email;
            ShippingPhone.Text   = Order.ShippingAddress.Phone;
            ShippingStreet.Text  = Order.ShippingAddress.Street;
            ShippingCity.Text    = Order.ShippingAddress.City + ", ";
            ShippingPostal.Text  = Order.ShippingAddress.PostalCode;
            ShippingCountry.Text = Order.ShippingAddress.Country;

            var Result = new List <MainPage.CartData>();

            foreach (OrderItemDTO c in Order.ProductsList)
            {
                Result.Add(new MainPage.CartData
                {
                    Id          = c.OrderId,
                    ProdId      = c.Product.Id,
                    Image       = Helper.ConvertToBitmapImage(c.Product.Image.First()),
                    ProductName = c.Product.Name,
                    Quantity    = c.Quantity,
                    Total       = (c.Quantity * c.Product.Price).ToString("0.#"),
                    UnitPrice   = c.Product.Price.ToString("0.#") + " " + Currency
                });
            }
            ProductsList.ItemsSource = Result;
            HideLoading();
        }
Beispiel #7
0
        private async void InitializeCheckout()
        {
            Currency = await api.GetCurrency();

            var CustomerTmp = await api.GetCustomersByEmail(Helpers.Helper.CurrentCustomer());

            Customer = CustomerTmp.First();
            var AddressesA = new List <AddressData>();

            foreach (AddressDTO a in Customer.Addresses)
            {
                AddressesA.Add(new AddressData {
                    Address = a.Firstname + " " + a.Lastname + "," + a.Phone + "," + a.Street + "," + a.City + "," + a.PostalCode + "," + a.Country, Id = a.Id
                });
            }

            var ShippingM = new List <string>(await api.GetShippingMethods()).Distinct();

            ShippingMethodPicker.ItemsSource = ShippingM;
            BillingPicker.ItemsSource        = AddressesA;
            ShippingPicker.ItemsSource       = AddressesA;
            PaymentPicker.ItemsSource        = await api.GetPaymentMethods();

            decimal SubTotalValue = 0;

            foreach (CartItemDTO c in Customer.ShoppingCart)
            {
                SubTotalValue += c.Product.Price * c.Quantity;
            }

            var ShipTmp = await api.GetShippingFees(Customer.Id);

            var TaxTmp = await api.GetTaxFees(Customer.Id);

            ShippingFees.Text  = ShipTmp.ToString("0.0");
            OtherFees.Text     = TaxTmp.ToString("0.0");
            SubTotal.Text      = SubTotalValue.ToString("0.0#") + " " + Currency;
            ShippingFees.Text  = ShippingFeesValue.ToString("0.0#") + " " + Currency;;
            OtherFees.Text     = OtherFeesValue.ToString("0.0#") + " " + Currency;
            Total              = SubTotalValue + ShippingFeesValue + OtherFeesValue;
            OrderTotalPay.Text = Total.ToString("0.0#") + " " + Currency;
            HideLoading();
        }
        private async Task GetCart()
        {
            var CustomerEmail = Intent.GetStringExtra("customeremail");
            var CartTmp       = await api.GetCustomersByEmail(CustomerEmail);

            Cart = CartTmp.First();
            var ProductsList = FindViewById <ListView>(Resource.Id.cartproductslist);

            if (Wishlist)
            {
                ProductsList.Adapter = new CartProductsAdapter(this, Cart.Wishlist.ToArray(), await api.GetCurrency());
            }
            else
            {
                ProductsList.Adapter = new CartProductsAdapter(this, Cart.ShoppingCart.ToArray(), await api.GetCurrency());
            }

            dialog.Dismiss();
        }
Beispiel #9
0
        private async Task InitializeCart()
        {
            var CustomerA = await api.GetCustomersByEmail(CustomerEmail);

            Customer  = CustomerA.First();
            Name.Text = Customer.FullName;

            var CartRes = new List <OrderDetails.OrderDetailsProduct>();

            foreach (CartItemDTO p in Customer.ShoppingCart)
            {
                CartRes.Add(new OrderDetails.OrderDetailsProduct
                {
                    Image    = ConvertToBitmapImage(p.Product.Image.First()),
                    Product  = p.Product.Name,
                    Quantity = p.Quantity,
                    Total    = ((decimal)p.Quantity * p.Product.Price).ToString()
                });
            }
            CartProducts.ItemsSource = CartRes;
        }
Beispiel #10
0
        private async void InitializeOrders()
        {
            var CustomerTmp = await api.GetCustomersByEmail(Helpers.Helper.CurrentCustomer());

            var Currency = await api.GetCurrency();

            Customer = CustomerTmp.First();
            Orders   = await api.CustomerIdOrders(Customer.Id);

            var Result = new List <OrderItemData>();

            foreach (OrderDTO o in Orders)
            {
                SolidColorBrush Status = null;
                switch (o.OrderStatus)
                {
                case OrderStatus.Complete:
                    Status = new SolidColorBrush(Colors.Green);
                    break;

                case OrderStatus.Cancelled:
                    Status = new SolidColorBrush(Colors.Red);
                    break;

                case OrderStatus.Pending:
                    Status = new SolidColorBrush(Colors.Yellow);
                    break;

                case OrderStatus.Processing:
                    Status = new SolidColorBrush(Colors.Orange);
                    break;
                }
                Result.Add(new OrderItemData {
                    Id = o.OrderID, Date = o.CreateDate.ToString(), Status = o.OrderStatus.ToString(), Image = Helpers.Helper.ConvertToBitmapImage(o.ProductsList.First().Product.Image.First()), StatusColor = Status, Total = o.Total.ToString("0.0#") + " " + Currency
                });
            }
            OrdersList.ItemsSource = Result;
            HideLoading();
        }
Beispiel #11
0
        private async void InitializeMainPages()
        {
            string Current = "";

            UserSettings.TryGetValue("current_user", out Current);
            var tmp = await api.GetCustomersByEmail(Current);

            Currency = await api.GetCurrency();

            Customer          = tmp.First();
            CustomerName.Text = Customer.FullName;
            var Featured = await api.FeaturedProducts();

            FeaturedCount = Featured.Count();
            var FeaturedList = new List <ProductData>();
            int FeatCount    = Helper.GetSetting <int>("featured_count");
            int tmpCount     = 0;

            foreach (ProductDTO p in Featured)
            {
                if (tmpCount == FeatCount)
                {
                    break;
                }
                FeaturedList.Add(new ProductData {
                    Id = p.Id, ProductName = p.Name, Description = p.Description, Image = Helper.ConvertToBitmapImage(p.Image.First()), Value = p.Price.ToString("0") + " " + Currency
                });
                tmpCount++;
            }
            FeaturedProducts.ItemsSource = FeaturedList;
            var BestsellersA = await api.GetBestsellerByAmount();

            var BestsellersQ = await api.GetBestsellerByQuantity();

            var Bests     = new List <ProductData>();
            var BestCount = Helper.GetSetting <int>("bestsellers_count") / 2;

            for (int i = 0; i < BestCount; i++)
            {
                if (i < BestsellersA.Count())
                {
                    Bests.Add(new ProductData {
                        Id = BestsellersA[i].Product.Id, ProductName = BestsellersA[i].Product.Name, Value = BestsellersA[i].Product.Price.ToString("0.#") + " " + Currency, Image = Helper.ConvertToBitmapImage(BestsellersA[i].Product.Image.First())
                    });
                }
                if (i < BestsellersQ.Count())
                {
                    Bests.Add(new ProductData {
                        Id = BestsellersQ[i].Product.Id, ProductName = BestsellersQ[i].Product.Name, Value = BestsellersQ[i].Product.Price.ToString("0.#") + " " + Currency, Image = Helper.ConvertToBitmapImage(BestsellersQ[i].Product.Image.First())
                    });
                }
            }
            BestsellersList.ItemsSource = Bests;
            var Categories = await api.GetMainCategories();

            var CategoriesList = new List <CategoryData>();

            foreach (CategoryDTO c in Categories)
            {
                CategoriesList.Add(new CategoryData {
                    Id = c.Id, Name = c.Name, Image = Helper.ConvertToBitmapImage(c.Image)
                });
            }
            CategoriesListbox.ItemsSource = CategoriesList;
            HideLoading();
        }
Beispiel #12
0
        private async Task InitializeOrder()
        {
            Order = await api.GetOrderById(Id);

            this.Date.Text = Order.CreateDate.ToString();
            decimal result   = 0;
            var     Currency = await api.GetCurrency();

            OrderStatus.Text    = Order.OrderStatus.ToString();
            ProductTile.Message = Order.ProductsList.First().Product.Price.ToString("0.0#") + " " + Currency;
            ProductTile.Title   = Order.ProductsList.First().Product.Name;
            ProductTile.Source  = (ImageSource)ConvertToBitmapImage(Order.ProductsList.First().Product.Image.First());
            var Products = new List <OrderDetailsProduct>();

            foreach (OrderItemDTO item in Order.ProductsList)
            {
                var toDecimal = (decimal)item.Quantity;
                result += item.Product.Price * toDecimal;
                Products.Add(new OrderDetailsProduct {
                    Product = item.Product.Name, Quantity = item.Quantity, Total = (item.Product.Price * toDecimal).ToString("0.0#"),
                    Image   = (ImageSource)ConvertToBitmapImage(item.Product.Image.First())
                });
            }

            ProductsList.ItemsSource = Products;

            Total.Text = result.ToString("0.0#") + " " + Currency;

            switch (Order.ShippingStatus)
            {
            case ShippingStatus.NotYetShipped:
                ShippingStatusDetails.Text = "Not Yet Shipped";
                break;

            case ShippingStatus.PartiallyShipped:
                ShippingStatusDetails.Text = "Partially Shipped";
                break;

            case ShippingStatus.ShippingNotRequired:
                ShippingStatusDetails.Text = "Shipping Not Required";
                break;

            default:
                ShippingStatusDetails.Text = Order.ShippingStatus.ToString();
                break;
            }
            switch (Order.PayStatus)
            {
            case PaymentStatus.PartiallyRefunded:
                PaymentStatusDetails.Text = "Partially Refunded";
                break;

            default:
                PaymentStatusDetails.Text = Order.PayStatus.ToString();
                break;
            }

            var CustomerTask = await api.GetCustomersByEmail(Order.OrderEmail);

            Customer = CustomerTask.First();

            Email.Text   = Customer.Email;
            Name.Text    = Customer.FullName;
            Address.Text = Order.Address;
            if (Customer.Phone == null)
            {
                Phone.Text = "Not Available";
            }
            else
            {
                Phone.Text = Customer.Phone;
            }
        }
Beispiel #13
0
        private async Task InitializeCustomer()
        {
            var CustomerA = await api.GetCustomersByEmail(CustomerEmail);

            Customer = CustomerA.First();
            if (Customer.Active)
            {
                Status.Text       = "Active";
                Status.Foreground = new SolidColorBrush(Colors.Green);
            }
            else
            {
                Status.Text       = "Inactive";
                Status.Foreground = new SolidColorBrush(Colors.Red);
            }
            Name.Text     = Customer.FullName ?? "Not Available";
            Email.Text    = Customer.Email;
            Gender.Text   = Customer.Gender ?? "Not Available";
            Birthday.Text = Customer.Birthday ?? "Not Available";
            Company.Text  = Customer.Company ?? "Not Available";
            if (Customer.IsAdmin)
            {
                Roles.Text = "Admin";
            }
            else
            {
                Roles.Text = "Customer";
            }
            LastActivity.Text = Customer.Activity.ToString();
            TextBlock Comment = new TextBlock();

            if (Customer.AdminComment == null)
            {
                Comment.Text       = "No Comments";
                AddComment.Content = "Add Comment";
            }
            else
            {
                Comment.Text       = Customer.AdminComment;
                AddComment.Content = "Edit Comment";
            }
            Comments.Children.Add(Comment);
            foreach (AddressDTO ad in Customer.Addresses)
            {
                TextBlock Address = new TextBlock();
                Address.TextWrapping = TextWrapping.Wrap;
                Address.Text         = ad.Firstname + " " + ad.Lastname + ", " + ad.Street + ", " + ad.City + ", " + ad.PostalCode + ", " + ad.Country;;
                Addresses.Children.Add(Address);
            }

            var CartRes = new List <OrderDetails.OrderDetailsProduct>();

            foreach (CartItemDTO p in Customer.ShoppingCart)
            {
                CartRes.Add(new OrderDetails.OrderDetailsProduct
                {
                    Image    = ConvertToBitmapImage(p.Product.Image.First()),
                    Product  = p.Product.Name,
                    Quantity = p.Quantity,
                    Total    = ((decimal)p.Quantity * p.Product.Price).ToString()
                });
            }
            Cart.ItemsSource = CartRes;
            var WishRes = new List <OrderDetails.OrderDetailsProduct>();

            foreach (CartItemDTO p in Customer.Wishlist)
            {
                WishRes.Add(new OrderDetails.OrderDetailsProduct
                {
                    Image    = ConvertToBitmapImage(p.Product.Image.First()),
                    Product  = p.Product.Name,
                    Quantity = p.Quantity,
                    Total    = ((decimal)p.Quantity * p.Product.Price).ToString()
                });
            }
            Wishlist.ItemsSource = WishRes;
        }
Beispiel #14
0
        private async Task RefreshCustomer()
        {
            var GetCustomer = await api.GetCustomersByEmail(Intent.GetStringExtra("customeremail"));

            Customer = GetCustomer.First();
        }