Пример #1
0
        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);
            }
        }
Пример #2
0
        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();
        }