async void OnListViewItemSelected(object sender, EventArgs e)
        {
            Xamarin.Forms.ListView listView1     = (Xamarin.Forms.ListView)sender;
            Models.MaterialDetail  detail_select = (Models.MaterialDetail)listView1.SelectedItem;
            Utils utils = new Utils();

            Models.MaterialHeader header_select = await headerfirebaseHelper.GetMaterial(new Guid(detail_select.HeaderID));

            //header_select.ProductID

            if (this.materialHeader_id != header_select.ID)
            {
                ProductFirebaseHelper productbaseHelper = new ProductFirebaseHelper();

                Models.Product product_select = await productbaseHelper.GetProduct(new Guid(header_select.ProductID));

                await headerfirebaseHelper.AddMaterialHeader(utils.convertObject(product_select.Name), utils.convertObject(product_select.NameEn), utils.convertObject(product_select.ID));

                await Navigation.PushAsync(new MaterialFoodDetail(utils.convertObject(product_select.ID)));
            }
            else
            {
                ProductFirebaseHelper productbaseHelper = new ProductFirebaseHelper();
                Models.Product        product_select    = await productbaseHelper.GetProduct(new Guid(header_select.ProductID));

                await Navigation.PushAsync(new MaterialFoodDetail(header_select.ID, "Update"));
            }
        }
        public async Task InitAsyncDetail()
        {
            Utils utils = new Utils();
            MaterialDetailFirebaseHelper detailFirebase = new MaterialDetailFirebaseHelper();

            listMatrialView.ItemsSource = await detailbaseHelper.GetAllMaterialDetail();

            try
            {
                Models.MaterialDetail detailObject = await detailbaseHelper.GetDetailById(this.detail_id);

                if (detailObject != null)
                {
                    MaterialSourceFirebaseHelper sourceFirebase = new MaterialSourceFirebaseHelper();
                    MaterialSource sourceObject = await sourceFirebase.GetMaterialSourceByID(utils.convertObject(detailObject.MaterialID));

                    MaterialFirebaseHelper headerFirebase  = new MaterialFirebaseHelper();
                    ProductFirebaseHelper  productFirebase = new ProductFirebaseHelper();
                    MaterialHeader         headerObject    = await headerFirebase.GetMaterial(new Guid(detailObject.HeaderID));

                    Models.Product productObject = await productFirebase.GetProduct(new Guid(headerObject.ProductID));

                    Lbl_FoodLabel.Text          = productObject.NameEn;
                    Lbl_UnitDisplay.Text        = detailObject.UnitName;
                    Entry_Quantity.Text         = detailObject.Quantity + "";
                    listMatrialView.ItemsSource = null;
                    Lbl_MaterialLabel.Text      = sourceObject.NameEn;
                }
            }
            catch (Exception ee) { }
        }
Example #3
0
        public async System.Threading.Tasks.Task <string> adjustRemainStockAsync(string foodName)
        {
            string alertMessage = "";

            ProductFirebaseHelper        productFirebase        = new ProductFirebaseHelper();
            MaterialFirebaseHelper       materialFirebaseHelper = new MaterialFirebaseHelper();
            MaterialDetailFirebaseHelper detailFirebaseHelper   = new MaterialDetailFirebaseHelper();
            MaterialSourceFirebaseHelper sourceFirebaseHelper   = new MaterialSourceFirebaseHelper();

            Models.Product pro = await productFirebase.GetProductByNameEn(foodName);

            if (pro != null)
            {
                Models.MaterialHeader header = await materialFirebaseHelper.GetMaterialByProductId(pro.ID.ToString());

                List <Models.MaterialDetail> listDetail = await detailFirebaseHelper.GetAllMaterialByHeader(convertObject(header.ID));

                for (int i = 0; i < listDetail.Count; i++)
                {
                    Models.MaterialDetail detail = listDetail[i];
                    Models.MaterialSource source = await sourceFirebaseHelper.GetMaterialSourceByID(convertObject(detail.MaterialID));

                    source.Quantity = source.Quantity - detail.Quantity;
                    if (source.Quantity < 0)
                    {
                        if (alertMessage.Trim().Length == 0)
                        {
                            alertMessage = "สินค่า " + foodName + " วัตุดิบ " + source.NameEn + " หมด";
                        }
                        else
                        {
                            alertMessage = alertMessage + " วัตุดิบ " + source.NameEn + " หมด";
                        }
                    }
                    else if (source.Quantity <= source.QuantityAlert)
                    {
                        if (alertMessage.Trim().Length == 0)
                        {
                            alertMessage = "สินค่า " + foodName + " วัตุดิบ " + source.NameEn + " เหลือน้อยกว่าที่กำหนดไว้" + source.QuantityAlert;
                        }
                        else
                        {
                            alertMessage = alertMessage + " วัตุดิบ " + source.NameEn + " เหลือน้อยกว่าที่กำหนดไว้ " + source.QuantityAlert;
                        }
                    }
                }
            }
            return(alertMessage);
        }