Ejemplo n.º 1
0
        public static string BuildContent(Tag tag)
        {
            var settings = CMS.CMS.EntitySettings;
            var helper   = new EntityHelper <Event>(settings);
            var result   = helper.Details(tag.Id);
            var model    = EntityViewHelper.BuildViewModelForDetails(result, "Event", "details", settings);

            return("");
        }
Ejemplo n.º 2
0
        public void CanConvertEntityResultToDetailsResult()
        {
            var helper       = new EntityHelper <Link>();
            var entityResult = helper.First();
            var result       = EntityViewHelper.BuildViewModel <Link>(entityResult, "Link", "details", null);

            Assert.AreEqual(result.ControlPath, "ModelDetails");
            Assert.AreEqual(result.ControllerName, "Link");

            var detailsresult = (EntityDetailsViewModel)result;

            Assert.AreEqual(detailsresult.Entity, entityResult.Item);
        }
Ejemplo n.º 3
0
 private IMCCommand InitTransactionDeleteCommand()
 {
     return(new DataGridSelectedItemsCommand <ITransaction>(GridTransactions,
                                                            (items) => EntityViewHelper.ConfirmAndRemove(items, _transactionService.Delete, "Transaction", items.Select(_ => _.Description),
                                                                                                         () =>
     {
         // remove in grid
         foreach (var item in items.ToList())
         {
             _viewModel.TransactionEntities.Remove(item);
         }
         NotifyDataChanged();
     }),
                                                            (items) => !items.Any(_ => _.IsPlanned)));
 }
Ejemplo n.º 4
0
        private void Delete <T, TView>(IServiceBase <T> service, IEnumerable <TView> items, EntityListViewModel <TView> entityListViewModel)
            where T : class, IHasDescription
            where TView : class, T
        {
            EntityViewHelper.ConfirmAndRemove(service, items, () =>
            {
                // remove in grid
                foreach (var item in items.ToList())
                {
                    entityListViewModel.Entities.Remove(item);
                }

                NotifyDataChanged();
            });
        }
Ejemplo n.º 5
0
        public override ActionResult  Create(Feedback entity)
        {
            ForceTheme(true);
            // Wrong verification code.
            if (!Captcha.IsCorrect())
            {
                return(View(_viewSettings.PageLocationForCreate,
                            EntityViewHelper.BuildViewModelForForm(
                                new EntityActionResult(false, message: "Verification code is incorrect", item: entity),
                                this._modelname, "create", _settings)));
            }

            var result = _helper.Create(entity);

            if (result.Success)
            {
                return(View("Pages/Thankyou", "Thank you for submitting your feedback"));
            }

            return(View(_viewSettings.PageLocationForCreate,
                        EntityViewHelper.BuildViewModelForForm(result, this._modelname, "create", _settings)));
        }
