public void AddProductRowToTable(ProductGet product)
        {
            var gridView = GetTable();

            int Index = gridView.Rows.Add();

            DataGridViewRow NewRow = gridView.Rows[Index];

            NewRow.Cells["PurchaseTable_ProductId"].Value = product.ID;
            NewRow.Cells["PurchaseTable_Name"].Value      = product.Name;

            double purchasePrice = double.Parse(m_UIControl.tb_purchasePrice.Text);

            NewRow.Cells["PurchaseTable_PurchasePrice"].Value = purchasePrice;

            int quantity = int.Parse(m_UIControl.tb_quantity.Text);

            NewRow.Cells["PurchaseTable_Quantity"].Value = quantity;

            var discountRate = double.Parse(m_UIControl.tb_discount.Text);

            NewRow.Cells["PurchaseTable_DiscountRate"].Value = discountRate;

            double discountPerProduct = purchasePrice * discountRate / 100;
            double totalDiscount      = discountPerProduct * quantity;

            NewRow.Cells["PurchaseTable_TotalDiscount"].Value = totalDiscount;

            UpdateUILabels();
            ResetProductDetails();
            ResetLabels();
        }
        public void UpdateProductInTable(ProductGet product)
        {
            // find the row with this productID
            var table = GetTable();

            for (int i = 0; i < table.Rows.Count; ++i)
            {
                DataGridViewRow row = table.Rows[i];
                int             id  = int.Parse(row.Cells["ProductTableColumn_ID"].Value.ToString());

                if (product.ID == id)
                {
                    row.Cells["ProductTableColumn_ID"].Value             = product.ID;
                    row.Cells["ProductTableColumn_Barcode"].Value        = product.Barcode;
                    row.Cells["ProductTableColumn_Name"].Value           = product.Name;
                    row.Cells["ProductTableColumn_Category"].Value       = product.Category.Name;
                    row.Cells["ProductTableColumn_RetailPrice"].Value    = product.RetailPrice;
                    row.Cells["ProductTableColumn_WholesalePrice"].Value = product.WholeSalePrice;
                    row.Cells["ProductTableColumn_AvailableStock"].Value
                        = DataService.GetStockDataController().GetByProductID(product.ID).AvailableQuantity;

                    return;
                }
            }
        }
Exemple #3
0
        public void UpdateProductDetails()
        {
            if (!ValidateProductDetails())
            {
                return;
            }

            string barcode = m_UIControl.tf_ProductDetails_Barcode.Text.Trim();

            if (CheckIfBarcodeAlreadyInUse(barcode))
            {
                m_UIControl.lbl_Error.Text = "This Barcode is already in use!";
                return;
            }

            string name = m_UIControl.tf_ProductDetails_ProductName.Text.Trim();

            if (CheckIfProductNameAlreadyInUse(name))
            {
                m_UIControl.lbl_Error.Text = "This Name is already in use!";
                return;
            }

            ProductGet existingProduct = m_Product;

            ProductPost product = new ProductPost(existingProduct);

            product.ID             = int.Parse(m_UIControl.tf_ProductDetails_ProductID.Text.Trim());
            product.Barcode        = barcode;
            product.Name           = name;
            product.Description    = m_UIControl.tf_ProductDetails_Description.Text.Trim();
            product.Unit           = ProductUnit.GetUnitFromText(m_UIControl.cb_Unit.Text);
            product.RetailPrice    = int.Parse(m_UIControl.tf_ProductDetails_RetailPrice.Text.Trim());
            product.WholeSalePrice = int.Parse(m_UIControl.tf_ProductDetails_WholesalePrice.Text.Trim());
            product.Discount       = double.Parse(m_UIControl.tf_ProductDetails_Discount.Text.Trim());
            product.CGST           = double.Parse(m_UIControl.tf_ProductDetails_CGST.Text.Trim());
            product.SGST           = double.Parse(m_UIControl.tf_ProductDetails_SGST.Text.Trim());

            string categoryName = m_UIControl.cb_ProductDetails_Category.Text.Trim();

            product.CategoryID = DataService.GetCategoryDataController().GetByName(categoryName).ID;

            bool imageModified = false;

            if (m_UIControl.pictureBox_ProductImage.Tag != null)
            {
                product.ImagePath = m_UIControl.pictureBox_ProductImage.Tag.ToString();
                imageModified     = true;
            }

            m_Product = DataService.GetProductDataController().Put(product, imageModified);
            string message = (m_Product == null) ? "Failed to Update Product Details!" : "Product Details updated successfully!";

            MessageBox.Show(m_UIControl, message);

            // fire entry updated event
            Event_EntryUpdated e = new Event_EntryUpdated(DBEntityType.PRODUCT, m_Product.ID);

            EventBroadcaster.Get().BroadcastEvent(e);
        }
Exemple #4
0
        private void Initialize(int productID)
        {
            m_Product = DataService.GetProductDataController().Get(productID);

            InitializeProductDetails(productID);
            InitializeAvailableStockLabel();
        }
        public void InitializeTextBoxes(ProductGet product)
        {
            m_UIControl.tb_barCode.Text     = product.Barcode.ToString();
            m_UIControl.cb_productName.Text = product.Name;
            var stock = DataService.GetStockDataController().GetByProductID(product.ID);

            if (stock == null)
            {
                return;
            }
            m_UIControl.tb_availableStock.Text = stock.AvailableQuantity.ToString();
        }
