コード例 #1
0
        private void dgrd_ReturnOrderLines_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            var senderGrid = (DataGridView)sender;

            if (e.RowIndex != -1 && e.ColumnIndex == senderGrid.Columns["TotalQty"].Index && !string.IsNullOrEmpty(senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value.ToString()))
            {
                if (Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value) == -1)
                {
                    MessageBox.Show("أختر صنف أولا");
                    return;
                }
                VSALSalesOrder vSALSalesOrder = vSALSalesOrderCollection.Where(a => a.ProductID == Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value)).SingleOrDefault();
                if (vSALSalesOrder == null)
                {
                    MessageBox.Show("هذا الصنف غير موجود بالفاتورة الاصليه");
                    senderGrid.Rows[e.RowIndex].ErrorText = "هذا الصنف غير موجود بالفاتورة الاصليه";
                    senderGrid.Rows[e.RowIndex].Cells["ProductName"].Style.BackColor = Color.Red;
                    return;
                }
                //else
                //{
                //    if ((sALSalesReturnLineCollection.Where(a => a.OriginalSalesLineID == vSALSalesOrder.SalesLineID).ToList().Count) == 0)
                //        sALSalesReturnLineCollection.Add(new SALSalesReturnLine()
                //        {
                //            OriginalSalesLineID = vSALSalesOrder.SalesLineID,
                //            Qty = (decimal)senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value,
                //            BatchNumber = vSALSalesOrder.IsAcceptBatch == true ? senderGrid.Rows[e.RowIndex].Cells["BatchNumber"].Value.ToString() : null,
                //            ExpiryDate = vSALSalesOrder.IsAcceptBatch == true ? Convert.ToDateTime(senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].Value) : (DateTime?)null,
                //            Reason = senderGrid.Rows[e.RowIndex].Cells["Reason"].Value.ToString()
                //        });
                //    else
                //    {
                //        sALSalesReturnLineCollection.RemoveAt(sALSalesReturnLineCollection.IndexOf(sALSalesReturnLineCollection.Where(a => a.OriginalSalesLineID == vSALSalesOrder.SalesLineID).SingleOrDefault()));
                //        sALSalesReturnLineCollection.Add(new SALSalesReturnLine()
                //        {
                //            OriginalSalesLineID = vSALSalesOrder.SalesLineID,
                //            Qty = (decimal)senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value,
                //            BatchNumber = vSALSalesOrder.IsAcceptBatch == true ? senderGrid.Rows[e.RowIndex].Cells["BatchNumber"].Value.ToString() : null,
                //            ExpiryDate = vSALSalesOrder.IsAcceptBatch == true ? Convert.ToDateTime(senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].Value) : (DateTime?)null,
                //            Reason = senderGrid.Rows[e.RowIndex].Cells["Reason"].Value.ToString()
                //        });
                //    }
                //}

                tbx_Total.Text = (CalculateTotal((double)senderGrid.Rows[e.RowIndex].Cells["UnitPrice"].Value * (double)senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value)).ToString();
            }

            if (e.RowIndex != -1 && e.ColumnIndex == senderGrid.Columns["ProductName"].Index)
            {
                BDProductPrimaryKey pk = new BDProductPrimaryKey();
                pk.ProductID = Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value);

                BDProduct _product = bDProductWrapper.SelectOne(pk);
                senderGrid.Rows[e.RowIndex].Cells["IsAcceptBatch"].Value = _product.IsAcceptBatch;

                if (_product.IsAcceptBatch == true)
                {
                    senderGrid.Rows[e.RowIndex].Cells["BatchNumber"].ReadOnly = false;
                    senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].ReadOnly  = false;
                }
                else
                {
                    senderGrid.Rows[e.RowIndex].Cells["BatchNumber"].ReadOnly = true;
                    senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].ReadOnly  = true;
                }
            }
        }
