public PlanImplementationReport(bool orderById = false) { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); _filter = new SelectableParametersReportFilter(UoW); ConfigureDlg(); }
public OnecCommentsReport() { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); _filter = new SelectableParametersReportFilter(UoW); ConfigureReport(); }
public NomenclatureForShipment() { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); _filter = new SelectableParametersReportFilter(UoW); ydatepicker.Date = DateTime.Today.AddDays(1); ConfigureDlg(); }
public EquipmentReport(IInteractiveService interactiveService) { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); filter = new SelectableParametersReportFilter(UoW); ConfigureDlg(); _interactiveService = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService)); }
public SalesByDiscountReport() { Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); _filter = new SelectableParametersReportFilter(UoW); dateperiodpicker.StartDate = dateperiodpicker.EndDate = DateTime.Today; ConfigureMultipleFilter(); yenumcomboboxDateType.ItemsEnum = typeof(OrderDateType); yenumcomboboxDateType.SelectedItem = OrderDateType.DeliveryDate; }
public StockMovements() { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); yentryrefWarehouse.SubjectType = typeof(Warehouse); filter = new SelectableParametersReportFilter(UoW); if (CurrentUserSettings.Settings.DefaultWarehouse != null) { yentryrefWarehouse.Subject = CurrentUserSettings.Settings.DefaultWarehouse; } ConfigureDlg(); }
public SalesReport(IEmployeeRepository employeeRepository) { this.employeeRepository = employeeRepository; this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); filter = new SelectableParametersReportFilter(UoW); userIsSalesRepresentative = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("user_is_sales_representative") && !ServicesConfig.CommonServices.UserService.GetCurrentUser(UoW).IsAdmin; ConfigureDlg(); }
public SalesReport(IEmployeeRepository employeeRepository, IInteractiveService interactiveService) { _employeeRepository = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository)); _interactiveService = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService)); this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); _filter = new SelectableParametersReportFilter(UoW); _userIsSalesRepresentative = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("user_is_sales_representative") && !ServicesConfig.CommonServices.UserService.GetCurrentUser(UoW).IsAdmin; ConfigureDlg(); }
public ReturnedTareReport(IInteractiveService interactiveService) { _interactiveService = interactiveService ?? throw new ArgumentNullException(nameof(interactiveService)); UoW = UnitOfWorkFactory.CreateWithoutRoot(); _filter = new SelectableParametersReportFilter(UoW); Build(); btnCreateReport.Clicked += (sender, e) => OnUpdate(true); btnCreateReport.Sensitive = false; daterangepicker.PeriodChangedByUser += Daterangepicker_PeriodChangedByUser; yenumcomboboxDateType.ItemsEnum = typeof(OrderDateType); yenumcomboboxDateType.SelectedItem = OrderDateType.CreationDate; buttonHelp.Clicked += OnButtonHelpClicked; ConfigureFilter(); }
public StockMovements() { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); yentryrefWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(); filter = new SelectableParametersReportFilter(UoW); if (CurrentUserSettings.Settings.DefaultWarehouse != null) { yentryrefWarehouse.Subject = CurrentUserSettings.Settings.DefaultWarehouse; } if (ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("user_have_access_only_to_warehouse_and_complaints") && !ServicesConfig.CommonServices.UserService.GetCurrentUser(UoW).IsAdmin) { yentryrefWarehouse.Sensitive = false; } ConfigureDlg(); }
public OrdersCreationTimeReport() { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); filter = new SelectableParametersReportFilter(UoW); buttonCreateReport.Clicked += (sender, e) => OnUpdate(true); datepicker.IsEditable = true; ytimeentryCreate1.FocusOutEvent += YtimeentryCreate1_FocusOutEvent; ytimeentryCreate2.FocusOutEvent += YtimeentryCreate2_FocusOutEvent; ytimeentryCreate3.FocusOutEvent += YtimeentryCreate3_FocusOutEvent; ytimeentryDeliveryInterval.Changed += (sender, e) => UpdateButtonAddIntervalSensitive(); ybuttonAddDeliveryInterval.Clicked += (sender, e) => AddTime(ytimeentryDeliveryInterval.Time); ybuttonDeleteDeliveryInterval.Clicked += (sender, e) => DeleteTime(); treeviewDeliveryIntervals.KeyPressEvent += YtreeviewDeliveryIntervals_KeyPressEvent;; ConfigureReport(); SetDefaultValues(); }
void ConfigureDlg() { if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.InventoryEdit, Entity.Warehouse)) { FailInitialize = true; return; } var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.InventoryEdit, Entity.Warehouse); ydatepickerDocDate.Sensitive = yentryrefWarehouse.IsEditable = ytextviewCommnet.Editable = editing; ytreeviewItems.Sensitive = buttonAdd.Sensitive = buttonFillItems.Sensitive = buttonFine.Sensitive = buttonDeleteFine.Sensitive = editing; ydatepickerDocDate.Binding.AddBinding(Entity, e => e.TimeStamp, w => w.Date).InitializeFromSource(); yentryrefWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.InventoryEdit); yentryrefWarehouse.Binding.AddBinding(Entity, e => e.Warehouse, w => w.Subject).InitializeFromSource(); ytextviewCommnet.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource(); string errorMessage = "Не установлены единицы измерения у следующих номенклатур :" + Environment.NewLine; int wrongNomenclatures = 0; foreach (var item in UoWGeneric.Root.Items) { if (item.Nomenclature.Unit == null) { errorMessage += string.Format("Номер: {0}. Название: {1}{2}", item.Nomenclature.Id, item.Nomenclature.Name, Environment.NewLine); wrongNomenclatures++; } } if (wrongNomenclatures > 0) { MessageDialogHelper.RunErrorDialog(errorMessage); FailInitialize = true; return; } var permmissionValidator = new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), _employeeRepository); Entity.CanEdit = permmissionValidator.Validate( typeof(InventoryDocument), ServicesConfig.UserService.CurrentUserId, nameof(RetroactivelyClosePermission)); if (!Entity.CanEdit && Entity.TimeStamp.Date != DateTime.Now.Date) { ydatepickerDocDate.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); yentryrefWarehouse.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); ytextviewCommnet.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); buttonSave.Sensitive = false; ytreeviewItems.Sensitive = buttonAdd.Sensitive = buttonFillItems.Sensitive = buttonFine.Sensitive = buttonDeleteFine.Sensitive = false; } else { Entity.CanEdit = true; } filter = new SelectableParametersReportFilter(UoW); var nomenclatureParam = filter.CreateParameterSet( "Номенклатуры", "nomenclature", new ParametersFactory(UoW, (filters) => { SelectableEntityParameter <Nomenclature> resultAlias = null; var query = UoW.Session.QueryOver <Nomenclature>() .Where(x => !x.IsArchive); if (filters != null && filters.Any()) { foreach (var f in filters) { var filterCriterion = f(); if (filterCriterion != null) { query.Where(filterCriterion); } } } query.SelectList(list => list .Select(x => x.Id).WithAlias(() => resultAlias.EntityId) .Select(x => x.OfficialName).WithAlias(() => resultAlias.EntityTitle) ); query.TransformUsing(Transformers.AliasToBean <SelectableEntityParameter <Nomenclature> >()); return(query.List <SelectableParameter>()); }) ); var nomenclatureTypeParam = filter.CreateParameterSet( "Типы номенклатур", "nomenclature_type", new ParametersEnumFactory <NomenclatureCategory>() ); nomenclatureParam.AddFilterOnSourceSelectionChanged(nomenclatureTypeParam, () => { var selectedValues = nomenclatureTypeParam.GetSelectedValues(); if (!selectedValues.Any()) { return(null); } return(Restrictions.On <Nomenclature>(x => x.Category).IsIn(nomenclatureTypeParam.GetSelectedValues().ToArray())); } ); //Предзагрузка. Для избежания ленивой загрузки UoW.Session.QueryOver <ProductGroup>().Fetch(SelectMode.Fetch, x => x.Childs).List(); filter.CreateParameterSet( "Группы товаров", "product_group", new RecursiveParametersFactory <ProductGroup>(UoW, (filters) => { var query = UoW.Session.QueryOver <ProductGroup>(); if (filters != null && filters.Any()) { foreach (var f in filters) { query.Where(f()); } } return(query.List()); }, x => x.Name, x => x.Childs) ); var filterViewModel = new SelectableParameterReportFilterViewModel(filter); var filterWidget = new SelectableParameterReportFilterView(filterViewModel); vboxParameters.Add(filterWidget); filterWidget.Show(); ConfigNomenclatureColumns(); }
void ConfigureDlg() { canEdit = !UoW.IsNew && StoreDocumentHelper.CanEditDocument(WarehousePermissions.ShiftChangeEdit, Entity.Warehouse); if (Entity.Id != 0 && Entity.TimeStamp < DateTime.Today) { var permissionValidator = new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), EmployeeSingletonRepository.GetInstance()); canEdit &= permissionValidator.Validate(typeof(ShiftChangeWarehouseDocument), UserSingletonRepository.GetInstance().GetCurrentUser(UoW).Id, nameof(RetroactivelyClosePermission)); } canCreate = UoW.IsNew && !StoreDocumentHelper.CheckCreateDocument(WarehousePermissions.ShiftChangeCreate, Entity.Warehouse); if (!canCreate && UoW.IsNew) { FailInitialize = true; return; } if (!canEdit && !UoW.IsNew) { MessageDialogHelper.RunWarningDialog("У вас нет прав на изменение этого документа."); } ydatepickerDocDate.Sensitive = yentryrefWarehouse.IsEditable = ytextviewCommnet.Editable = canEdit || canCreate; ytreeviewNomenclatures.Sensitive = buttonFillItems.Sensitive = buttonAdd.Sensitive = canEdit || canCreate; ytreeviewNomenclatures.ItemsDataSource = Entity.ObservableItems; ytreeviewNomenclatures.YTreeModel?.EmitModelChanged(); ydatepickerDocDate.Binding.AddBinding(Entity, e => e.TimeStamp, w => w.Date).InitializeFromSource(); if (UoW.IsNew) { yentryrefWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.ShiftChangeCreate); } if (!UoW.IsNew) { yentryrefWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.ShiftChangeEdit); } yentryrefWarehouse.Binding.AddBinding(Entity, e => e.Warehouse, w => w.Subject).InitializeFromSource(); yentryrefWarehouse.Changed += OnWarehouseChanged; ytextviewCommnet.Binding.AddBinding(Entity, e => e.Comment, w => w.Buffer.Text).InitializeFromSource(); string errorMessage = "Не установлены единицы измерения у следующих номенклатур :" + Environment.NewLine; int wrongNomenclatures = 0; foreach (var item in Entity.Items) { if (item.Nomenclature.Unit == null) { errorMessage += string.Format("Номер: {0}. Название: {1}{2}", item.Nomenclature.Id, item.Nomenclature.Name, Environment.NewLine); wrongNomenclatures++; } } if (wrongNomenclatures > 0) { MessageDialogHelper.RunErrorDialog(errorMessage); FailInitialize = true; return; } filter = new SelectableParametersReportFilter(UoW); var nomenclatureParam = filter.CreateParameterSet( "Номенклатуры", "nomenclature", new ParametersFactory(UoW, (filters) => { SelectableEntityParameter <Nomenclature> resultAlias = null; var query = UoW.Session.QueryOver <Nomenclature>() .Where(x => !x.IsArchive); if (filters != null && filters.Any()) { foreach (var f in filters) { var filterCriterion = f(); if (filterCriterion != null) { query.Where(filterCriterion); } } } query.SelectList(list => list .Select(x => x.Id).WithAlias(() => resultAlias.EntityId) .Select(x => x.OfficialName).WithAlias(() => resultAlias.EntityTitle) ); query.TransformUsing(Transformers.AliasToBean <SelectableEntityParameter <Nomenclature> >()); return(query.List <SelectableParameter>()); }) ); var nomenclatureTypeParam = filter.CreateParameterSet( "Типы номенклатур", "nomenclature_type", new ParametersEnumFactory <NomenclatureCategory>() ); nomenclatureParam.AddFilterOnSourceSelectionChanged(nomenclatureTypeParam, () => { var selectedValues = nomenclatureTypeParam.GetSelectedValues(); if (!selectedValues.Any()) { return(null); } return(Restrictions.On <Nomenclature>(x => x.Category).IsIn(nomenclatureTypeParam.GetSelectedValues().ToArray())); } ); //Предзагрузка. Для избежания ленивой загрузки UoW.Session.QueryOver <ProductGroup>().Fetch(SelectMode.Fetch, x => x.Childs).List(); filter.CreateParameterSet( "Группы товаров", "product_group", new RecursiveParametersFactory <ProductGroup>(UoW, (filters) => { var query = UoW.Session.QueryOver <ProductGroup>(); if (filters != null && filters.Any()) { foreach (var f in filters) { query.Where(f()); } } return(query.List()); }, x => x.Name, x => x.Childs) ); var filterViewModel = new SelectableParameterReportFilterViewModel(filter); var filterWidget = new SelectableParameterReportFilterView(filterViewModel); vboxParameters.Add(filterWidget); filterWidget.Show(); ConfigureNomenclaturesView(); }