Exemple #6
0
        private void AddProductToTable(ProductGet product)
        {
            if (product == null)
            {
                lbl_errorText.Text = "Record not found";
                return;
            }

            BillProductDetails billProductDetails = new BillProductDetails(product, 1);

            m_newTransactionController.OnAddProduct(billProductDetails);
            ResetTextBox();
        }
Exemple #7
0
        private void btn_addProductToBill_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(tb_barCode.Text) || !Validator.IsInteger(tb_barCode.Text))
            {
                lbl_errorText.Text = "Please enter valid bar code";
                return;
            }
            lbl_errorText.Text = string.Empty;
            var barcode = this.tb_barCode.Text;

            ProductGet product = DataService.GetProductDataController().GetByBarcode(barcode);

            AddProductToTable(product);
        }
        public void AddProductToTable(ProductGet product)
        {
            var             table  = GetTable();
            int             Index  = table.Rows.Add();
            DataGridViewRow NewRow = table.Rows[Index];

            NewRow.Cells["ProductTableColumn_ID"].Value             = product.ID;
            NewRow.Cells["ProductTableColumn_Barcode"].Value        = product.Barcode;
            NewRow.Cells["ProductTableColumn_Name"].Value           = product.Name;
            NewRow.Cells["ProductTableColumn_Category"].Value       = product.Category.Name;
            NewRow.Cells["ProductTableColumn_RetailPrice"].Value    = product.RetailPrice;
            NewRow.Cells["ProductTableColumn_WholesalePrice"].Value = product.WholeSalePrice;
            NewRow.Cells["ProductTableColumn_AvailableStock"].Value
                = DataService.GetStockDataController().GetByProductID(product.ID).AvailableQuantity;
        }
Exemple #9
0
        private string GetImagePath(ProductGet product)
        {
            if (product.ImagePath == null)
            {
                return(null);
            }

            string imagePath = product.ImagePath.Split(',')[0];

            if (imagePath == null || imagePath.Length <= 0)
            {
                return(null);
            }

            string directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            string path = directory + "/" + imagePath;

            return(path);
        }
        private double CalculateDiscountedPrice(ProductGet product)
        {
            double discountInRupees = product.RetailPrice * (product.Discount / 100);

            return(product.RetailPrice - discountInRupees);
        }
Exemple #11
0
 public BillProductDetails(ProductGet product, int quantity = 0, double finalPrice = 0)
 {
     Product    = product;
     Quantity   = quantity;
     FinalPrice = finalPrice;
 }
Exemple #12
0
 public Event_TransactionAddProduct(ProductGet product)
 {
     m_BillEntry = product;
 }
        public bool AddNewProduct()
        {
            var UI = m_UIControl;

            UI.DialogResult = DialogResult.None;

            UI.lbl_Error.Text = string.Empty;
            if (!ValidateProductDetails())
            {
                return(false);
            }

            string      categoryName = UI.cb_Category.Text.Trim();
            CategoryGet category     = DataService.GetCategoryDataController().GetByName(categoryName);

            int unit = UI.cb_Unit.SelectedIndex + 1;

            ProductPost productPost = new ProductPost();

            productPost.Name           = UI.tb_Name.Text.Trim();
            productPost.Barcode        = UI.tb_Barcode.Text.Trim();
            productPost.Description    = UI.tb_Description.Text.Trim();
            productPost.Unit           = unit;
            productPost.RetailPrice    = int.Parse(UI.tb_RetailPrice.Text.Trim());
            productPost.WholeSalePrice = int.Parse(UI.tb_WholeSalePrice.Text.Trim());
            productPost.CategoryID     = category.ID;
            productPost.CGST           = double.Parse(UI.tb_CGST.Text.Trim());
            productPost.SGST           = double.Parse(UI.tb_CGST.Text.Trim());
            productPost.Discount       = double.Parse(UI.tb_SGST.Text.Trim());

            productPost.ImagePath = GetImagePath();

            m_Product = DataService.GetProductDataController().Post(productPost);
            if (m_Product == null)
            {
                MessageBox.Show(UI, "Failed to Add Product!");
                return(false);
            }

            // post the Default details
            StockPost stock = new StockPost();

            stock.ProductID         = m_Product.ID;
            stock.AvailableQuantity = 0;
            stock.TotalQuantity     = 0;
            var stockPost = DataService.GetStockDataController().Post(stock);

            if (stockPost == null)
            {
                MessageBox.Show(UI, "Failed to Add Stock!");
                return(false);
            }

            // Broadcast NewProductAdded Event
            Event_NewEntryAdded e = new Event_NewEntryAdded(DBEntityType.PRODUCT, m_Product.ID);

            EventBroadcaster.Get().BroadcastEvent(e);

            MessageBox.Show(UI, "Product Added Successfully!");

            if (!m_UIControl.checkBox_AddAnotherProduct.Checked)
            {
                UI.DialogResult = DialogResult.OK;
                UI.Close();
            }

            return(true);
        }