コード例 #2
0
        private void dgrd_ReturnOrderLines_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                var senderGrid = (DataGridView)sender;

                if (e.RowIndex != -1 && (e.ColumnIndex == senderGrid.Columns["TotalQty"].Index /*|| e.ColumnIndex == senderGrid.Columns["UnitPrice"].Index*/) && !string.IsNullOrEmpty(senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value.ToString()))
                {
                    if (Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value) == -1)
                    {
                        MessageBox.Show("أختر صنف أولا");
                        return;
                    }
                    if (Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["StockType"].Value) == -1)
                    {
                        MessageBox.Show("أختر نوع مرتجع أولا");
                        return;
                    }


                    VSALSalesOrder vSALSalesOrder = vSALSalesOrderCollection.Where(a => a.ProductID == Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value)).SingleOrDefault();
                    if (Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value) > vSALSalesOrder.TotalQty)
                    {
                        MessageBox.Show("الكمية المرتجعه اكبر من الكميه المدخله فى الفاتوره الاصليه");
                        return;
                    }

                    if (senderGrid.Rows[e.RowIndex].Cells["UnitPrice"].Value != null && senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value != null)
                    {
                        tbx_Total.Text = (CalculateTotal(Convert.ToDouble(senderGrid.Rows[e.RowIndex].Cells["UnitPrice"].Value) * Convert.ToDouble(senderGrid.Rows[e.RowIndex].Cells["TotalQty"].Value))).ToString();
                    }
                    else
                    {
                        return;
                    }
                }

                if (e.RowIndex != -1 && e.ColumnIndex == senderGrid.Columns["ProductName"].Index)
                {
                    VSALSalesOrder vSALSalesOrder = vSALSalesOrderCollection.Where(a => a.ProductID == Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value)).SingleOrDefault();
                    if (vSALSalesOrder == null)
                    {
                        MessageBox.Show("هذا الصنف غير موجود بالفاتورة الاصليه");
                        senderGrid.Rows[e.RowIndex].ErrorText = "هذا الصنف غير موجود بالفاتورة الاصليه";
                        //senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value = null;
                        senderGrid.Rows[e.RowIndex].Cells["ProductName"].Style.BackColor = Color.Red;
                        return;
                    }

                    BDProductPrimaryKey pk = new BDProductPrimaryKey();
                    pk.ProductID = Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value);

                    BDProduct _product = bDProductWrapper.SelectOne(pk);
                    senderGrid.Rows[e.RowIndex].Cells["IsAcceptBatch"].Value = _product.IsAcceptBatch;

                    if (_product.IsAcceptBatch == true)
                    {
                        senderGrid.Rows[e.RowIndex].Cells["BatchNumber"].ReadOnly = false;
                        senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].ReadOnly  = false;
                    }
                    else
                    {
                        senderGrid.Rows[e.RowIndex].Cells["BatchNumber"].ReadOnly = true;
                        senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].ReadOnly  = true;
                    }
                    senderGrid.Rows[e.RowIndex].Cells["UnitPrice"].Value = vSALSalesOrder.FinalPrice;
                }

                if (e.RowIndex != -1 && e.ColumnIndex == senderGrid.Columns["ExpiryDate"].Index)
                {
                    if (Convert.ToInt32(senderGrid.Rows[e.RowIndex].Cells["ProductName"].Value) == -1)
                    {
                        MessageBox.Show("أختر صنف أولا");
                        return;
                    }
                    DateTime result;
                    if (!DateTime.TryParse(senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].Value.ToString(), out result))
                    {
                        MessageBox.Show("صيغة تاريخ الصلاحية غير صحيحة لابد ان تكون (يوم -شهر -سنة)");
                        senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].Style.BackColor = Color.Red;
                        senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].Value           = "";
                    }
                    else
                    {
                        senderGrid.Rows[e.RowIndex].Cells["ExpiryDate"].Style.BackColor = Color.White;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("حدث خطأ برجاء تكرار العمليه مره اخرى واذا تكرر الخطا برجاءالاتصال بالشخص المصمم للبرنامج وارسال رسالة الخطا التى ستظهر بعد قليل له");
                MessageBox.Show(ex.Message);
            }
        }