void ConfigureDlg() { if (Entity.EmployeeDocument == null && Entity.Employee != null) { GetDocument(); } ylabelNumber.Binding.AddBinding(Entity, x => x.Title, x => x.LabelProp).InitializeFromSource(); var orderFactory = new OrderSelectorFactory(); evmeOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateOrderAutocompleteSelectorFactory()); evmeOrder.Binding.AddBinding(Entity, x => x.Order, x => x.Subject).InitializeFromSource(); evmeOrder.Changed += (sender, e) => { FillForOrder(); }; evmeOrder.CanEditReference = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete"); var orgFactory = new OrganizationJournalFactory(); evmeOrganization.SetEntityAutocompleteSelectorFactory(orgFactory.CreateOrganizationAutocompleteSelectorFactory()); evmeOrganization.Binding.AddBinding(Entity, x => x.Organization, x => x.Subject).InitializeFromSource(); evmeOrganization.Changed += (sender, e) => UpdateStates(); FillForOrder(); yDPDatesRange.Binding.AddBinding(Entity, x => x.Date, x => x.StartDate).InitializeFromSource(); yDPDatesRange.Binding.AddBinding(Entity, x => x.ExpirationDate, x => x.EndDate).InitializeFromSource(); var employeeFactory = new EmployeeJournalFactory(); evmeEmployee.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeEmployee.Binding.AddBinding(Entity, x => x.Employee, x => x.Subject).InitializeFromSource(); var supplierFactory = new CounterpartyJournalFactory(); evmeSupplier.SetEntityAutocompleteSelectorFactory(supplierFactory.CreateCounterpartyAutocompleteSelectorFactory()); evmeSupplier.Binding.AddBinding(Entity, x => x.Supplier, x => x.Subject).InitializeFromSource(); yETicketNr.Binding.AddBinding(Entity, x => x.TicketNumber, w => w.Text).InitializeFromSource(); yDTicketDate.Binding.AddBinding(Entity, x => x.TicketDate, x => x.DateOrNull).InitializeFromSource(); RefreshParserRootObject(); templatewidget.CanRevertCommon = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_set_common_additionalagreement"); templatewidget.Binding.AddBinding(Entity, e => e.DocumentTemplate, w => w.Template).InitializeFromSource(); templatewidget.Binding.AddBinding(Entity, e => e.ChangedTemplateFile, w => w.ChangedDoc).InitializeFromSource(); templatewidget.BeforeOpen += Templatewidget_BeforeOpen; yTWEquipment.ColumnsConfig = ColumnsConfigFactory.Create <OrderEquipment>() .AddColumn("Наименование").SetDataProperty(node => node.FullNameString) .AddColumn("Направление").SetDataProperty(node => node.DirectionString) .AddColumn("Кол-во").AddNumericRenderer(node => node.Count).WidthChars(10) .Adjustment(new Adjustment(0, 0, 1000000, 1, 100, 0)) .AddColumn("") .Finish(); UpdateStates(); }
public void ConfigureDlg(IUnitOfWork uow, UndeliveredOrder undelivery) { Sensitive = false; evmeOldUndeliveredOrder.Changed += OnUndeliveredOrderChanged; _canChangeProblemSource = _commonServices.PermissionService.ValidateUserPresetPermission("can_change_undelivery_problem_source", _commonServices.UserService.CurrentUserId); _undelivery = undelivery; UoW = uow; _oldOrder = undelivery.OldOrder; _newOrder = undelivery.NewOrder; if (undelivery.Id > 0 && undelivery.InProcessAtDepartment != null) { _initialProcDepartmentName = undelivery.InProcessAtDepartment.Name; } if (undelivery.Id > 0) { foreach (GuiltyInUndelivery g in undelivery.ObservableGuilty) { _initialGuiltyList.Add( new GuiltyInUndelivery { Id = g.Id, UndeliveredOrder = g.UndeliveredOrder, GuiltySide = g.GuiltySide, GuiltyDepartment = g.GuiltyDepartment } ); } } List <OrderStatus> hiddenStatusesList = new List <OrderStatus>(); var grantedStatusesArray = _orderRepository.GetStatusesForOrderCancelation(); foreach (OrderStatus status in Enum.GetValues(typeof(OrderStatus))) { if (!grantedStatusesArray.Contains(status)) { hiddenStatusesList.Add(status); } } var filterOrders = new OrderJournalFilterViewModel(new CounterpartyJournalFactory(), new DeliveryPointJournalFactory()); filterOrders.SetAndRefilterAtOnce(x => x.HideStatuses = hiddenStatusesList.Cast <Enum>().ToArray()); evmeOldUndeliveredOrder.Changed += (sender, e) => { _oldOrder = undelivery.OldOrder; lblInfo.Markup = undelivery.GetOldOrderInfo(_orderRepository); if (undelivery.Id <= 0) { undelivery.OldOrderStatus = _oldOrder.OrderStatus; } _routeListDoesNotExist = _oldOrder != null && (undelivery.OldOrderStatus == OrderStatus.NewOrder || undelivery.OldOrderStatus == OrderStatus.Accepted || undelivery.OldOrderStatus == OrderStatus.WaitForPayment); guiltyInUndeliveryView.ConfigureWidget(UoW, undelivery, !_routeListDoesNotExist); SetSensitivities(); SetVisibilities(); GetFines(); RemoveItemsFromEnums(); }; var orderFactory = new OrderSelectorFactory(filterOrders); evmeOldUndeliveredOrder.SetEntityAutocompleteSelectorFactory(orderFactory.CreateOrderAutocompleteSelectorFactory()); evmeOldUndeliveredOrder.Binding.AddBinding(undelivery, x => x.OldOrder, x => x.Subject).InitializeFromSource(); evmeOldUndeliveredOrder.CanEditReference = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("can_delete"); yDateDriverCallTime.Binding.AddBinding(undelivery, t => t.DriverCallTime, w => w.DateOrNull).InitializeFromSource(); if (undelivery.Id <= 0) { yDateDriverCallTime.DateOrNull = DateTime.Now; } yEnumCMBDriverCallPlace.ItemsEnum = typeof(DriverCallType); yEnumCMBDriverCallPlace.Binding.AddBinding(undelivery, p => p.DriverCallType, w => w.SelectedItem).InitializeFromSource(); yDateDispatcherCallTime.Binding.AddBinding(undelivery, t => t.DispatcherCallTime, w => w.DateOrNull).InitializeFromSource(); if (undelivery.Id <= 0) { yDateDispatcherCallTime.DateOrNull = DateTime.Now; } referenceNewDeliverySchedule.ItemsQuery = _deliveryScheduleRepository.AllQuery(); referenceNewDeliverySchedule.SetObjectDisplayFunc <DeliverySchedule>(e => e.Name); referenceNewDeliverySchedule.Binding.AddBinding(undelivery, s => s.NewDeliverySchedule, w => w.Subject).InitializeFromSource(); referenceNewDeliverySchedule.Sensitive = false; SetLabelsAcordingToNewOrder(); yEnumCMBStatus.ItemsEnum = typeof(UndeliveryStatus); yEnumCMBStatus.SelectedItem = undelivery.UndeliveryStatus; yEnumCMBStatus.EnumItemSelected += (s, e) => { SetSensitivities(); undelivery.SetUndeliveryStatus((UndeliveryStatus)e.SelectedItem); }; yentInProcessAtDepartment.SubjectType = typeof(Subdivision); yentInProcessAtDepartment.Binding.AddBinding(undelivery, d => d.InProcessAtDepartment, w => w.Subject).InitializeFromSource(); yentInProcessAtDepartment.ChangedByUser += (s, e) => { undelivery.AddCommentToTheField( UoW, CommentedFields.Reason, String.Format( "сменил(а) \"в работе у отдела\" \nс \"{0}\" на \"{1}\"", _initialProcDepartmentName, undelivery.InProcessAtDepartment.Name ) ); }; if (undelivery.Id <= 0) { yentInProcessAtDepartment.Subject = _subdivisionRepository.GetQCDepartment(UoW); } var employeeFactory = new EmployeeJournalFactory(); evmeRegisteredBy.SetEntityAutocompleteSelectorFactory(employeeFactory.CreateWorkingEmployeeAutocompleteSelectorFactory()); evmeRegisteredBy.Binding.AddBinding(undelivery, s => s.EmployeeRegistrator, w => w.Subject).InitializeFromSource(); yEnumCMBDriverCallPlace.EnumItemSelected += CMBSelectedItemChanged; txtReason.Binding.AddBinding(undelivery, u => u.Reason, w => w.Buffer.Text).InitializeFromSource(); lblInfo.Markup = undelivery.GetOldOrderInfo(_orderRepository); yenumcomboboxTransferType.ItemsEnum = typeof(TransferType); yenumcomboboxTransferType.Binding.AddBinding(undelivery, u => u.OrderTransferType, w => w.SelectedItemOrNull).InitializeFromSource(); comboProblemSource.SetRenderTextFunc <UndeliveryProblemSource>(k => k.GetFullName); comboProblemSource.Binding.AddBinding(undelivery, u => u.ProblemSourceItems, w => w.ItemsList).InitializeFromSource(); comboProblemSource.Binding.AddBinding(undelivery, u => u.ProblemSource, w => w.SelectedItem).InitializeFromSource(); comboProblemSource.Sensitive = _canChangeProblemSource; comboTransferAbsenceReason.SetRenderTextFunc <UndeliveryTransferAbsenceReason>(u => u.Name); comboTransferAbsenceReason.Binding.AddBinding(undelivery, u => u.UndeliveryTransferAbsenceReasonItems, w => w.ItemsList).InitializeFromSource(); comboTransferAbsenceReason.Binding.AddBinding(undelivery, u => u.UndeliveryTransferAbsenceReason, w => w.SelectedItem).InitializeFromSource(); comboTransferAbsenceReason.Sensitive = _canChangeProblemSource; yTreeFines.ColumnsConfig = ColumnsConfigFactory.Create <FineItem>() .AddColumn("Номер").AddTextRenderer(node => node.Fine.Id.ToString()) .AddColumn("Сотудники").AddTextRenderer(node => node.Employee.ShortName) .AddColumn("Сумма штрафа").AddTextRenderer(node => CurrencyWorks.GetShortCurrencyString(node.Money)) .Finish(); yenumcomboboxTransferType.Visible = undelivery?.NewOrder != null; undelivery.PropertyChanged += (sender, e) => { if (e.PropertyName != "NewOrder") { return; } if (undelivery.NewOrder == null) { yenumcomboboxTransferType.Visible = false; undelivery.OrderTransferType = null; return; } yenumcomboboxTransferType.Visible = true; }; GetFines(); SetVisibilities(); SetSensitivities(); }