예제 #1
0
        async void OnCancelClicked()
        {
            _editing = false;

            if (_creating)
            {
                NavigationManager.ToBaseRelativePath("admin/currency_pegging");

                return;
            }

            _model = await Service.GetAsync(Id);

            SetCheckboxes();
            StateHasChanged();
        }
예제 #2
0
        async void OnSaveClicked()
        {
            if (string.IsNullOrWhiteSpace(_model.SourceCode))
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(_model.DestinationCode))
            {
                return;
            }

            if (_model.Start >= DateTime.UtcNow)
            {
                return;
            }

            if (_model.End >= DateTime.UtcNow ||
                _model.End < _model.Start)
            {
                return;
            }

            if (_model.Ratio <= 0)
            {
                return;
            }

            if (_creating)
            {
                Id = await Service.CreateAsync(_model, (await UserManager.GetUserAsync(_authState.User)).Id);
            }
            else
            {
                await Service.UpdateAsync(_model, (await UserManager.GetUserAsync(_authState.User)).Id);
            }

            _editing  = false;
            _creating = false;
            _model    = await Service.GetAsync(Id);

            SetCheckboxes();
            StateHasChanged();
        }
예제 #3
0
        protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (_loaded)
            {
                return;
            }

            _loaded = true;

            _creating = NavigationManager.ToBaseRelativePath(NavigationManager.Uri).ToLowerInvariant().
                        StartsWith("admin/currency_pegging/create",
                                   StringComparison.InvariantCulture);

            if (Id <= 0 &&
                !_creating)
            {
                return;
            }

            _currencies = await CurrenciesService.GetAsync();

            _model = _creating ? new CurrencyPeggingViewModel() : await Service.GetAsync(Id);

            _authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();

            _editing = _creating || NavigationManager.ToBaseRelativePath(NavigationManager.Uri).ToLowerInvariant().
                       StartsWith("admin/currency_pegging/edit/",
                                  StringComparison.InvariantCulture);

            if (_editing)
            {
                SetCheckboxes();
            }

            StateHasChanged();
        }
예제 #4
0
 void ModalClosing(ModalClosingEventArgs obj) => _currentPegging = null;
예제 #5
0
 void ShowModal(long itemId)
 {
     _currentPegging = _peggings.FirstOrDefault(n => n.Id == itemId);
     _frmDelete.Show();
 }