public void CellValueChanged(object sender, DevExpress.XtraSpreadsheet.SpreadsheetCellEventArgs e) { if (!AllowChangeOrder()) { return; } string reference = e.Cell.GetReferenceA1(); var oldCustomerId = order.CustomerId; string shiftedRange = CellsHelper.GetActualCellRange(reference, actualOrderItems.Any() ? -actualOrderItems.Count : 0); if (OrderPropertiesHelper.Setters.ContainsKey(shiftedRange)) { OrderPropertiesHelper.Setters[shiftedRange].Invoke(order, e.Cell.Value, source); if (CellsHelper.HasDependentCells(shiftedRange)) { if (order.CustomerId != oldCustomerId) { UpdateCustomerStores(); } CellsHelper.UpdateDependentCells(Invoice, order, source); UpdateTotalValues(); } } if (IsOrderItemsRegionModified(e.Cell)) { UpdateOrderItem(e.Cell); } }
public InvoiceHelper(IWorkbook workbook, Tuple <OrderCollections, Order> dataSource, EditActions editActions) { this.source = dataSource.Item1; this.order = dataSource.Item2; this.editActions = editActions; SetActualOrderItems(); LoadInvoice(workbook); CellsHelper.UpdateEditableCells(Invoice, order, source); CellsHelper.UpdateDependentCells(Invoice, order, source); if (AllowChangeOrder()) { CellsHelper.GenerateEditors(CellsHelper.OrderCells, Invoice); CreateCollectionEditors(); } AddOrderItemsToSheet(); }