private void BuildReceipt(TreeNode root, ReceiptHeader receipt) { // позиции чека foreach (KeyValuePair<ReceiptRowKey, ReceiptRow> kvp in receipt.GetRowEnumerable()) { TreeNode rowNode = new TreeNode(kvp.Value.ToString(), 6, 6); rowNode.Tag = kvp.Value; BuildDiscounts(rowNode, kvp.Value.GetAutoDiscountsEnumerable(), "Авт."); BuildDiscounts(rowNode, kvp.Value.GetPersonalDiscountEnumerable(), "Перс."); root.Nodes.Add(rowNode); } // использованные платежные карты foreach (KeyValuePair<String, PaymentCard> kvp in receipt.GetCardEnumerable()) { TreeNode cardNode = new TreeNode(kvp.Value.ToString(), 7, 7); cardNode.Tag = kvp.Value; root.Nodes.Add(cardNode); } }
private void ProcessProperty(ReceiptHeader obj, ICashDataReader reader) { switch (reader.FieldName) { case "Смена": obj.ShiftNo = reader.FieldValueAsInt32; break; case "Чек": obj.ReceiptNo = reader.FieldValueAsInt32; break; case "Открыт": obj.OpeningDate = reader.FieldValueAsDateTime; break; case "Дата": obj.ClosingDate = reader.FieldValueAsDateTime; break; case "Кассир": obj.ClosingUser = _dataResolver.ResolveUser(reader.FieldValue); break; case "ТипДок": obj.ReceiptType = (ReceiptType)reader.FieldValueAsInt32; break; case "СменаДок": obj.OriginalShiftNo = reader.FieldValueAsInt32; break; case "НомерДок": obj.OriginalReceiptNo = reader.FieldValueAsInt32; break; } }
/// <summary> /// Добавляет новый чек /// </summary> /// <param name="header">Заголовок чека</param> public void NewReceipt(ReceiptHeader header) { _receipts.Add(header.ReceiptNo, header); }