Ejemplo n.º 6
0
        private void InitializeViewModel()
        {
            _viewModel = new CurrenciesPageViewModel()
            {
                // Currency commands
                AddCurrencyCommand = new Command(
                    () => OpenDetails(new CurrencyModel()
                {
                    UserId = GlobalVariables.UserId
                }, true)),

                EditCurrencyCommand = new DataGridSelectedItemCommand <CurrencyModel>(GridCurrencies,
                                                                                      (item) => OpenDetails(item), null, true),

                DeleteCurrencyCommand = new DataGridSelectedItemsCommand <CurrencyModel>(GridCurrencies,
                                                                                         (items) => EntityViewHelper.ConfirmAndRemoveNamed(_service, items, () =>
                {
                    // remove in grid
                    foreach (var item in items.ToList())
                    {
                        _viewModel.Currencies.Remove(item);
                    }
                    NotifyDataChanged();
                }),
                                                                                         (items) => !items.Any(_ => _.IsMain)),

                SetMainCommand = new DataGridSelectedItemCommand <CurrencyModel>(GridCurrencies,
                                                                                 (item) =>
                {
                    // save main in database
                    _service.SetMain(item);
                    // refresh currency data in grid
                    UpdateMainCurrencyLocal(item);
                    // refresh commands
                    RefreshCurrencyCommandsState();
                    NotifyDataChanged();
                },
                                                                                 (item) => !item.IsMain),

                ChangeActivityCommand = new DataGridSelectedItemsCommand <CurrencyModel>(GridCurrencies,
                                                                                         (items) =>
                {
                    // get new place index
                    var firstNotUsed = _viewModel.Currencies.FirstOrDefault(_ => !_.IsActive);
                    var newIndex     = firstNotUsed != null ? _viewModel.Currencies.IndexOf(firstNotUsed) : _viewModel.Currencies.Count - 1;

                    // update currencies
                    foreach (var c in items)
                    {
                        c.IsActive = !c.IsActive;
                        // replace in grid
                        _viewModel.Currencies.Move(_viewModel.Currencies.IndexOf(c), newIndex);
                        if (c.IsActive)
                        {
                            newIndex++;
                        }
                    }

                    // update currencies in database
                    _service.Update(items);
                    RefreshCurrencyCommandsState();
                    NotifyDataChanged();
                },
                                                                                         (items) => items.Select(e => e.IsActive).Distinct().Count() == 1),

                // Currency echange rate commands
                AddCurrencyExchangeRateCommand = new Command(
                    () => OpenDetails(new CurrencyExchangeRateModel(), true)),

                EditCurrencyExchangeRateCommand = new DataGridSelectedItemCommand <CurrencyExchangeRateModel>(GridCurrencyExchangeRates,
                                                                                                              (item) => OpenDetails(item), doubleClick: true),

                DeleteCurrencyExchangeRateCommand = new DataGridSelectedItemsCommand <CurrencyExchangeRateModel>(GridCurrencyExchangeRates,
                                                                                                                 (items) =>
                {
                    var message = MultiLangResource.DeletionConfirmationMessage(typeof(CurrencyExchangeRateModel),
                                                                                items.Select(_ => $"{_.CurrencyFrom.Name} -> {_.CurrencyTo.Name}"));

                    if (MessageBox.Show(message, MultiLangResourceManager.Instance[MultiLangResourceName.DeletionConfirmation],
                                        MessageBoxButton.YesNo, MessageBoxImage.Exclamation, MessageBoxResult.Yes) == MessageBoxResult.Yes)
                    {
                        // remove in database
                        _currencyExchangeRateService.Delete(items);
                        // remove in grid
                        foreach (var item in items.ToList())
                        {
                            _viewModel.CurrencyExchangeRates.Remove(item);
                        }
                        NotifyDataChanged();
                    }
                })
            };

            this.DataContext = _viewModel;
        }
        private void InitializeViewModel()
        {
            _viewModel = new CategoriesPageViewModel()
            {
                AddCommand = new Command(
                    () => OpenDetails(new CategoryViewModel()
                {
                    UserId = GlobalVariables.UserId
                }, true)),

                AddChildCommand = new TreeViewSelectedItemCommand <CategoryViewModel>(TreeViewCategories,
                                                                                      (item) => OpenDetails(new CategoryViewModel()
                {
                    UserId           = GlobalVariables.UserId,
                    ParentCategoryId = item.Id,
                    RecordType       = item.RecordType,
                    IsActive         = item.IsActive
                }, true)),

                EditCommand = new TreeViewSelectedItemCommand <CategoryViewModel>(TreeViewCategories,
                                                                                  (item) => OpenDetails(item), null, true),

                DeleteCommand = new TreeViewSelectedItemCommand <CategoryViewModel>(TreeViewCategories,
                                                                                    (item) => EntityViewHelper.ConfirmAndRemoveNamed(_service, item, () =>
                {
                    // remove in collection
                    _viewModel.Categories.RemoveDescendant(item);
                    NotifyDataChanged();
                }),

                                                                                    (item) => item.Children.Count == 0),

                ChangeActivityCommand = new TreeViewSelectedItemCommand <CategoryViewModel>(TreeViewCategories,
                                                                                            (item) =>
                {
                    // change activity
                    item.IsActive = !item.IsActive;
                    // save to database
                    _service.Update(item);
                    // reload data
                    Reload();
                    NotifyDataChanged();
                }),

                ExpandAllCommand   = new Command(() => _viewModel.Categories.ExpandAllMain(true)),
                CollapseAllCommand = new Command(() => _viewModel.Categories.ExpandAllMain(false))
            };

            this.DataContext = _viewModel;
        }
