private TableUpdater(Mode mode, ICashDataReader reader, IEventLink eventLink, TableMapper mapper, IProgressReporter reporter) { _mode = mode; _reader = reader; _eventLink = eventLink; _mapper = mapper; _reporter = reporter; _executor = new FbExecutor { Executor = Execute }; }
private void ProcessProperty(LoggedEvent obj, ICashDataReader reader) { switch (reader.FieldName) { case "Операция": obj.Operation = reader.FieldValue; break; case "Кассир": obj.User = _dataResolver.ResolveUser(reader.FieldValue); break; case "Дата": obj.OperationDate = reader.FieldValueAsDateTime; break; case "Арт": obj.Article = reader.FieldValue; break; case "Серия": obj.SeriesId = reader.FieldValue; break; case "Кол-во": obj.Quantity = reader.FieldValueAsDecimal; break; case "Сумма": obj.Amount = reader.FieldValueAsDecimal; break; } }
private void ProcessProperty(Cash obj, ICashDataReader reader) { switch (reader.FieldName) { case "Смена": obj.ShiftNo = reader.FieldValueAsInt32; break; case "Кассир": obj.User = _dataResolver.ResolveUser(reader.FieldValue); break; case "Тип": obj.Direction = (CashDirection)reader.FieldValueAsInt32; break; case "Дата": obj.OperationDate = reader.FieldValueAsDateTime; break; case "Сумма": obj.Amount = reader.FieldValueAsDecimal; break; case "Владелец": obj.Owner = _dataResolver.ResolveOwner(reader.FieldValue); break; } }
private void ProcessProperty(PaymentCard obj, ICashDataReader reader) { switch (reader.FieldName) { case "Смена": obj.ShiftNo = reader.FieldValueAsInt32; break; case "Чек": obj.ReceiptNo = reader.FieldValueAsInt32; break; case "Карта": obj.CardId = reader.FieldValue; break; case "Сумма": obj.Amount = reader.FieldValueAsDecimal; break; } }
private void ProcessProperty(Discount obj, ICashDataReader reader) { switch (reader.FieldName) { case "Смена": obj.ShiftNo = reader.FieldValueAsInt32; break; case "Чек": obj.ReceiptNo = reader.FieldValueAsInt32; break; case "Скидка": obj.DiscountId = reader.FieldValue; break; case "Арт": obj.Article = reader.FieldValue; break; case "Серия": obj.SeriesId = reader.FieldValue; break; case "Сумма": obj.Amount = reader.FieldValueAsDecimal; break; } }
private void ProcessProperty(ReceiptRow obj, ICashDataReader reader) { switch (reader.FieldName) { case "Смена": obj.ShiftNo = reader.FieldValueAsInt32; break; case "Чек": obj.ReceiptNo = reader.FieldValueAsInt32; break; case "Владелец": obj.Owner = _dataResolver.ResolveOwner(reader.FieldValue); break; case "Арт": obj.Article = reader.FieldValue; break; case "Серия": obj.SeriesId = reader.FieldValue; break; case "Кол-во": obj.Quantity = reader.FieldValueAsDecimal; break; case "Сумма": obj.Amount = reader.FieldValueAsDecimal; break; case "СуммаНДС": obj.VatAmount = reader.FieldValueAsDecimal; break; case "ШК": obj.Barcode = reader.FieldValue; break; } }
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; } }
private void ProcessProperty(ShiftSummary obj, ICashDataReader reader) { switch (reader.FieldName) { case "Смена": obj.ShiftNo = reader.FieldValueAsInt32; break; case "ДатаОткр": obj.OpeningDate = reader.FieldValueAsDateTime; break; case "ДатаЗакр": obj.ClosingDate = reader.FieldValueAsDateTime; break; case "Администратор": obj.ClosingUser = _dataResolver.ResolveUser(reader.FieldValue); break; } }
private void ProcessSalesData(ICashDataReader reader) { _summary = new RequestSummary(SalesQuery); while (reader.GetNextTable()) { FuncGroup funcGroup; if (_tableFunctions.TryGetValue(reader.TableName, out funcGroup)) { while (reader.GetNextRecord()) { var dataObject = funcGroup.Constructor(); while (reader.GetNextField()) { if (!reader.FieldIsEmpty) funcGroup.PropertySetter(dataObject, reader); } funcGroup.Persister(dataObject); } } } }
public static void Execute(Mode mode, ICashDataReader reader, IEventLink eventLink, TableMapper mapper, IProgressReporter reporter) { using (var updater = new TableUpdater(mode, reader, eventLink, mapper, reporter)) { updater.Execute(); } }