void Item2Buffer(ByteBuilder Buf, CSaleItem item) { int index = productBindingSource.Find("ProductID", item.ProductID); string s = "產品" + item.ProductID.ToString(); if (index >= 0) { object o = productBindingSource.DataSource; BasicDataSet ds = (BasicDataSet)o; BasicDataSet.ProductDataTable t = ds.Product; BasicDataSet.ProductRow row = t[index]; s = row.Name; } int m; do { m = GB2312.GetByteCount(s); if (m <= 16) { break; } s = s.Substring(0, s.Length - 1); } while (true); int n = 16 - m + s.Length; Buf.AppendPadRight(s, n, GB2312); Buf.Append(d2str(item.Volume, 6), GB2312); // Buf.Append(d2str(item.Price , 5), GB2312); Buf.Append(d2str(item.Total, 10), GB2312); Buf.Append("\r\n", GB2312); }
public FormOrder(BasicDataSet DS1, BasicDataSet.OrderRow Row, FormBrowse Browse, string PortName, bool CheckOnly) { DataSet1 = DS1; CurrentOrder = Row; BrowseForm = Browse; ComPortName = PortName; FormOnlyForCheck = CheckOnly; // if (Row.RowState != DataRowState.Detached) OrderDetail = Row.GetOrderItemRows(); // else // OrderDetail = null; InitializeComponent(); InitializeMenu(); // 必需放後面,因為有用到前面設定 if (OrderDetail == null) { return; // 即使沒資料會是 OrderItemRow[0] 不會是null } comboBoxGuoDi.SelectedIndex = MyConstant.MaxNo; }
public MonthlyReportData Statics(BasicDataSet basicDataSet1) { decimal cash = 0, credit = 0, deduct = 0; int people = 0; MonthlyReportData data = new MonthlyReportData(); foreach (BasicDataSet.OrderRow row in basicDataSet1.Order) { if (row.IsCreditIDNull() || row.CreditID == 0) { cash += row.Income; } else { credit += row.Income; } if (!row.IsPeopleNoNull()) { people += row.PeopleNo; } if (!row.IsDeductNull()) { deduct += row.Deduct; } } data.OrderCount = basicDataSet1.Order.Count; data.Cash = Math.Round(cash); data.Date = m_WorkingDay.Date; data.CreditCard = Math.Round(credit); data.CreditFee = Math.Round(FeeRate * data.CreditCard, 2); data.CreditNet = data.CreditCard - data.CreditFee; data.Deduct = Math.Round(deduct); if (people != 0) { data.AvePerPerson = Math.Round((cash + credit) / people, 1); } data.Revenue = Math.Round(cash + credit); return(data); }
public bool LoadData(BasicDataSet basicDataSet1, int year, int month, int day, bool Use12) { int count = basicDataSet1.Header.Rows.Count; if (count == 0) { return(false); } if (month < 1 || month > 12) { return(false); } if (day < 1 || day > 31) { return(false); } if (year < 2008 || year > 2020) { return(false); } BasicDataSet.HeaderRow row; foreach (BasicDataSet.HeaderRow r in basicDataSet1.Header.Rows) { if (r.DataDate.Month != month) { continue; } if (r.DataDate.Year != year) { continue; } if (r.DataDate.Day == day) { row = r; goto Yes; } } return(false); Yes: string sql = CreateSql(row.DataDate.Year, row.DataDate.Month, row.DataDate.Day, Use12); try { if (Use12) { BasicDataSet.OrderDataTable temp = new BasicDataSet.OrderDataTable(); m_OrderAdapter.FillBySelectStr(temp, "Select * From [Order] " + sql + " Order by ID"); int todayID = WorkingDay.IDTagHead(year, month, day); DateTime d = new DateTime(year, month, day); d = d.Subtract(new TimeSpan(24, 0, 0)); int prevID = WorkingDay.IDTagHead(d.Year, d.Month, d.Day); basicDataSet1.Order.Clear(); foreach (BasicDataSet.OrderRow r in temp) { int idHead = r.ID / 10000; if (idHead == todayID) { if (r.PrintTime.Hour < 7) { continue; } } else if (idHead == prevID) { if (r.PrintTime.Hour >= 7) { continue; } } BasicDataSet.OrderRow oRow = basicDataSet1.Order.NewOrderRow(); oRow.ItemArray = r.ItemArray; basicDataSet1.Order.AddOrderRow(oRow); } } else { m_OrderAdapter.FillBySelectStr(basicDataSet1.Order, "Select * From [Order] " + sql + " Order by ID"); } // m_OrderItemAdapter.FillBySelectStr(basicDataSet1.OrderItem, "Select * From [OrderItem] " + sql); m_WorkingDay.Set(row.DataDate); return(true); } catch (Exception ex) { LastErrorString = ex.Message; } return(false); }