public bool EXDate_Checker(Linq.Product product) { try { if (Convert.ToDateTime(product.EX_Date) <= txtSaleDate.SelectedDate) { MessageBox.Show("لقد انتهت صلاحية هذا المنتج"); return(true); } return(false); }catch (Exception ex) { return(false); } }
private void btnSaveBuy_Click(object sender, RoutedEventArgs e) { try { if (dgBill.Items.Count > 0) { PharmaLinq = new Linq.PharmaLinqDataContext(flag.Con); int j = 0; Linq.Buy buy = new Linq.Buy(); if (isnew == false) { buyCost = 0; for (int i = 0; i < dgBill.Items.Count; i++) { try { for (j = 0; j < DelDt.Rows.Count; j++) { if (Convert.ToInt32(Dt.Rows[i].ItemArray[8]) == Convert.ToInt32(DelDt.Rows[j].ItemArray[0])) { goto skip; } } } catch (Exception ex) { } buyCost += Convert.ToDouble(Dt.Rows[i].ItemArray[7]); skip :; } buy = PharmaLinq.Buys.Single(item => item.Exist == true && item.ID_Buy == Convert.ToInt32(txtBuyID.Text)); j = 0; } buy.BuyCost = Convert.ToDecimal(buyCost); buy.ID_Caule = (int)PharmaLinq.Caules.SingleOrDefault(item => item.Exist == true && item.CauleName == cmbCaule.Text).ID_Caule; buy.ID_User = IDUser; buy.Exist = true; for (int i = 0; i < dgBill.Items.Count; i++) { Linq.Product product = PharmaLinq.Products.SingleOrDefault(item => item.ID_Product == Convert.ToInt32(Dt.Rows[i].ItemArray[1])); Linq.BuysAction buyaction = new Linq.BuysAction(); product.Cost = Convert.ToDouble(Dt.Rows[i].ItemArray[4]); if (isnew == false && (i + 1) <= dtcount) { buyaction = PharmaLinq.BuysActions.Single(item => item.Exist == true && item.ID_Buy == Convert.ToInt32(txtBuyID.Text) && item.ID_BuyAction == Convert.ToInt32(Dt.Rows[i].ItemArray[8])); if (product.BiggerUnit == "الثانوية") { product.Quantity -= ((int)PharmaLinq.BuysActions.Single(item => item.Exist == true && item.ID_Buy == Convert.ToInt32(txtBuyID.Text) && item.ID_BuyAction == Convert.ToInt32(Dt.Rows[i].ItemArray[8])).Quantit_BuysAction % (int)product.SubQuantity); product.UnitQuantity -= ((int)PharmaLinq.BuysActions.Single(item => item.Exist == true && item.ID_Buy == Convert.ToInt32(txtBuyID.Text) && item.ID_BuyAction == Convert.ToInt32(Dt.Rows[i].ItemArray[8])).Quantit_BuysAction / (int)product.SubQuantity); if (product.UnitQuantity < 0) { product.UnitQuantity = 0; product.Quantity = 0; } if (product.Quantity < 0) { product.Quantity += (int)product.SubQuantity; product.UnitQuantity--; } } else { product.Quantity -= (int)PharmaLinq.BuysActions.Single(item => item.Exist == true && item.ID_Buy == Convert.ToInt32(txtBuyID.Text) && item.ID_BuyAction == Convert.ToInt32(Dt.Rows[i].ItemArray[8])).Quantit_BuysAction; if (product.Quantity < 0) { product.Quantity = 0; } } } try { for (j = 0; j < DelDt.Rows.Count; j++) { if (Convert.ToInt32(Dt.Rows[i].ItemArray[8]) == Convert.ToInt32(DelDt.Rows[j].ItemArray[0])) { buyaction.Exist = false; goto skip; } } } catch (Exception ex) { } if (product.BiggerUnit == "الثانوية") { product.Quantity += (Convert.ToInt32(Dt.Rows[i].ItemArray[5]) % (int)product.SubQuantity); product.UnitQuantity += (Convert.ToInt32(Dt.Rows[i].ItemArray[5]) / product.SubQuantity); if (product.Quantity >= product.SubQuantity) { product.Quantity -= (int)product.SubQuantity; product.UnitQuantity++; } } else { product.Quantity += Convert.ToInt32(Dt.Rows[i].ItemArray[5]); } product.EX_Date = Convert.ToString(Dt.Rows[i].ItemArray[6]); buyaction.ID_Buy = Convert.ToInt32(Dt.Rows[i].ItemArray[0]); buyaction.ID_Product = Convert.ToInt32(Dt.Rows[i].ItemArray[1]); buyaction.Cost = Convert.ToDecimal(Dt.Rows[i].ItemArray[4]); buyaction.Quantit_BuysAction = Convert.ToInt32(Dt.Rows[i].ItemArray[5]); buyaction.EX_Date = Convert.ToString(Dt.Rows[i].ItemArray[6]); buyaction.totatCost = Convert.ToDecimal(Dt.Rows[i].ItemArray[7]); buyaction.Exist = true; if (isnew == true || (i + 1) > dtcount) { PharmaLinq.BuysActions.InsertOnSubmit(buyaction); } skip :; PharmaLinq.SubmitChanges(); } if (isnew == true) { buy.ID_Buy = Convert.ToInt32(txtBuyID.Text); buy.DateBuy = txtBuyDate.SelectedDate; PharmaLinq.Buys.InsertOnSubmit(buy); } MessageBox.Show("تم حفظ الفاتورة"); PharmaLinq.SubmitChanges(); USC_BUYS USC_Buy = new USC_BUYS { IDUser = IDUser }; MainWindow.GetMainForm.GridUsc.Children.Clear(); MainWindow.GetMainForm.GridUsc.Children.Add(USC_Buy); } else { MessageBox.Show("يجب اضافة مشتريات"); } } catch (Exception ex) { flag.Con.Close(); MessageBox.Show(ex.Message); } }
private void btnSaveDefective_Click(object sender, RoutedEventArgs e) { try { Button btn = (Button)sender; if (dgProducts.SelectedIndex != -1) { PharmaLinq = new Linq.PharmaLinqDataContext(flag.Con); Linq.Store store = PharmaLinq.Stores.SingleOrDefault(item => item.ID_Product == Convert.ToInt32(Dt.Rows[dgProducts.SelectedIndex].ItemArray[0])); Linq.Product product = PharmaLinq.Products.SingleOrDefault(item => item.ID_Product == Convert.ToInt32(Dt.Rows[dgProducts.SelectedIndex].ItemArray[0])); try { int quantity = Convert.ToInt32(txtDefectiveProduct.Text); txtDefectiveProduct.Focus(); if (btn.Content.ToString() == "اضافة") { product.Quantity -= quantity; if (product.Quantity < 0) { if (product.BiggerUnit == "الثانوية" && product.UnitQuantity > 0) { product.Quantity = (int)product.SubQuantity + product.Quantity; product.UnitQuantity--; } else { quantity += product.Quantity; product.Quantity = 0; } } store.Defective += quantity; MessageBox.Show("تمت الاضافة"); } else if (btn.Content.ToString() == "ازالة") { store.Defective -= quantity; if (store.Defective < 0) { quantity += store.Defective; store.Defective = 0; } if (product.BiggerUnit == "الثانوية" && quantity >= product.SubQuantity) { quantity += -(int)product.SubQuantity; product.UnitQuantity++; } product.Quantity += quantity; MessageBox.Show("تمت الازالة "); } PharmaLinq.SubmitChanges(); } catch (Exception ex) { flag.Con.Close(); MessageBox.Show("يجب ملء هذا العنصر بعدد صحيح من دون فاصلة "); } UserControl_Loaded(sender, e); } else { MessageBox.Show("يجب تحديد عنصر "); } } catch (Exception ex) { flag.Con.Close(); MessageBox.Show(ex.Message); } }
public void Save() { if (dgSale.Items.Count > 0) { PharmaLinq = new Linq.PharmaLinqDataContext(flag.Con); int j = 0; Linq.Sale sale = new Linq.Sale(); if (!isnew) { if (DelDt.Rows.Count > 0) { for (int i = 0; i < dgSale.Items.Count; i++) { try { for (j = 0; j < DelDt.Rows.Count; j++) { if (Convert.ToInt32(Dt.Rows[i].ItemArray[8]) == Convert.ToInt32(DelDt.Rows[j].ItemArray[0])) { salePrice -= Convert.ToDouble(Dt.Rows[i].ItemArray[7]); txtPaid.Text = (Convert.ToDouble(txtPaid.Text) - Convert.ToDouble(Dt.Rows[i].ItemArray[7])).ToString(); } } } catch (Exception ex) { } } } sale = PharmaLinq.Sales.Single(item => item.Exist == true && item.ID_Sale == Convert.ToInt32(txtSaleID.Text)); } for (int i = 0; i < Dt.Rows.Count; i++) { Linq.SalesAction saleaction = new Linq.SalesAction(); Linq.Product product = PharmaLinq.Products.Single(item => item.ID_Product == Convert.ToInt32(Dt.Rows[i].ItemArray[0])); if (!isnew && (i + 1) <= dtcount) { saleaction = PharmaLinq.SalesActions.Single(item => item.Exist == true && item.ID_Sale == Convert.ToInt32(txtSaleID.Text) && item.ID_SaleAction == Convert.ToInt32(Dt.Rows[i].ItemArray[8])); if (QuantityDt.Rows[i].ItemArray[1].ToString() == "قطعة") { if (product.BiggerUnit == "الثانوية") { product.Quantity += (Convert.ToInt32(QuantityDt.Rows[i].ItemArray[0]) % (int)product.SubQuantity); product.UnitQuantity += (Convert.ToInt32(QuantityDt.Rows[i].ItemArray[0]) / product.SubQuantity); if (product.Quantity >= product.SubQuantity) { product.Quantity -= (int)product.SubQuantity; product.UnitQuantity++; } } else { product.Quantity += Convert.ToInt32(QuantityDt.Rows[i].ItemArray[0]); } } else { if (product.BiggerUnit == "الثانوية") { product.UnitQuantity += Convert.ToInt32(QuantityDt.Rows[i].ItemArray[0]); } else { product.Quantity += (Convert.ToInt32(QuantityDt.Rows[i].ItemArray[0]) / (int)product.SubQuantity); product.UnitQuantity += (Convert.ToInt32(QuantityDt.Rows[i].ItemArray[0]) % product.SubQuantity); if (product.UnitQuantity >= product.SubQuantity) { product.UnitQuantity -= (int)product.SubQuantity; product.Quantity++; } } } for (j = 0; j < DelDt.Rows.Count; j++) { if (saleaction.ID_SaleAction == Convert.ToInt32(DelDt.Rows[j].ItemArray[0])) { saleaction.Exist = false; goto skip; } } } saleaction.ID_Sale = Convert.ToInt32(txtSaleID.Text); saleaction.ID_Product = Convert.ToInt32(Dt.Rows[i].ItemArray[0]); saleaction.Quantity_SaleAction = Convert.ToInt32(Dt.Rows[i].ItemArray[4]); saleaction.Price = Convert.ToDecimal(Dt.Rows[i].ItemArray[2]); saleaction.TotalPrice = Convert.ToDecimal(Dt.Rows[i].ItemArray[7]); saleaction.SalePrecentage = Convert.ToInt32(Dt.Rows[i].ItemArray[6]); saleaction.Unit = Convert.ToString(Dt.Rows[i].ItemArray[3]); saleaction.Exist = true; if (isnew || i + 1 > dtcount) { PharmaLinq.SalesActions.InsertOnSubmit(saleaction); } //Quantity Decrement if (Dt.Rows[i].ItemArray[3].ToString() == "قطعة") { if (product.BiggerUnit == "الثانوية") { product.Quantity -= (Convert.ToInt32(Dt.Rows[i].ItemArray[4]) % (int)product.SubQuantity); product.UnitQuantity -= (Convert.ToInt32(Dt.Rows[i].ItemArray[4]) / product.SubQuantity); if (product.Quantity < 0) { product.Quantity += (int)product.SubQuantity; product.UnitQuantity--; } } else { product.Quantity -= Convert.ToInt32(Dt.Rows[i].ItemArray[4]); } } else { if (product.BiggerUnit == "الثانوية") { product.UnitQuantity -= Convert.ToInt32(Dt.Rows[i].ItemArray[4]); } else { product.Quantity -= (Convert.ToInt32(Dt.Rows[i].ItemArray[4]) / (int)product.SubQuantity); product.UnitQuantity -= (Convert.ToInt32(Dt.Rows[i].ItemArray[4]) % product.SubQuantity); if (product.UnitQuantity < 0) { product.UnitQuantity += (int)product.SubQuantity; product.Quantity--; } } } //End Quantity Decrement skip :; PharmaLinq.SubmitChanges(); } sale.SalePrice = Convert.ToDecimal(salePrice); sale.Exist = true; sale.PayType = cmbPayType.Text; sale.paid = Convert.ToDecimal(txtPaid.Text); sale.ID_Customer = Convert.ToInt32(DtCustomer.Rows[cmbCustomer.SelectedIndex].ItemArray[1]); if (isnew) { sale.ID_Sale = Convert.ToInt32(txtSaleID.Text); sale.SaleDate = Convert.ToDateTime(DateTime.Now.ToString("MM/dd/yyyy HH:mm")); sale.ID_User = IDUser; PharmaLinq.Sales.InsertOnSubmit(sale); } PharmaLinq.SubmitChanges(); MessageBox.Show("تم حفظ الفاتورة"); USC_SALES usc_sale = new USC_SALES { IDUser = IDUser }; MainWindow.GetMainForm.GridUsc.Children.Clear(); MainWindow.GetMainForm.GridUsc.Children.Add(usc_sale); } else { MessageBox.Show("يجب اضافة منتجات"); } }
public void Quantity_Checker(Linq.Product product, string unit) { int qua, product_qua, SubQuantity = new int(); if (product.SubQuantity == null) { SubQuantity = 1; } else { SubQuantity = (int)product.SubQuantity; } if (unit == "قطعة") { if (!isnew && dgSale.SelectedIndex < dtcount) { if (product.BiggerUnit == "الثانوية") { product_qua = product.Quantity + (Convert.ToInt32(QuantityDt.Rows[dgSale.SelectedIndex].ItemArray[0]) * SubQuantity); } else { product_qua = product.Quantity + Convert.ToInt32(QuantityDt.Rows[dgSale.SelectedIndex].ItemArray[0]); } } else { product_qua = product.Quantity; } qua = (int)((product.UnitQuantity * SubQuantity) + product_qua); if (product.BiggerUnit == "الثانوية") { if (Convert.ToInt32(txtQuantity.Text) > qua) { MessageBox.Show("الكمية المتوفره في المخزن " + qua.ToString() + " قطعة"); txtQuantity.Text = qua.ToString(); } } else { if (Convert.ToInt32(txtQuantity.Text) > product_qua) { MessageBox.Show("الكمية المتوفره في المخزن " + product_qua.ToString() + " قطعة"); txtQuantity.Text = product_qua.ToString(); } } } else { if (!isnew && dgSale.SelectedIndex < dtcount) { product_qua = Convert.ToInt32(product.UnitQuantity) + Convert.ToInt32(QuantityDt.Rows[dgSale.SelectedIndex].ItemArray[0]); qua = (int)(product.Quantity * SubQuantity) + Convert.ToInt32(QuantityDt.Rows[dgSale.SelectedIndex].ItemArray[0]); } else { product_qua = Convert.ToInt32(product.UnitQuantity); qua = (int)(product.Quantity * SubQuantity); } if (product.BiggerUnit == "الثانوية") { if (Convert.ToInt32(txtQuantity.Text) > product_qua) { MessageBox.Show("الكمية المتوفره في المخزن " + product_qua.ToString() + " " + product.Units); txtQuantity.Text = product_qua.ToString(); } } else { if (Convert.ToInt32(txtQuantity.Text) > qua) { MessageBox.Show("الكمية المتوفره في المخزن " + qua.ToString() + " " + product.Units); txtQuantity.Text = qua.ToString(); } } } }
private void btnSave_Click(object sender, RoutedEventArgs e) { try { PharmaLinq = new Linq.PharmaLinqDataContext(flag.Con); Linq.Product product = new Linq.Product(); if (flag.Null_Checker(txtNameProduct) || flag.Null_Checker(txtBarcode) || flag.Null_Checker(txtPriece)) { goto end; } try { txtPriece.Focus(); txtPriece.SelectAll(); product.Price = Convert.ToSingle(txtPriece.Text); if (txtUnitPriece.Text != "") { txtUnitPriece.Focus(); txtUnitPriece.SelectAll(); product.Unit_Price = Convert.ToSingle(txtUnitPriece.Text); } if (txtCost.Text != "") { txtCost.Focus(); txtCost.SelectAll(); product.Cost = Convert.ToSingle(txtCost.Text); } } catch { flag.Con.Close(); MessageBox.Show("يجب ملء هذا العنصر بعدد"); goto end; } try { if (txtUnitPrecentage.Text != "") { txtUnitPrecentage.Focus(); txtUnitPrecentage.SelectAll(); product.SubQuantity = Convert.ToInt32(txtUnitPrecentage.Text); } txtQuantity.Focus(); txtQuantity.SelectAll(); product.Quantity = Convert.ToInt32(txtQuantity.Text); } catch { flag.Con.Close(); MessageBox.Show("يجب ملء هذا العنصر بعدد صحيح من دون فاصلة "); goto end; } if (flag.Dt_Comparer(DtProduct, 2, txtBarcode.Text)) { MessageBox.Show("هذا الباركود موجود"); txtBarcode.Focus(); txtBarcode.SelectAll(); return; } product.Name = txtNameProduct.Text; product.BarCode = txtBarcode.Text; product.ID_Groups = PharmaLinq.Groups.SingleOrDefault(item => item.Exist == true && item.GroupName == cmbGroup.Text).ID_Groups; product.Exist = true; product.EX_Date = txtEX_Date.Text; product.Units = txtUnit.Text; product.ID_User = IDUser; product.UnitQuantity = 0; //Bigger Unit if (rbtnMain.IsChecked == true) { product.BiggerUnit = "الأساسية"; } else if (rbtnSub.IsChecked == true) { product.BiggerUnit = "الثانوية"; } else { product.BiggerUnit = ""; } PharmaLinq.Products.InsertOnSubmit(product); PharmaLinq.SubmitChanges(); Linq.Store store = new Linq.Store(); store.ID_Product = product.ID_Product; store.Defective = 0; PharmaLinq.Stores.InsertOnSubmit(store); PharmaLinq.SubmitChanges(); MessageBox.Show("تم الحفظ"); UserControl_Loaded(sender, e); //btnSaveProduct.IsEnabled = false; //btnNewProduct.IsEnabled = true; //cmbGroup.SelectedIndex = 0; //btnEditProduct.IsEnabled = true; //btnDeletProduct.IsEnabled = true; Initil(); end :; } catch (Exception ex) { flag.Con.Close(); MessageBox.Show(ex.Message); } }
private void btnEditProduct_Click(object sender, RoutedEventArgs e) { try { if (IDProduct != 0) { if (MessageBox.Show("هل تريد تعديل العنصر المحدد؟", "تعديل", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { PharmaLinq = new Linq.PharmaLinqDataContext(flag.Con); Linq.Product product = PharmaLinq.Products.Single(item => item.ID_Product == IDProduct); if (flag.Null_Checker(txtNameProduct) || flag.Null_Checker(txtBarcode) || flag.Null_Checker(txtPriece)) { goto end; } try { txtPriece.Focus(); txtPriece.SelectAll(); product.Price = Convert.ToSingle(txtPriece.Text); if (txtUnitPriece.Text != "") { txtUnitPriece.Focus(); txtUnitPriece.SelectAll(); product.Unit_Price = Convert.ToSingle(txtUnitPriece.Text); } if (txtCost.Text != "") { txtCost.Focus(); txtCost.SelectAll(); product.Cost = Convert.ToSingle(txtCost.Text); } } catch { flag.Con.Close(); MessageBox.Show("يجب ملء هذا العنصر بعدد"); goto end; } try { if (txtUnitPrecentage.Text != "") { txtUnitPrecentage.Focus(); txtUnitPrecentage.SelectAll(); product.SubQuantity = Convert.ToInt32(txtUnitPrecentage.Text); } } catch { flag.Con.Close(); MessageBox.Show("يجب ملء هذا العنصر بعدد صحيح من دون فاصلة "); goto end; } if (DtProduct.Rows[dgProducts.SelectedIndex].ItemArray[2].ToString() == txtBarcode.Text) { } else if (flag.Dt_Comparer(DtProduct, 2, txtBarcode.Text)) { MessageBox.Show("هذا الباركود موجود"); txtBarcode.Focus(); txtBarcode.SelectAll(); return; } product.Name = txtNameProduct.Text; product.BarCode = txtBarcode.Text; product.ID_Groups = PharmaLinq.Groups.Single(item => item.Exist == true && item.GroupName == cmbGroup.Text).ID_Groups; product.Exist = true; product.EX_Date = txtEX_Date.Text; product.Units = txtUnit.Text; product.ID_User = IDUser; //Bigger Unit if (rbtnMain.IsChecked == true) { product.BiggerUnit = "الأساسية"; } else if (rbtnSub.IsChecked == true) { product.BiggerUnit = "الثانوية"; } else { product.BiggerUnit = ""; } PharmaLinq.SubmitChanges(); MessageBox.Show("تم التعديل"); UserControl_Loaded(sender, e); cmbGroup.SelectedIndex = 0; Initil(); end :; } } else { MessageBox.Show("الرجاء اختيار عنصر"); } } catch (Exception ex) { flag.Con.Close(); MessageBox.Show(ex.Message); } }