Ejemplo n.º 8
0
 public EntityViewSystem()
 {
     Helper = new EntityViewHelper(this);
 }
Ejemplo n.º 9
0
        private void InitializeViewModel()
        {
            _viewModel = new TodayTransactionsDashboardItemModel()
            {
                AddRecordCommand = new Command(() =>
                                               OpenDetails(_recordService.PrepareNew(new RecordModel()
                {
                    UserId = GlobalVariables.UserId
                }), true)),

                AddMoneyTransferCommand = new Command(() => OpenDetails(new MoneyTransferModel(), true)),
                AddChequeCommand        = new Command(() =>
                {
                    var chequeWindow   = new ChequeWindow();
                    chequeWindow.Owner = Window.GetWindow(this);
                    if (chequeWindow.ShowDialog() == true)
                    {
                        Reload();
                    }
                }),

                EditCommand = new DataGridSelectedItemCommand <ITransaction>(GridTransactions,
                                                                             (item) =>
                {
                    if (item is RecordModel)
                    {
                        OpenDetails(item as RecordModel);
                    }
                    if (item is MoneyTransferModel)
                    {
                        OpenDetails(item as MoneyTransferModel);
                    }
                }, item => !item.IsPlanned, true),

                DeleteCommand = new DataGridSelectedItemsCommand <ITransaction>(GridTransactions,
                                                                                (items) => EntityViewHelper.ConfirmAndRemove(items, _service.Delete, "Transaction", items.Select(_ => _.Description), () =>
                {
                    // remove in grid
                    foreach (var item in items.ToList())
                    {
                        _viewModel.Entities.Remove(item);
                    }
                }),
                                                                                (items) => !items.Any(_ => _.IsPlanned))
            };

            this.DataContext = _viewModel;
        }
Ejemplo n.º 10
0
 private IMCCommand InitTemplateDeleteCommand()
 {
     return(new DataGridSelectedItemsCommand <ITransactionTemplate>(GridTemplates,
                                                                    (items) => EntityViewHelper.ConfirmAndRemove(items, _templatesService.Delete, "Template", items.Select(_ => _.Name),
                                                                                                                 () =>
     {
         // remove in grid
         foreach (var item in items.ToList())
         {
             _viewModel.TemplateEntities.Remove(item);
         }
         NotifyDataChanged();
     })));
 }
Ejemplo n.º 11
0
        private void InitializeViewModel()
        {
            _viewModel = new EntityListViewModel <DebtViewModel>()
            {
                AddCommand = new Command(
                    () => OpenDetails(_service.PrepareNew(new DebtViewModel()
                {
                    UserId = GlobalVariables.UserId
                }) as DebtViewModel, true)),

                EditCommand = new DataGridSelectedItemCommand <DebtViewModel>(GridDebts,
                                                                              (item) => OpenDetails(item), null, true),

                DeleteCommand = new DataGridSelectedItemsCommand <DebtViewModel>(GridDebts,
                                                                                 (items) => EntityViewHelper.ConfirmAndRemove(_service, items, () =>
                {
                    // remove in grid
                    foreach (var item in items.ToList())
                    {
                        _viewModel.Entities.Remove(item);
                    }
                    NotifyDataChanged();
                }),
                                                                                 debts => debts.All(x => x.IsRepaid || x.ValueToBePaid <= 0))
            };

            this.DataContext = _viewModel;
        }
