示例#1
0
        void ConfigureDlg()
        {
            if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.MovementEdit, Entity.FromWarehouse, Entity.ToWarehouse))
            {
                FailInitialize = true;
                return;
            }

            var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.MovementEdit, Entity.FromWarehouse, Entity.ToWarehouse);

            enumMovementType.Sensitive = referenceEmployee.IsEditable = referenceWarehouseTo.Sensitive
                                                                            = yentryrefWagon.IsEditable = textComment.Sensitive = editing;
            movementdocumentitemsview1.Sensitive = editing;

            textComment.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource();
            labelTimeStamp.Binding.AddBinding(Entity, e => e.DateString, w => w.LabelProp).InitializeFromSource();

            referenceCounterpartyFrom.RepresentationModel = new ViewModel.CounterpartyVM(new CounterpartyFilter(UoW));
            referenceCounterpartyFrom.Binding.AddBinding(Entity, e => e.FromClient, w => w.Subject).InitializeFromSource();

            referenceCounterpartyTo.RepresentationModel = new ViewModel.CounterpartyVM(new CounterpartyFilter(UoW));
            referenceCounterpartyTo.Binding.AddBinding(Entity, e => e.ToClient, w => w.Subject).InitializeFromSource();

            referenceWarehouseTo.ItemsQuery = StoreDocumentHelper.GetWarehouseQuery();
            referenceWarehouseTo.Binding.AddBinding(Entity, e => e.ToWarehouse, w => w.Subject).InitializeFromSource();
            referenceWarehouseFrom.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.MovementEdit);
            referenceWarehouseFrom.Binding.AddBinding(Entity, e => e.FromWarehouse, w => w.Subject).InitializeFromSource();
            referenceWarehouseFrom.IsEditable         = StoreDocumentHelper.CanEditDocument(WarehousePermissions.MovementEdit, Entity.FromWarehouse);
            referenceDeliveryPointTo.CanEditReference = false;
            referenceDeliveryPointTo.SubjectType      = typeof(DeliveryPoint);
            referenceDeliveryPointTo.Binding.AddBinding(Entity, e => e.ToDeliveryPoint, w => w.Subject).InitializeFromSource();
            referenceDeliveryPointFrom.CanEditReference = false;
            referenceDeliveryPointFrom.SubjectType      = typeof(DeliveryPoint);
            referenceDeliveryPointFrom.Binding.AddBinding(Entity, e => e.FromDeliveryPoint, w => w.Subject).InitializeFromSource();
            var filterEmployee = new EmployeeFilter(UoW);

            referenceEmployee.RepresentationModel = new EmployeesVM(filterEmployee);
            referenceEmployee.Binding.AddBinding(Entity, e => e.ResponsiblePerson, w => w.Subject).InitializeFromSource();

            yentryrefWagon.SubjectType = typeof(MovementWagon);
            yentryrefWagon.Binding.AddBinding(Entity, e => e.MovementWagon, w => w.Subject).InitializeFromSource();

            ylabelTransportationStatus.Binding.AddBinding(Entity, e => e.TransportationDescription, w => w.LabelProp).InitializeFromSource();

            MovementDocumentCategory[] filteredDoctypeList = { MovementDocumentCategory.counterparty };
            object[] MovementDocumentList = Array.ConvertAll(filteredDoctypeList, x => (object)x);
            enumMovementType.ItemsEnum = typeof(MovementDocumentCategory);
            enumMovementType.AddEnumToHideList(MovementDocumentList);
            enumMovementType.Binding.AddBinding(Entity, e => e.Category, w => w.SelectedItem).InitializeFromSource();
            if (Entity.Id == 0)
            {
                Entity.Category = MovementDocumentCategory.Transportation;
            }

            buttonDelivered.Sensitive = Entity.TransportationStatus == TransportationStatus.Submerged &&
                                        CurrentPermissions.Warehouse[WarehousePermissions.MovementEdit, Entity.ToWarehouse];

            movementdocumentitemsview1.DocumentUoW = UoWGeneric;
        }