public RangBuocTonKho(PLGridView DesGrid, DataSet DetailDataSet, DataSet GridDataSetSrc, PhieuType Des, long Kho_Id, bool? IsAdd) { this.DesGrid = DesGrid; if (DetailDataSet != null && DetailDataSet.Tables.Count > 0) { if (IsAdd == true) this.DetailDataTable = DetailDataSet.Tables[0]; else { foreach (DataRow rowLast in DetailDataSet.Tables[0].Rows) { foreach (DataRow rowFirst in GridDataSetSrc.Tables[0].Rows) { if (rowLast.RowState != DataRowState.Deleted) { if ((HelpNumber.ParseInt64(rowLast["HH_ID"]) == HelpNumber.ParseInt64(rowFirst["HH_ID"])) && (HelpNumber.ParseInt64(rowLast[Des.GetSTTField()]) == HelpNumber.ParseInt64(rowFirst[Des.GetSTTField()]))) { rowLast[Des.GetSOLGField()] = HelpNumber.ParseDecimal(rowLast[Des.GetSOLGField()]) - HelpNumber.ParseDecimal(rowFirst[Des.GetSOLGField()]); rowLast[Des.GetTRLGField()] = HelpNumber.ParseDecimal(rowLast[Des.GetTRLGField()]) - HelpNumber.ParseDecimal(rowFirst[Des.GetTRLGField()]); } } } } this.DetailDataTable = DetailDataSet.Tables[0]; } } this.Des = Des; this.Kho_Id = Kho_Id; }
public RangBuocDeletePhieuTonKho(DataSet DetailDataSet, DataSet GridDataSetSrc, PhieuType Des, long Kho_Id, DateTime? Ngay_Nhap) { if (DetailDataSet != null && DetailDataSet.Tables.Count > 0) { foreach (DataRow rowLast in DetailDataSet.Tables[0].Rows) { if (rowLast.RowState != DataRowState.Deleted) { foreach (DataRow rowFirst in GridDataSetSrc.Tables[0].Rows) { if (rowLast.RowState == DataRowState.Added) { rowLast[Des.GetSOLGField()] = 0; rowLast[Des.GetTRLGField()] = 0; } else { if ((HelpNumber.ParseInt64(rowLast["HH_ID"]) == HelpNumber.ParseInt64(rowFirst["HH_ID"])) && (HelpNumber.ParseInt64(rowLast[Des.GetSTTField()]) == HelpNumber.ParseInt64(rowFirst[Des.GetSTTField()]))) { rowLast[Des.GetSOLGField()] = HelpNumber.ParseDecimal(rowLast[Des.GetSOLGField()]) - HelpNumber.ParseDecimal(rowFirst[Des.GetSOLGField()]); if (HelpNumber.ParseDecimal(rowLast[Des.GetSOLGField()]) > 0) rowLast[Des.GetSOLGField()] = 0; else { rowLast[Des.GetSOLGField()] = (-1) * HelpNumber.ParseDecimal(rowLast[Des.GetSOLGField()]); } rowLast[Des.GetTRLGField()] = HelpNumber.ParseDecimal(rowLast[Des.GetTRLGField()]) - HelpNumber.ParseDecimal(rowFirst[Des.GetTRLGField()]); if (HelpNumber.ParseDecimal(rowLast[Des.GetTRLGField()]) > 0) rowLast[Des.GetTRLGField()] = 0; else { rowLast[Des.GetTRLGField()] = (-1) * HelpNumber.ParseDecimal(rowLast[Des.GetTRLGField()]); } } } } } } List<DataRow> row_deleted = new List<DataRow>(); foreach (DataRow rowFirst in GridDataSetSrc.Tables[0].Rows) { bool IsRowDeleted = false; foreach (DataRow rowLast in DetailDataSet.Tables[0].Rows) { if (rowLast.RowState != DataRowState.Deleted && (HelpNumber.ParseInt64(rowLast["HH_ID"]) == HelpNumber.ParseInt64(rowFirst["HH_ID"])) && (HelpNumber.ParseInt64(rowLast[Des.GetSTTField()]) == HelpNumber.ParseInt64(rowFirst[Des.GetSTTField()]))) IsRowDeleted = true; } if (!IsRowDeleted) row_deleted.Add(rowFirst); } foreach (DataRow row in row_deleted) DetailDataSet.Tables[0].ImportRow(row); this.DetailDataTable = DetailDataSet.Tables[0]; } this.Des = Des; this.Ngay_phat_sinh = Ngay_Nhap; this.Kho_Id = Kho_Id; }
/// <summary> /// Tạo DataTable(HH_ID, SO_LUONG, TRONG_LUONG, TINH_TRANG) lưu trữ hàng hóa, /// số lượng, trọng lượng và tình trạng /// Thuộc 1 phiếu bất kì có loại phiếu và ID /// </summary> /// <param name="type">Loại phiếu</param> /// <param name="id">ID</param> /// <returns>DataSet chứa DataTable(HH_ID, SO_LUONG, TRONG_LUONG, TINH_TRANG)</returns> public static DataSet GetData_Standard(PhieuType type, long id) { try { QueryBuilder filter = new QueryBuilder("select hh_id as \"HH_ID\"," + type.GetSOLGField() + " as \"SO_LUONG\"," + type.GetTRLGField() + " as \"TRONG_LUONG\"," + type.GetSTTField() + " as \"TINH_TRANG\" from " + type.GetTableName() + "_CT" + " where 1=1"); filter.addID(type.GetIDField(), id); return DABase.getDatabase().LoadDataSet(filter); } catch (Exception ex) { PLException.AddException(ex); return null; } }
/// <summary> /// Cập nhật lại tên cột tình trạng cho phù hợp với mục đích sử dụng /// </summary> /// <param name="table">DataTable cần cập nhật lại tên cột tình trạng</param> /// <param name="Des">Loại phiếu đích</param> /// <returns></returns> public static bool DieuChinhTenCot(DataTable table, PhieuType Des) { if (!RangBuocSoLgTrLgHelp.CheckColumnsExist(table, Des.GetSTTField(), Des.GetSOLGField(), Des.GetTRLGField())) { return false; } foreach (DataColumn dc in table.Columns) { if (dc.ColumnName == Des.GetSTTField()) dc.ColumnName = "TINH_TRANG"; else if (dc.ColumnName == Des.GetSOLGField()) dc.ColumnName = "SO_LUONG"; else if (dc.ColumnName == Des.GetTRLGField()) dc.ColumnName = "TRONG_LUONG"; } return true; }