Beispiel #1
0
        public async Task <ProductAPI> PerformGetProductAsync(string itemcode)
        {
            Debug.WriteLine("Activate get Product");
            ProductAPI Items = new ProductAPI();

            Debug.WriteLine("mã hàng:" + itemcode);
            var uri = new Uri(string.Format(Constants.RestProductUrl, itemcode));

            try
            {
                Debug.WriteLine("link:" + uri);
                var response = await client.GetAsync(uri);

                if (response.IsSuccessStatusCode)
                {
                    var content = await response.Content.ReadAsStringAsync();

                    Debug.WriteLine(content);
                    Items = JsonConvert.DeserializeObject <ProductAPI>(content);
                    Debug.WriteLine("Sản phẩm lấy được: " + Items.item.pro_name);
                    return(Items);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(@"				ERROR {0}", ex.Message);
            }
            throw new NotImplementedException();
        }
Beispiel #2
0
 public ProductListing()
 {
     this.ChangeRouteEvent = new ChangeRouteEvent();
     InitializeComponent();
     this._productAPI = new ProductAPI();
     _filter          = new ProductFilter();
     this.DataContext = this;
 }
Beispiel #3
0
        public ActionResult Form(ProductViewModel model)
        {
            try
            {
                if (string.IsNullOrEmpty(model.CategoryIdSelect) || model.CategoryIdSelect == "0")
                {
                    throw new Exception("Selecione uma Categoria.");
                }


                if (string.IsNullOrEmpty(model.Name))
                {
                    throw new Exception("Informe o Produto.");
                }

                if (model.Price <= 0)
                {
                    throw new Exception("Informe a Preço.");
                }

                if (model.Id == 0)
                {
                    model.StoreId    = Util.Configuracao.PerfilSelecionadoLogado.Cliente.Id;
                    model.CategoryId = Convert.ToInt32(model.CategoryIdSelect);

                    ProductAPI   api     = new ProductAPI();
                    ProductModel created = (api.Create(model.Cast <ProductModel>()));

                    model.ReturnAttribute.Status   = Helpers.Constantes.StatusRetorno.Sucesso;
                    model.ReturnAttribute.Mensagem = "Novo produto cadastrada com sucesso!";
                    model.Id = created.Id;
                }
                else
                {
                    // Chamar PUT

                    model.ReturnAttribute.Status   = Helpers.Constantes.StatusRetorno.Sucesso;
                    model.ReturnAttribute.Mensagem = "Oroduto alterado com sucesso!";
                }
            }
            catch (Exception ex)
            {
                model.ReturnAttribute.Titulo   = "Erro ao editar produto";
                model.ReturnAttribute.Mensagem = ex.Message;
                model.ReturnAttribute.Status   = Helpers.Constantes.StatusRetorno.Erro;
            }
            finally
            {
                loadCategory(model);
            }


            return(View(model));
        }
Beispiel #4
0
 private void ProductDetail_Loaded(object sender, RoutedEventArgs e)
 {
     _productApi         = new ProductAPI();
     _productPropertyApi = new ProductPropertyAPI();;
     Product             = getProduct(ProductId);
     ProductProperties   = getProductProperties(ProductId);
     Selected            = FindCheaperProperty();
     setProductImages();
     setAvailableProducts();
     setBodySizes();
     this.DataContext = this;
 }
Beispiel #5
0
        public ActionResult Lista()
        {
            try
            {
                ProductAPI api   = new ProductAPI();
                var        lista = api.GetAll(Util.Configuracao.PerfilSelecionadoLogado.Cliente.Id);

                return(View(lista));
            }
            catch (Exception)
            {
                throw;
            }
        }
        /// <summary>
        /// MainWindow
        /// </summary>
        public MainWindow()
        {
            m_uniqueProductView = null;

            Application.Current.MainWindow.WindowState = WindowState.Maximized;
            InitializeComponent();

            m_isActive = true;

            m_off       = new ProductAPI();
            ComboFacets = Enum.GetNames(typeof(Facets)).ToList();
            m_cache     = new Dictionary <string, ObservableCollection <Tags> >();

            Products         = new ObservableCollection <Product>();
            this.DataContext = this;
        }
 private void ProductListingItem_Loaded(object sender, RoutedEventArgs e)
 {
     _productAPI = new ProductAPI();
     this.initialize();
 }
Beispiel #8
0
        public async void SetLayout(string itemcode)
        {
            Debug.WriteLine("active layout");
            NavigationPage.SetHasBackButton(this, true);
            NavigationPage.SetHasNavigationBar(this, true);
            string hotline = "19001122";

            var scroll = new ScrollView()
            {
                BackgroundColor = Color.FromHex("#dddee3")
            };
            var layout     = new StackLayout();
            var paddingTLR = new Thickness(10, 10, 10, 10);
            var paddingTB  = new Thickness(0, 10, 0, 10);

            //Trích xuất dữ liệu
            LayoutDataResult dataresult = new LayoutDataResult();
            ProductAPI       proapi     = new ProductAPI();
            CompanyAPI       comapi     = new CompanyAPI();
            ImageAPI         image      = new ImageAPI();

            try
            {
                proapi = await App.SvManager.GetProductAsync(itemcode);

                comapi = await App.SvManager.GetCompanyAsync(itemcode);

                image = await App.SvManager.GetImageAsync(itemcode);

                Product pro = proapi.item;
                Company com = comapi.company;

                dataresult.product = pro;
                dataresult.company = com;

                if (image.image.Contains("data:image/png;base64,"))
                {
                    string head = "data:image/png;base64,";
                    image.image = image.image.Remove(0, head.Length);
                }
                Debug.WriteLine(dataresult.image);

                dataresult.image = image.image;
                StackLayout stack1      = new StackLayout();
                Image       verifyimage = new Image
                {
                    HeightRequest = Application.Current.MainPage.Width / 4,
                    WidthRequest  = Application.Current.MainPage.Width / 4,
                };
                System.Diagnostics.Debug.WriteLine("Image point" + Application.Current.MainPage.Width / 4);
                Label verifyLabel = new Label()
                {
                    TextColor = Color.Red
                };
                Label thanksLabel = new Label()
                {
                    TextColor = Color.Red
                };
                var muaspButton = new Button
                {
                    Text            = "MUA SẢN PHẨM",
                    TextColor       = Color.White,
                    BackgroundColor = Color.FromHex(Constants.ColorPrimary),
                    IsVisible       = App.Bought
                };
                string verifyLabelText = "", thanksLabelText = "";
                stack1.Children.Add(verifyimage);
                stack1.Children.Add(verifyLabel);
                stack1.Children.Add(thanksLabel);
                layout.Children.Add(stack1);

                stack1.BackgroundColor = Color.White;
                stack1.Padding         = paddingTB;
                layout.Spacing         = 10;
                scroll.Content         = layout;


                if (proapi.code == 444 || proapi.code == 400 || proapi.code == 445)
                {
                    verifyimage.Source            = "icon_result_2";
                    verifyLabelText               = "SẢN PHẨM KHÔNG CÓ TRONG HỆ THỐNG";
                    thanksLabelText               = "Bạn hãy cẩn thận";
                    verifyLabel.Text              = verifyLabelText;
                    verifyLabel.FontSize          = Device.GetNamedSize(NamedSize.Medium, typeof(Label));
                    verifyLabel.HorizontalOptions = LayoutOptions.CenterAndExpand;

                    thanksLabel.Text              = thanksLabelText;
                    thanksLabel.FontSize          = Device.GetNamedSize(NamedSize.Small, typeof(Label));
                    thanksLabel.HorizontalOptions = LayoutOptions.CenterAndExpand;
                }
                else
                {
                    if (dataresult.product.ite_status == "3")
                    {
                        verifyimage.Source    = "icon_result_3";
                        verifyLabelText       = "SẢN PHẨM CHÍNH HÃNG";
                        thanksLabelText       = "Cảm ơn bạn đã mua hàng";
                        verifyLabel.TextColor = Color.Green;
                        thanksLabel.TextColor = Color.Green;
                        App.Bought            = true;
                    }
                    else
                    if (dataresult.product.ite_status != "3" && proapi.changed == 0)
                    {
                        verifyimage.Source = "icon_result_1";
                        verifyLabelText    = "SẢN PHẨM ĐÃ ĐƯỢC MUA";
                        thanksLabelText    = "Ngày bán: " + pro.ite_soldtime;
                        App.Bought         = false;
                    }

                    else
                    if (dataresult.product.ite_status != "3" && proapi.changed == 1)
                    {
                        verifyimage.Source    = "icon_result_1";
                        verifyLabelText       = "XIN CẢM ƠN BẠN ĐÃ MUA HÀNG";
                        thanksLabelText       = "Vào lúc: " + pro.ite_soldtime;
                        verifyLabel.TextColor = Color.Green;
                        thanksLabel.TextColor = Color.Green;
                        App.Bought            = true;
                    }
                    Debug.WriteLine(verifyimage.Source.ToString());
                    verifyLabel.Text              = verifyLabelText;
                    verifyLabel.FontSize          = Device.GetNamedSize(NamedSize.Medium, typeof(Label));
                    verifyLabel.FontAttributes    = FontAttributes.Bold;
                    verifyLabel.HorizontalOptions = LayoutOptions.CenterAndExpand;

                    thanksLabel.Text              = thanksLabelText;
                    thanksLabel.FontSize          = Device.GetNamedSize(NamedSize.Small, typeof(Label));
                    thanksLabel.HorizontalOptions = LayoutOptions.CenterAndExpand;

                    //Ảnh sản phẩm
                    var proimage = new Image()
                    {
                        WidthRequest = App.Current.MainPage.Width / 3
                    };
                    if (dataresult.image != "")
                    {
                        proimage = new Image();
                        try
                        {
                            byte[] proimageBytes = Convert.FromBase64String(dataresult.image);
                            proimage.Source = ImageSource.FromStream(
                                () => new MemoryStream(proimageBytes));
                        }
                        catch
                        {
                            proimage.Source = "icon_default";
                        }
                    }
                    else
                    {
                        proimage.Source = "icon_default";
                    }
                    //Nội dung sản phẩm
                    var productdetailStack = new StackLayout();
                    var itemnameLabel      = new Label
                    {
                        Text      = pro.pro_name,
                        TextColor = Color.Black
                    };
                    itemnameLabel.FontAttributes = FontAttributes.Bold;

                    var stackitemcodeLabel = new StackLayout()
                    {
                        Orientation = StackOrientation.Horizontal
                    };
                    var maSPLabel = new Label
                    {
                        Text           = "Mã SP: ",
                        TextColor      = Color.Black,
                        FontAttributes = FontAttributes.Bold
                    };
                    var itemcodeLabel = new Label
                    {
                        Text      = itemcode,
                        TextColor = Color.Black
                    };
                    var hotlineLabel = new Label
                    {
                        Text      = "Hotline: " + hotline,
                        TextColor = Color.Black
                    };
                    stackitemcodeLabel.Children.Add(maSPLabel);
                    stackitemcodeLabel.Children.Add(itemcodeLabel);

                    productdetailStack.Children.Add(itemnameLabel);
                    productdetailStack.Children.Add(stackitemcodeLabel);
                    productdetailStack.Children.Add(hotlineLabel);
                    productdetailStack.Children.Add(muaspButton);

                    var grid = new Grid();
                    grid.RowDefinitions.Add(new RowDefinition {
                        Height = Application.Current.MainPage.Width / 3
                    });
                    grid.ColumnDefinitions.Add(new ColumnDefinition {
                        Width = new GridLength(2, GridUnitType.Star)
                    });
                    grid.ColumnDefinitions.Add(new ColumnDefinition {
                        Width = new GridLength(3, GridUnitType.Star)
                    });
                    grid.Children.Add(proimage, 0, 0);
                    grid.Children.Add(productdetailStack, 1, 0);
                    var stack2 = new StackLayout();
                    stack2.Children.Add(grid);
                    stack2.Padding         = paddingTB;
                    stack2.BackgroundColor = Color.White;
                    layout.Children.Add(stack2);

                    var stackprivate = new StackLayout();
                    if (App.sessionId != null)
                    {
                        var privatetitle = new Label
                        {
                            Text           = "THÔNG TIN NỘI BỘ",
                            FontSize       = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
                            FontAttributes = FontAttributes.Bold,
                            TextColor      = Color.Black
                        };
                        var privategapBoxView = new BoxView
                        {
                            Color           = Color.Gray,
                            HeightRequest   = 1,
                            WidthRequest    = (Application.Current.MainPage.Width / 7) * 6,
                            VerticalOptions = LayoutOptions.Center
                        };
                        var private_z = new Label()
                        {
                            Text     = dataresult.product.private_z,
                            FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)),
                            //FontAttributes = FontAttributes.Bold,
                            TextColor = Color.Black
                        };
                        stackprivate.Children.Add(privatetitle);
                        stackprivate.Children.Add(privategapBoxView);
                        stackprivate.Children.Add(private_z);

                        stackprivate.Padding         = paddingTLR;
                        stackprivate.BackgroundColor = Color.White;
                        layout.Children.Add(stackprivate);
                    }

                    //Thông tin chi tiết sản phẩm
                    var stack3 = new StackLayout();
                    var productdetailWebView = new WebView
                    {
                        Source = new HtmlWebViewSource
                        {
                            Html = @"<html><body>" + dataresult.product.pro_detail + "</body></html>"
                        },
                        HeightRequest = 250,
                        //MinimumHeightRequest = 100,
                        WidthRequest = 1000
                    };
                    var productdetailtitleLabel = new Label
                    {
                        Text           = "THÔNG TIN SẢN PHẨM",
                        FontSize       = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
                        FontAttributes = FontAttributes.Bold,
                        TextColor      = Color.Black
                    };
                    stack3.Children.Add(productdetailtitleLabel);

                    var gapBoxView1 = new BoxView
                    {
                        Color           = Color.Gray,
                        HeightRequest   = 1,
                        WidthRequest    = (Application.Current.MainPage.Width / 7) * 6,
                        VerticalOptions = LayoutOptions.Center
                    };


                    stack3.Children.Add(gapBoxView1);

                    stack3.Children.Add(productdetailWebView);

                    stack3.Padding         = paddingTLR;
                    stack3.BackgroundColor = Color.White;
                    layout.Children.Add(stack3);

                    //Mô tả công ty
                    var stack4            = new StackLayout();
                    var companydetailview = new StackLayout();
                    var companytitleLabel = new Label
                    {
                        Text           = "DOANH NGHIỆP SỞ HỮU",
                        FontSize       = Device.GetNamedSize(NamedSize.Medium, typeof(Label)),
                        FontAttributes = FontAttributes.Bold,
                        TextColor      = Color.Black
                    };
                    companydetailview.Children.Add(companytitleLabel);
                    var gapBoxView = new BoxView
                    {
                        Color           = Color.Gray,
                        HeightRequest   = 1,
                        WidthRequest    = (Application.Current.MainPage.Width / 7) * 6,
                        VerticalOptions = LayoutOptions.Center
                    };
                    companydetailview.Children.Add(gapBoxView);
                    var companynameLabel = new Label
                    {
                        Text      = "Tên công ty: " + dataresult.company.name,
                        TextColor = Color.Black
                    };
                    companydetailview.Children.Add(companynameLabel);

                    var companyaddressLabel = new Label
                    {
                        Text      = "Địa chỉ: " + dataresult.company.addr,
                        TextColor = Color.Black
                    };
                    companydetailview.Children.Add(companyaddressLabel);

                    var companyphoneLabel = new Label
                    {
                        Text      = "Điện thoại: " + dataresult.company.mobile,
                        TextColor = Color.Black
                    };
                    companydetailview.Children.Add(companyphoneLabel);

                    var companyemailLabel = new Label
                    {
                        Text      = "Email: " + dataresult.company.email,
                        TextColor = Color.Black
                    };
                    companydetailview.Children.Add(companyemailLabel);

                    var companywebsiteLabel = new Label
                    {
                        Text      = "Website: " + dataresult.company.website,
                        TextColor = Color.Black
                    };
                    companydetailview.Children.Add(companywebsiteLabel);

                    stack4.Children.Add(companydetailview);
                    var endBoxView = new BoxView
                    {
                        BackgroundColor = Color.FromHex(color_theme),
                        HeightRequest   = 50
                    };



                    stack4.Padding         = paddingTLR;
                    stack4.BackgroundColor = Color.White;
                    layout.Children.Add(stack4);

                    layout.Children.Add(endBoxView);

                    //Lưu dự liệu scan vào lịch sử
                    //DateTime now = DateTime.Now.ToLocalTime();
                    string datestring = DateTime.Now.ToString("dd/MM/yy HH:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture);
                    Debug.WriteLine(datestring);
                    HistoryScanItem scannedItem = new HistoryScanItem()
                    {
                        itemcode    = itemcode,
                        itemname    = pro.pro_name,
                        itemimage   = image.image,
                        companyname = com.name,
                        datetime    = datestring
                    };

                    Debug.WriteLine("active database");
                    //App.HDatabase.DeleteAllAsync();
                    await App.HDatabase.SaveItemAsync(scannedItem);

                    App.AppHSI.Insert(0, scannedItem);//xử lý listview android
                    Debug.WriteLine("database save done!");
                    disback              = false;
                    muaspButton.Clicked += async delegate(object sender, EventArgs e)
                    {
                        //var confirmgrid = grid;
                        await Navigation.PushPopupAsync(new BuyDialog(dataresult.image, itemcode, hotline, pro.pro_name));
                    };
                    //var locationresp;
                    Debug.WriteLine("active location");
                    var location = new LocationAPI();
                    Device.BeginInvokeOnMainThread(async() =>
                    {
                        location = await App.SvLocationManager.GetLocationAsync();
                        try
                        {
                            await App.SvLocationManager.UpdateLocationAsync(location, true, itemcode);
                        }
                        catch (Exception ex)
                        {
                            Debug.WriteLine("ko lưu đc location " + ex);
                        }
                    }
                                                   );
                    Device.StartTimer(TimeSpan.FromSeconds(0.1), () =>
                    {
                        // Do something
                        //Debug.WriteLine("Chỉ số đã mua: " + App.Bought);
                        if (App.Bought == false)
                        {
                            muaspButton.IsVisible = false;
                        }
                        //Nút mua sẽ luôn hiển thị khi giá trị bought là false (đã mua)
                        if (App.Bought == false && App.soldtime != null)
                        {
                            //giá trị text chỉ thực hiện thay đổi sau khi đã click vào nút mua tức giá trị soldtime sẽ thay đổi
                            //App soldtime sẽ được khai báo null khi tạo mới một resultpage và sẽ được gán giá trị mới khi click vào mua hàng
                            //verifyimage.Source = "icon_result_1";
                            verifyLabel.Text = "XIN CẢM ƠN BẠN ĐÃ MUA HÀNG";
                            thanksLabel.Text = "Ngày bán: " + App.soldtime;
                            return(false);
                        }
                        return(true); // True = Repeat again, False = Stop the timer
                    });
                }
                Content = scroll;
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
                Debug.WriteLine("Type" + ex.GetType());
                if (ex.GetType().ToString() == "System.NotImplementedException")
                {
                    CheckLoadingInit(itemcode);
                }
                Content = SetErrorPage();
            }
        }