Ejemplo n.º 12
0
        private void InitializeViewModel()
        {
            _viewModel = new AutoExecutedTransactionsDashboardItemModel()
            {
                DateFrom = GlobalVariables.LastUsageDate < DateTime.Today ? GlobalVariables.LastUsageDate.AddDays(1) : DateTime.Today,

                EditCommand = new DataGridSelectedItemCommand <ITransaction>(GridTransactions,
                                                                             (item) =>
                {
                    if (item is RecordModel)
                    {
                        OpenDetails(item as RecordModel);
                    }
                    if (item is MoneyTransferModel)
                    {
                        OpenDetails(item as MoneyTransferModel);
                    }
                }, item => !item.IsPlanned, true),

                DeleteCommand = new DataGridSelectedItemsCommand <ITransaction>(GridTransactions,
                                                                                (items) => EntityViewHelper.ConfirmAndRemove(items, _service.Delete, "Transaction", items.Select(_ => _.Description), () =>
                {
                    // remove in grid
                    foreach (var item in items.ToList())
                    {
                        _viewModel.Entities.Remove(item);
                    }

                    ReloadActual?.Invoke();
                }),
                                                                                (items) => !items.Any(_ => _.IsPlanned))
            };

            this.DataContext = _viewModel;
        }
Ejemplo n.º 13
0
        private void InitializeViewModel()
        {
            _viewModel = new StoragesPageViewModel()
            {
                AddStorageCommand = new ParametrizedCommand <StorageGroupViewModel>(
                    (item) => OpenDetails(new StorageViewModel()
                {
                    UserId         = GlobalVariables.UserId,
                    StorageGroupId = item.Id,
                    CurrencyId     = _currencies.FirstOrDefault(_ => _.IsMain).Id
                }, true)),

                EditStorageCommand = new ParametrizedCommand <StorageViewModel>(
                    (item) => OpenDetails(item)),

                DeleteStorageCommand = new ParametrizedCommand <StorageViewModel>(
                    (item) => EntityViewHelper.ConfirmAndRemoveNamed(_service, item, () =>
                {
                    // remove in view
                    _storageGroupPanel[item.StorageGroupId].Children.Remove(_storageView[item.Id]);
                    NotifyDataChanged();
                })),

                TransferMoneyCommand = new ParametrizedCommand <StorageViewModel>(
                    (item) => OpenDetails(new MoneyTransferModel()
                {
                    StorageFromId       = item.Id,
                    StorageFromCurrency = item.Currency
                }, true)),

                AddStorageGroupCommand = new Command(
                    () =>
                {
                    // create storage group
                    var storageGroup = new StorageGroupModel()
                    {
                        UserId = GlobalVariables.UserId
                    };
                    // add storage group into database
                    _storageGroupService.Add(storageGroup);
                    // add storage group into view
                    AddStorageGroupIntoView(storageGroup);
                    // scroll down
                    StoragesScrollViewer.ScrollToEnd();
                    NotifyDataChanged();
                }),

                DeleteStorageGroupCommand = new ParametrizedCommand <StorageGroupViewModel>(
                    (item) => EntityViewHelper.ConfirmAndRemoveNamed(_storageGroupService, item, () =>
                {
                    // update list
                    _storageGroups.Remove(_storageGroups.First(_ => _.Id == item.Id));
                    // remove in view
                    StoragesPanel.Children.Remove(_storageGroupPanel[item.Id].Parent as ContentControl);
                    NotifyDataChanged();
                })),

                AddMoneyTransferCommand = new Command(
                    () => OpenDetails(new MoneyTransferModel(), true)),

                EditMoneyTransferCommand = new DataGridSelectedItemCommand <MoneyTransferModel>(GridMoneyTransfers,
                                                                                                (item) => OpenDetails(item), null, true),

                DeleteMoneyTransferCommand = new DataGridSelectedItemsCommand <MoneyTransferModel>(GridMoneyTransfers,
                                                                                                   (items) => EntityViewHelper.ConfirmAndRemove(_moneyTransferService, items, () =>
                {
                    // remove in grid
                    foreach (var item in items.ToList())
                    {
                        _viewModel.MoneyTransfers.Remove(item);
                        // update existing storages
                        UpdateStorages(item);
                    }
                    NotifyDataChanged();
                }))
            };

            this.DataContext = _viewModel;
        }