public IEntityAutocompleteSelectorFactory CreateOrderAutocompleteSelectorFactory() { ISubdivisionJournalFactory subdivisionJournalFactory = new SubdivisionJournalFactory(); var counterpartyJournalFactory = new CounterpartyJournalFactory(); var deliveryPointJournalFactory = new DeliveryPointJournalFactory(); var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); var orderJournalFilterViewModel = new OrderJournalFilterViewModel(counterpartyJournalFactory, deliveryPointJournalFactory); return(new EntityAutocompleteSelectorFactory <OrderJournalViewModel>(typeof(Order), () => new OrderJournalViewModel( orderJournalFilterViewModel, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, VodovozGtkServicesConfig.EmployeeService, nomenclatureRepository, userRepository, new OrderSelectorFactory(), new EmployeeJournalFactory(), counterpartyJournalFactory, new DeliveryPointJournalFactory(), subdivisionJournalFactory, new GtkTabsOpener(), new UndeliveredOrdersJournalOpener(), new NomenclatureSelectorFactory(), new UndeliveredOrdersRepository() ) )); }
void ActionSelfdeliveryOrders_Activated(object sender, System.EventArgs e) { OrderJournalFilterViewModel filter = new OrderJournalFilterViewModel(); filter.SetAndRefilterAtOnce( x => x.AllowStatuses = new OrderStatus[] { OrderStatus.WaitForPayment, OrderStatus.OnLoading, OrderStatus.Accepted, OrderStatus.Closed }, x => x.RestrictOnlySelfDelivery = true, x => x.RestrictWithoutSelfDelivery = false, x => x.RestrictHideService = true, x => x.RestrictOnlyService = false, x => x.RestrictLessThreeHours = false ); filter.HidenByDefault = true; var selfDeliveriesJournal = new SelfDeliveriesJournalViewModel( filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new CallTaskWorker(CallTaskSingletonFactory.GetInstance(), new CallTaskRepository(), OrderSingletonRepository.GetInstance(), EmployeeSingletonRepository.GetInstance(), new BaseParametersProvider(), ServicesConfig.CommonServices.UserService, SingletonErrorReporter.Instance), new OrderPaymentSettings()); tdiMain.AddTab(selfDeliveriesJournal); }
void ActionOrdersTableActivated(object sender, System.EventArgs e) { var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider()); IEntityAutocompleteSelectorFactory counterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>(ServicesConfig.CommonServices); IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(ServicesConfig.CommonServices, new NomenclatureFilterViewModel(), counterpartySelectorFactory, nomenclatureRepository, UserSingletonRepository.GetInstance()); OrderJournalFilterViewModel filter = new OrderJournalFilterViewModel() { IsForRetail = false }; var ordersJournal = new OrderJournalViewModel(filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, VodovozGtkServicesConfig.EmployeeService, nomenclatureSelectorFactory, counterpartySelectorFactory, nomenclatureRepository, UserSingletonRepository.GetInstance()); tdiMain.AddTab(ordersJournal); }
private void ConfigureDlg() { yentryName.Binding.AddBinding(ViewModel.Entity, e => e.ComplainantName, w => w.Text).InitializeFromSource(); yentryName.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); entryCounterparty.SetEntityAutocompleteSelectorFactory(ViewModel.CounterpartySelectorFactory); entryCounterparty.Binding.AddBinding(ViewModel.Entity, e => e.Counterparty, w => w.Subject).InitializeFromSource(); entryCounterparty.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); EntryCounterparty_ChangedByUser(this, new EventArgs()); entryCounterparty.ChangedByUser += EntryCounterparty_ChangedByUser; spLstComplaintKind.SetRenderTextFunc <ComplaintKind>(k => k.GetFullName); spLstComplaintKind.Binding.AddBinding(ViewModel, vm => vm.ComplaintKindSource, w => w.ItemsList).InitializeFromSource(); spLstComplaintKind.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintKind, w => w.SelectedItem).InitializeFromSource(); spLstAddress.Binding.AddBinding(ViewModel, s => s.CanSelectDeliveryPoint, w => w.Sensitive).InitializeFromSource(); var orderSelectorFactory = new EntityAutocompleteSelectorFactory <OrderJournalViewModel>(typeof(Order), () => { var filter = new OrderJournalFilterViewModel(); if (ViewModel.Entity.Counterparty != null) { filter.RestrictCounterparty = ViewModel.Entity.Counterparty; } return(new OrderJournalViewModel(filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, ViewModel.EmployeeService, ViewModel.NomenclatureSelectorFactory, ViewModel.CounterpartySelectorFactory, ViewModel.NomenclatureRepository, ViewModel.UserRepository)); }); entryOrder.SetEntitySelectorFactory(orderSelectorFactory); entryOrder.Binding.AddBinding(ViewModel.Entity, e => e.Order, w => w.Subject).InitializeFromSource(); entryOrder.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); yentryPhone.Binding.AddBinding(ViewModel.Entity, e => e.Phone, w => w.Text).InitializeFromSource(); yentryPhone.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); complaintfilesview.ViewModel = ViewModel.FilesViewModel; complaintfilesview.Sensitive = ViewModel.CanEdit; comboboxComplaintSource.SetRenderTextFunc <ComplaintSource>(x => x.Name); comboboxComplaintSource.ItemsList = ViewModel.ComplaintSources; comboboxComplaintSource.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintSource, w => w.SelectedItem).InitializeFromSource(); comboboxComplaintSource.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); ytextviewComplaintText.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintText, w => w.Buffer.Text).InitializeFromSource(); ytextviewComplaintText.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); guiltyitemsview.ViewModel = ViewModel.GuiltyItemsViewModel; buttonSave.Clicked += (sender, e) => { ViewModel.CheckAndSave(); }; buttonCancel.Clicked += (sender, e) => { ViewModel.Close(false, QS.Navigation.CloseSource.Cancel); }; }
protected void OnBtnChooseOrderClicked(object sender, EventArgs e) { var filter = new OrderJournalFilterViewModel(new CounterpartyJournalFactory(), new DeliveryPointJournalFactory()); filter.SetAndRefilterAtOnce( x => x.RestrictCounterparty = _oldOrder.Client, x => x.HideStatuses = new Enum[] { OrderStatus.WaitForPayment } ); var orderFactory = new OrderSelectorFactory(filter); var orderJournal = orderFactory.CreateOrderJournalViewModel(); orderJournal.SelectionMode = JournalSelectionMode.Single; MyTab.TabParent.AddTab(orderJournal, MyTab, false); orderJournal.OnEntitySelectedResult += (s, ea) => { var selectedId = ea.SelectedNodes.FirstOrDefault()?.Id ?? 0; if (selectedId == 0) { return; } if (_oldOrder.Id == selectedId) { MessageDialogHelper.RunErrorDialog("Перенесённый заказ не может совпадать с недовезённым!"); OnBtnChooseOrderClicked(sender, ea); return; } _newOrder = _undelivery.NewOrder = UoW.GetById <Order>(selectedId); _newOrder.Author = this._oldOrder.Author; SetLabelsAcordingToNewOrder(); _undelivery.NewDeliverySchedule = _newOrder.DeliverySchedule; if ((_oldOrder.PaymentType == Domain.Client.PaymentType.ByCard) && (_oldOrder.OrderSum == _newOrder.OrderSum) && MessageDialogHelper.RunQuestionDialog("Перенести на выбранный заказ Оплату по Карте?")) { _newOrder.PaymentType = _oldOrder.PaymentType; _newOrder.OnlineOrder = _oldOrder.OnlineOrder; _newOrder.PaymentByCardFrom = _oldOrder.PaymentByCardFrom; } }; }
public IEntityAutocompleteSelectorFactory CreateCashSelfDeliveryOrderAutocompleteSelector() { var subdivisionJournalFactory = new SubdivisionJournalFactory(); var counterpartyJournalFactory = new CounterpartyJournalFactory(); var deliveryPointJournalFactory = new DeliveryPointJournalFactory(); var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); return(new EntityAutocompleteSelectorFactory <OrderJournalViewModel>( typeof(Order), () => { var filter = new OrderJournalFilterViewModel(counterpartyJournalFactory, deliveryPointJournalFactory); filter.SetAndRefilterAtOnce( x => x.RestrictStatus = OrderStatus.WaitForPayment, x => x.AllowPaymentTypes = new[] { PaymentType.cash }, x => x.RestrictOnlySelfDelivery = true, x => x.RestrictWithoutSelfDelivery = false, x => x.RestrictHideService = true, x => x.RestrictOnlyService = false); return new OrderJournalViewModel( filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, VodovozGtkServicesConfig.EmployeeService, nomenclatureRepository, userRepository, new OrderSelectorFactory(), new EmployeeJournalFactory(), counterpartyJournalFactory, new DeliveryPointJournalFactory(), subdivisionJournalFactory, new GtkTabsOpener(), new UndeliveredOrdersJournalOpener(), new NomenclatureJournalFactory(), new UndeliveredOrdersRepository(), new SubdivisionRepository(new ParametersProvider()), new FileDialogService()); })); }
private void ConfigureDlg() { yentryName.Binding.AddBinding(ViewModel.Entity, e => e.ComplainantName, w => w.Text).InitializeFromSource(); yentryName.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); entryCounterparty.SetEntityAutocompleteSelectorFactory(ViewModel.CounterpartyJournalFactory.CreateCounterpartyAutocompleteSelectorFactory()); entryCounterparty.Binding.AddBinding(ViewModel.Entity, e => e.Counterparty, w => w.Subject).InitializeFromSource(); entryCounterparty.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); EntryCounterparty_ChangedByUser(this, new EventArgs()); entryCounterparty.ChangedByUser += EntryCounterparty_ChangedByUser; spLstComplaintKind.SetRenderTextFunc <ComplaintKind>(k => k.GetFullName); spLstComplaintKind.Binding.AddBinding(ViewModel, vm => vm.ComplaintKindSource, w => w.ItemsList).InitializeFromSource(); spLstComplaintKind.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintKind, w => w.SelectedItem).InitializeFromSource(); yspeccomboboxComplaintObject.ShowSpecialStateAll = true; yspeccomboboxComplaintObject.Binding.AddSource(ViewModel) .AddBinding(vm => vm.ComplaintObjectSource, w => w.ItemsList) .AddBinding(ViewModel, vm => vm.ComplaintObject, w => w.SelectedItem).InitializeFromSource(); spLstAddress.Binding.AddBinding(ViewModel, s => s.CanSelectDeliveryPoint, w => w.Sensitive).InitializeFromSource(); var orderSelectorFactory = new EntityAutocompleteSelectorFactory <OrderJournalViewModel>(typeof(Order), () => { var filter = new OrderJournalFilterViewModel(ViewModel.CounterpartyJournalFactory, ViewModel.DeliveryPointJournalFactory); if (ViewModel.Entity.Counterparty != null) { filter.RestrictCounterparty = ViewModel.Entity.Counterparty; } return(new OrderJournalViewModel(filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, ViewModel.EmployeeService, ViewModel.NomenclatureRepository, ViewModel.UserRepository, ViewModel.OrderSelectorFactory, ViewModel.EmployeeJournalFactory, ViewModel.CounterpartyJournalFactory, ViewModel.DeliveryPointJournalFactory, ViewModel.SubdivisionJournalFactory, ViewModel.GtkDialogsOpener, ViewModel.UndeliveredOrdersJournalOpener, ViewModel.NomenclatureSelector, ViewModel.UndeliveredOrdersRepository, ViewModel.SubdivisionRepository, ViewModel.FileDialogService)); }); entryOrder.SetEntitySelectorFactory(orderSelectorFactory); entryOrder.Binding.AddBinding(ViewModel.Entity, e => e.Order, w => w.Subject).InitializeFromSource(); entryOrder.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); entryOrder.ChangedByUser += (sender, e) => ViewModel.ChangeDeliveryPointCommand.Execute(); if (ViewModel.UserHasOnlyAccessToWarehouseAndComplaints) { entryCounterparty.CanEditReference = entryOrder.CanEditReference = false; } yentryPhone.Binding.AddBinding(ViewModel.Entity, e => e.Phone, w => w.Text).InitializeFromSource(); yentryPhone.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); complaintfilesview.ViewModel = ViewModel.FilesViewModel; complaintfilesview.Sensitive = ViewModel.CanEdit; comboboxComplaintSource.SetRenderTextFunc <ComplaintSource>(x => x.Name); comboboxComplaintSource.ItemsList = ViewModel.ComplaintSources; comboboxComplaintSource.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintSource, w => w.SelectedItem).InitializeFromSource(); comboboxComplaintSource.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); ytextviewComplaintText.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintText, w => w.Buffer.Text).InitializeFromSource(); ytextviewComplaintText.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); guiltyitemsview.ViewModel = ViewModel.GuiltyItemsViewModel; buttonSave.Clicked += (sender, e) => { ViewModel.CheckAndSave(); }; buttonCancel.Clicked += (sender, e) => { ViewModel.Close(true, QS.Navigation.CloseSource.Cancel); }; }
private void ConfigureDlg() { ylabelSubdivisions.Binding.AddBinding(ViewModel, vm => vm.SubdivisionsInWork, w => w.LabelProp).InitializeFromSource(); ylabelCreatedBy.Binding.AddBinding(ViewModel, e => e.CreatedByAndDate, w => w.LabelProp).InitializeFromSource(); ylabelChangedBy.Binding.AddBinding(ViewModel, e => e.ChangedByAndDate, w => w.LabelProp).InitializeFromSource(); yentryName.Binding.AddBinding(ViewModel.Entity, e => e.ComplainantName, w => w.Text).InitializeFromSource(); yentryName.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); yentryName.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); labelName.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); yenumcomboStatus.ItemsEnum = typeof(ComplaintStatuses); if (!ViewModel.CanClose) { yenumcomboStatus.AddEnumToHideList(new object[] { ComplaintStatuses.Closed }); } yenumcomboStatus.Binding.AddSource(ViewModel) .AddBinding(vm => vm.Status, w => w.SelectedItem) .AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive) .InitializeFromSource(); yenumcomboStatus.EnumItemSelected += (sender, args) => ViewModel.CloseComplaint((ComplaintStatuses)args.SelectedItem); ydatepickerPlannedCompletionDate.Binding.AddBinding(ViewModel.Entity, e => e.PlannedCompletionDate, w => w.Date).InitializeFromSource(); ydatepickerPlannedCompletionDate.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); entryCounterparty.Changed += EntryCounterparty_Changed; entryCounterparty.SetEntityAutocompleteSelectorFactory(ViewModel.CounterpartySelectorFactory); entryCounterparty.Binding.AddBinding(ViewModel.Entity, e => e.Counterparty, w => w.Subject).InitializeFromSource(); entryCounterparty.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); entryCounterparty.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); labelCounterparty.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); spLstAddress.Binding.AddBinding(ViewModel, s => s.CanSelectDeliveryPoint, w => w.Sensitive).InitializeFromSource(); spLstAddress.Binding.AddBinding(ViewModel, s => s.IsClientComplaint, w => w.Visible).InitializeFromSource(); lblAddress.Binding.AddBinding(ViewModel, s => s.IsClientComplaint, w => w.Visible).InitializeFromSource(); var orderSelectorFactory = new EntityAutocompleteSelectorFactory <OrderJournalViewModel>(typeof(Order), () => { var filter = new OrderJournalFilterViewModel(ViewModel.CounterpartyJournalFactory, ViewModel.DeliveryPointJournalFactory); if (ViewModel.Entity.Counterparty != null) { filter.RestrictCounterparty = ViewModel.Entity.Counterparty; } return(new OrderJournalViewModel(filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, ViewModel.EmployeeService, ViewModel.NomenclatureRepository, ViewModel.UserRepository, ViewModel.OrderSelectorFactory, ViewModel.EmployeeJournalFactory, ViewModel.CounterpartyJournalFactory, ViewModel.DeliveryPointJournalFactory, ViewModel.SubdivisionJournalFactory, ViewModel.GtkDialogsOpener, ViewModel.UndeliveredOrdersJournalOpener, ViewModel.NomenclatureSelector, ViewModel.UndeliveredOrdersRepository, ViewModel.SubdivisionRepository, ViewModel.FileDialogService)); }); entryOrder.SetEntityAutocompleteSelectorFactory(orderSelectorFactory); entryOrder.Binding.AddBinding(ViewModel.Entity, e => e.Order, w => w.Subject).InitializeFromSource(); entryOrder.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); entryOrder.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); entryOrder.ChangedByUser += (sender, e) => ViewModel.ChangeDeliveryPointCommand.Execute(); labelOrder.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); yentryPhone.Binding.AddBinding(ViewModel.Entity, e => e.Phone, w => w.Text).InitializeFromSource(); yhboxPhone.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); yhboxPhone.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); labelNamePhone.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); arrangementTextView.Binding .AddBinding(ViewModel.Entity, e => e.Arrangement, w => w.Buffer.Text) .AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive) .InitializeFromSource(); cmbComplaintKind.SetRenderTextFunc <ComplaintKind>(k => k.GetFullName); cmbComplaintKind.Binding .AddBinding(ViewModel, vm => vm.ComplaintKindSource, w => w.ItemsList) .AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive) .AddBinding(ViewModel.Entity, e => e.ComplaintKind, w => w.SelectedItem) .InitializeFromSource(); yspeccomboboxComplaintObject.ShowSpecialStateAll = true; yspeccomboboxComplaintObject.Binding.AddSource(ViewModel) .AddBinding(vm => vm.ComplaintObjectSource, w => w.ItemsList) .AddBinding(vm => vm.ComplaintObject, w => w.SelectedItem) .AddBinding(vm => vm.CanEdit, w => w.Sensitive) .InitializeFromSource(); comboboxComplaintSource.SetRenderTextFunc <ComplaintSource>(x => x.Name); comboboxComplaintSource.Binding.AddBinding(ViewModel, vm => vm.ComplaintSources, w => w.ItemsList).InitializeFromSource(); comboboxComplaintSource.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintSource, w => w.SelectedItem).InitializeFromSource(); comboboxComplaintSource.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); comboboxComplaintSource.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); labelSource.Binding.AddBinding(ViewModel, vm => vm.IsClientComplaint, w => w.Visible).InitializeFromSource(); cmbComplaintResultOfCounterparty.SetRenderTextFunc <ComplaintResultOfCounterparty>(x => x.Name); cmbComplaintResultOfCounterparty.Binding.AddBinding(ViewModel, vm => vm.ComplaintResultsOfCounterparty, w => w.ItemsList).InitializeFromSource(); cmbComplaintResultOfCounterparty.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintResultOfCounterparty, w => w.SelectedItem).InitializeFromSource(); cmbComplaintResultOfCounterparty.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); cmbComplaintResultOfEmployees.SetRenderTextFunc <ComplaintResultOfEmployees>(x => x.Name); cmbComplaintResultOfEmployees.Binding.AddBinding(ViewModel, vm => vm.ComplaintResultsOfEmployees, w => w.ItemsList).InitializeFromSource(); cmbComplaintResultOfEmployees.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintResultOfEmployees, w => w.SelectedItem).InitializeFromSource(); cmbComplaintResultOfEmployees.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); ytextviewResultText.Binding.AddBinding(ViewModel.Entity, e => e.ResultText, w => w.Buffer.Text).InitializeFromSource(); ytextviewResultText.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); complaintfilesview.ViewModel = ViewModel.FilesViewModel; ytextviewComplaintText.Binding.AddBinding(ViewModel.Entity, e => e.ComplaintText, w => w.Buffer.Text).InitializeFromSource(); ytextviewComplaintText.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); comboType.ItemsEnum = typeof(ComplaintType); comboType.Binding .AddBinding(ViewModel.Entity, e => e.ComplaintType, w => w.SelectedItem) .AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive) .InitializeFromSource(); guiltyitemsview.ViewModel = ViewModel.GuiltyItemsViewModel; guiltyitemsview.Visible = ViewModel.CanAddGuilty; labelNameGuilties.Visible = ViewModel.CanAddGuilty; vboxDicussions.Add(new ComplaintDiscussionsView(ViewModel.DiscussionsViewModel)); vboxDicussions.ShowAll(); ytreeviewFines.ColumnsConfig = FluentColumnsConfig <FineItem> .Create() .AddColumn("№").AddTextRenderer(x => x.Fine.Id.ToString()) .AddColumn("Сотрудник").AddTextRenderer(x => x.Employee.ShortName) .AddColumn("Сумма штрафа").AddTextRenderer(x => CurrencyWorks.GetShortCurrencyString(x.Money)) .Finish(); ytreeviewFines.Binding.AddBinding(ViewModel, vm => vm.FineItems, w => w.ItemsDataSource).InitializeFromSource(); buttonAddFine.Clicked += (sender, e) => { ViewModel.AddFineCommand.Execute(this.Tab); }; buttonAddFine.Binding.AddBinding(ViewModel, vm => vm.CanAddFine, w => w.Sensitive).InitializeFromSource(); buttonAttachFine.Clicked += (sender, e) => { ViewModel.AttachFineCommand.Execute(); }; buttonAttachFine.Binding.AddBinding(ViewModel, vm => vm.CanAttachFine, w => w.Sensitive).InitializeFromSource(); buttonSave.Clicked += (sender, e) => { ViewModel.SaveAndClose(); }; buttonSave.Binding.AddBinding(ViewModel, vm => vm.CanEdit, w => w.Sensitive).InitializeFromSource(); buttonCancel.Clicked += (sender, e) => { ViewModel.Close(ViewModel.CanEdit, QS.Navigation.CloseSource.Cancel); }; ViewModel.FilesViewModel.ReadOnly = !ViewModel.CanEdit; ViewModel.Entity.PropertyChanged += (o, e) => { if (e.PropertyName == nameof(ViewModel.Entity.Phone)) { handsetPhone.SetPhone(ViewModel.Entity.Phone); } }; }
public OrderSelectorFactory(OrderJournalFilterViewModel orderFilter = null) { _orderJournalFilter = orderFilter; }
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(); }