コード例 #1
0
ファイル: frmPO.cs プロジェクト: dennryuu/GZFramework.Demo
        private void gv_Detail_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
        {
            var view = sender as DevExpress.XtraGrid.Views.Grid.GridView;

            if (Object.Equals(view.FocusedColumn.Tag, "NotNull"))
            {
                if (Object.Equals(string.Empty, e.Value) || Object.Equals(null, e.Value) || Object.Equals(DBNull.Value, e.Value))
                {
                    e.Valid     = false;
                    e.ErrorText = view.FocusedColumn.Caption + "不能为空!";
                }
            }
            if (view.FocusedColumn.FieldName == tb_PODetail.Qty || view.FocusedColumn.FieldName == tb_PODetail.POPrice)
            {
                decimal price = 0; int qty = 0;
                if (view.FocusedColumn.FieldName == tb_PODetail.Qty)
                {
                    price = ConvertLib.ToDecimal(view.GetFocusedDataRow()[tb_PODetail.POPrice], 0);
                    qty   = ConvertLib.ToInt(e.Value, 0);
                }
                else
                {
                    price = ConvertLib.ToDecimal(e.Value, 0);
                    qty   = ConvertLib.ToInt(view.GetFocusedDataRow()[tb_PODetail.Qty], 0);
                }



                decimal amount = price * qty;
                view.SetFocusedRowCellValue(tb_PODetail.TotalPOAmount, amount);
                RefreshSummary();
            }
        }
コード例 #2
0
        void refreshAmount()
        {
            int     qty   = ConvertLib.ToInt(txtQty.EditValue);
            decimal price = ConvertLib.ToDecimal(txtUnitPrice.EditValue, 0);

            txtTotalAmount.EditValue = qty * price;
        }
コード例 #3
0
        private void btn_OK_Click(object sender, EventArgs e)
        {
            bool b = LibraryTools.IsNotEmpBaseEdit(txtItemNo, "货号不能为空!");

            if (b == false)
            {
                return;
            }
            Data = new DataTable();
            Data.Columns.Add(nameof(tb_PODetail.ItemNo), typeof(System.String));
            Data.Columns.Add(nameof(tb_PODetail.ItemName), typeof(System.String));
            Data.Columns.Add(nameof(tb_PODetail.CategoryID), typeof(System.String));
            Data.Columns.Add(nameof(tb_PODetail.POPrice), typeof(System.Decimal));
            Data.Columns.Add(nameof(tb_PODetail.SOPrice), typeof(System.Decimal));
            Data.Columns.Add(nameof(tb_PODetail.Color), typeof(System.String));
            Data.Columns.Add(nameof(tb_PODetail.Size), typeof(System.String));
            Data.Columns.Add(nameof(tb_PODetail.Qty), typeof(System.Int16));
            Data.Columns.Add(nameof(tb_PODetail.TotalPOAmount), typeof(System.Decimal));
            foreach (DataRow row in dtQty.Rows)
            {
                string color = ConvertLib.ToString(row["Color"]);
                for (int i = 0; i < dtSize.Rows.Count; i++)
                {
                    string fileName = "Qty_" + (i + 1);
                    int    qty      = ConvertLib.ToInt(row[fileName]);
                    if (qty > 0)
                    {
                        DataRow dr = Data.NewRow();


                        dr[tb_PODetail.ItemNo] = txtItemNo.EditValue;
                        if (!String.IsNullOrEmpty(ConvertLib.ToString(txtItemName.EditValue)))
                        {
                            dr[tb_PODetail.ItemName] = txtItemName.EditValue;
                        }
                        dr[tb_PODetail.CategoryID] = txtCategory.EditValue;
                        if (!String.IsNullOrEmpty(ConvertLib.ToString(txtPOPrice.EditValue)))
                        {
                            dr[tb_PODetail.POPrice] = txtPOPrice.EditValue;
                        }
                        if (!String.IsNullOrEmpty(ConvertLib.ToString(txtSOPrice.EditValue)))
                        {
                            dr[tb_PODetail.SOPrice] = txtSOPrice.EditValue;
                        }
                        dr[tb_PODetail.Color]         = color;
                        dr[tb_PODetail.Size]          = dtSize.Rows[i]["DataName"];
                        dr[tb_PODetail.Qty]           = qty;
                        dr[tb_PODetail.TotalPOAmount] = ConvertLib.ToDecimal(txtPOPrice.EditValue, 0) * qty;
                        Data.Rows.Add(dr);
                    }
                }
            }
            Data.AcceptChanges();
            this.DialogResult = DialogResult.OK;
        }
コード例 #4
0
        private void btn_OK_Click(object sender, EventArgs e)
        {
            decimal amount = ConvertLib.ToDecimal(txtAmount.EditValue, 0);

            AmountIn  = ConvertLib.ToDecimal(txtIn.EditValue, 0);
            AmountOut = ConvertLib.ToDecimal(txtOut.EditValue, 0);
            if (AmountIn < amount)
            {
                Msg.ShowError("收款金额不能小于应收款");
            }
            else
            {
                this.DialogResult = DialogResult.OK;
            }
        }
