Пример #1
0
        public AddProductGroupViewModel(ProductGroupModel productGroupModel)
        {
            var dataUnitLocator = ContainerAccessor.Instance.GetContainer().Resolve<IDataUnitLocator>();
            _adminDataUnit = dataUnitLocator.ResolveDataUnit<IAdminDataUnit>();

            OKCommand = new RelayCommand(OKCommandExecuted, OKCommandCanExecute);

            ProcessProductGroup(productGroupModel);
        }
Пример #2
0
        public AddProductGroupView(ProductGroupModel productGroupModel)
        {
            InitializeComponent();
            DataContext = ViewModel = new AddProductGroupViewModel(productGroupModel);
            ViewModel.PropertyChanged += ViewModelOnPropertyChanged;

            Owner = Application.Current.MainWindow;

            Loaded += OnViewLoaded;
        }
Пример #3
0
 private void ProcessProductGroup(ProductGroupModel productGroupModel)
 {
     _isEditMode = (productGroupModel != null);
     ProductGroup = productGroupModel ?? GetNewProductGroup();
     if (_isEditMode)
         TillDivision = productGroupModel.Till.TillDivision;
     ProductGroup.PropertyChanged += OnProductGroupPropertyChanged;
 }
Пример #4
0
 private ProductGroupModel GetNewProductGroup()
 {
     var productGroupModel = new ProductGroupModel(new ProductGroup()
      {
          ID = Guid.NewGuid()
      });
     return productGroupModel;
 }
Пример #5
0
        private void EditProductGroupCommandExecuted(ProductGroupModel model)
        {
            RaisePropertyChanged("DisableParentWindow");

            var view = new AddProductGroupView(model);
            view.ShowDialog();

            RaisePropertyChanged("EnableParentWindow");
        }
Пример #6
0
        private async void DeleteProductGroupCommandExecuted(ProductGroupModel productGroupModel)
        {
            if (productGroupModel == null) return;

            bool? dialogResult = null;
            string confirmText = Properties.Resources.MESSAGE_ASK_BEFORE_DELETING_ITEM;

            RaisePropertyChanged("DisableParentWindow");

            RadWindow.Confirm(confirmText, (sender, args) => { dialogResult = args.DialogResult; });

            RaisePropertyChanged("EnableParentWindow");

            if (dialogResult != true) return;

            // Check if product Group has dependencies
            if (productGroupModel.ProductGroup.Products.Any())
            {
                var sb = new StringBuilder();

                sb.AppendLine("Sorry, we can't delete this product group :(");
                sb.AppendLine("This product group already in use by these products:");

                productGroupModel.ProductGroup.Products.Select(x => x.Name).ForEach(x => sb.AppendLine(string.Format("- {0}", x)));

                RaisePropertyChanged("DisableParentWindow");

                RadWindow.Alert(sb.ToString());

                RaisePropertyChanged("EnableParentWindow");

                return;
            }

            // Delete product group

            _adminDataUnit.ProductGroupsRepository.Delete(productGroupModel.ProductGroup);

            await _adminDataUnit.SaveChanges();

            ProductGroups.Remove(productGroupModel);
        }