コード例 #5
0
        //结算
        private void btn_Complete_Click(object sender, EventArgs e)
        {
            //Msg.ShowInformation("结算");
            bool validate = LibraryTools.IsNotEmpBaseEdit(txt_Sale, "销售员不能为空!");

            if (validate == false)
            {
                Msg.Warning("请检查必填项");
                return;
            }
            decimal      Amount = ConvertLib.ToDecimal(gcTotalAmount.SummaryItem.SummaryValue, 0);
            decimal      AmountIn = 0, AmountOut = 0;
            DialogResult result = frmDailogSalePay.ShowForm(Amount, out AmountIn, out AmountOut);

            //frmDailogSalePay frm = new Dialog.frmDailogSalePay();
            //frm.Amount = Amount;
            //DialogResult result = frm.ShowDialog();
            if (result != DialogResult.OK)
            {
                return;
            }

            DataRow row = EditData.Tables[tb_SO._TableName].Rows.Add();

            row[tb_SO.DocDate]     = bll.GetServerTime();
            row[tb_SO.SaleBy]      = txt_Sale.EditValue;
            row[tb_SO.TotalQty]    = gcQty.SummaryItem.SummaryValue;
            row[tb_SO.TotalAmount] = row[tb_SO.TotalPrice] = Amount;
            row[tb_SO.AmountIn]    = AmountIn;
            row[tb_SO.AmountOut]   = AmountOut;
            foreach (DataRow dr in EditData.Tables[tb_SODetail._TableName].Rows)
            {
                dr[tb_SODetail.SaleBy] = txt_Sale.EditValue;
            }
            bool success = bll.Update(EditData);

            if (success == true)
            {
                EditData.Tables[tb_SO._TableName].Rows.Clear();
                EditData.Tables[tb_SODetail._TableName].Rows.Clear();
                EditData.AcceptChanges();
                refreshTotalMsg();
            }
        }
コード例 #6
0
        void Find()
        {
            DataTable dt = bllpi.SearchDataBarCode(txt_ProductCode.Text);
            DataRow   row;

            if (dt.Rows.Count != 1)
            {
                row = Dialog.frmDialogProducQty.ShowForm(txt_ProductCode.Text, dt);
            }
            else
            {
                row = dt.Rows[0];
            }
            //DataRow row = Dialog.frmDialogProducQty.ShowForm(txt_ProductCode.Text);
            if (row != null)
            {
                var al = EditData.Tables[tb_SODetail._TableName].Select($"{tb_SODetail.BarCode}='{row[tb_ProductInventory.BarCode]}'").FirstOrDefault();
                if (al != null)
                {
                    int newQty = ConvertLib.ToInt(al[tb_SODetail.Qty]) + 1;
                    al[tb_SODetail.Qty]         = newQty;
                    al[tb_SODetail.TotalAmount] = ConvertLib.ToDecimal(al[tb_SODetail.UnitPrice], 0) * newQty;
                }
                else
                {
                    DataRow dr = EditData.Tables[tb_SODetail._TableName].NewRow();
                    dr[tb_SODetail.BarCode]     = row[tb_ProductInventory.BarCode];
                    dr[tb_SODetail.ItemNo]      = row[tb_ProductInventory.ItemNo];
                    dr[tb_SODetail.ItemName]    = row[tb_ProductInventory.ItemName];
                    dr[tb_SODetail.CategoryID]  = row[tb_ProductInventory.CategoryID];
                    dr[tb_SODetail.Color]       = row[tb_ProductInventory.Color];
                    dr[tb_SODetail.Size]        = row[tb_ProductInventory.Size];
                    dr[tb_SODetail.Qty]         = 1;
                    dr[tb_SODetail.UnitPrice]   = row[tb_ProductInventory.SOPrice];
                    dr[tb_SODetail.TotalAmount] = ConvertLib.ToDecimal(row[tb_ProductInventory.SOPrice], 0) * 1;
                    EditData.Tables[tb_SODetail._TableName].Rows.Add(dr);
                    gvSummary.ClearSelection();
                    gvSummary.SelectRow(gvSummary.RowCount - 1);
                    gvSummary.FocusedRowHandle = gvSummary.RowCount - 1;
                }
                txt_ProductCode.EditValue = "";
                refreshTotalMsg();
            }
        }
コード例 #7
0
 private void btn_OK_Click(object sender, EventArgs e)
 {
     value = ConvertLib.ToDecimal(textEdit1.EditValue, 0);
     this.Close();
 }
コード例 #8
0
 private void txtIn_EditValueChanged(object sender, EventArgs e)
 {
     txtOut.EditValue = ConvertLib.ToDecimal(txtIn.EditValue, 0) - ConvertLib.ToDecimal(txtAmount.EditValue, 0);
 }