コード例 #1
0
        public async Task <IActionResult> OnGet()
        {
            var response = await _configService.GetConfigurationItem(new GetConfigurationItemRequest()
            {
                Id = Id
            });

            if (!response.IsSuccessful)
            {
                return(NotFound());
            }

            Key      = response.ConfigurationItem.Key;
            FormData = new UpdateConfigurationItemRequest()
            {
                Id            = response.ConfigurationItem.Id,
                Description   = response.ConfigurationItem.Description,
                IsClientSide  = response.ConfigurationItem.Is_Client_Side,
                BooleanValue  = response.ConfigurationItem.Boolean_Value,
                DateTimeValue = response.ConfigurationItem.DateTime_Value,
                DateValue     = response.ConfigurationItem.Date_Value,
                TimeValue     = response.ConfigurationItem.Time_Value,
                DecimalValue  = response.ConfigurationItem.Decimal_Value,
                IntValue      = response.ConfigurationItem.Int_Value,
                MoneyValue    = response.ConfigurationItem.Money_Value,
                StringValue   = response.ConfigurationItem.String_Value,
            };

            return(Page());
        }
コード例 #2
0
        public async Task <IActionResult> EditConfigurationItem(UpdateConfigurationItemRequest request)
        {
            if (ModelState.IsValid)
            {
                var response = await _adminService.UpdateConfigurationItem(request);

                if (response.IsSuccessful)
                {
                    AddNotifications(response);
                    return(RedirectToAction(nameof(AdminController.ConfigurationManagement)));
                }
                AddFormErrors(response);
            }
            var viewModel = new EditConfigurationItemViewModel(request);

            return(View(viewModel));
        }
コード例 #3
0
        public async Task <UpdateConfigurationItemResponse> UpdateConfigurationItem(UpdateConfigurationItemRequest request)
        {
            var sessionUser = await _sessionManager.GetUser();

            var response = new UpdateConfigurationItemResponse();

            using (var uow = _uowFactory.GetUnitOfWork())
            {
                await uow.ConfigurationRepo.UpdateConfigurationItem(new Repositories.DatabaseRepos.ConfigurationRepo.Models.UpdateConfigurationItemRequest()
                {
                    Id             = request.Id,
                    Description    = request.Description,
                    Is_Client_Side = request.IsClientSide,
                    Boolean_Value  = request.BooleanValue,
                    DateTime_Value = request.DateTimeValue,
                    Date_Value     = request.DateValue,
                    Time_Value     = request.TimeValue,
                    Decimal_Value  = request.DecimalValue,
                    Int_Value      = request.IntValue,
                    Money_Value    = request.MoneyValue,
                    String_Value   = request.StringValue,
                    Updated_By     = sessionUser.Id
                });

                uow.Commit();
            }

            _cache.Remove(CacheConstants.ConfigurationItems);

            var configuration = await _cache.Configuration();

            var configItem = configuration.Items.FirstOrDefault(c => c.Id == request.Id);

            await _sessionManager.WriteSessionLogEvent(new Models.ManagerModels.Session.CreateSessionLogEventRequest()
            {
                EventKey = SessionEventKeys.ConfigurationUpdated,
                Info     = new Dictionary <string, string>()
                {
                    { "Key", configItem.Key }
                }
            });

            response.Notifications.Add($"Configuration item '{configItem.Key}' has been updated", NotificationTypeEnum.Success);
            return(response);
        }
コード例 #4
0
        public async Task UpdateConfigurationItem(UpdateConfigurationItemRequest request)
        {
            var sqlStoredProc = "sp_configuration_item_update";

            var response = await DapperAdapter.GetFromStoredProcAsync <int>
                           (
                storedProcedureName : sqlStoredProc,
                parameters : request,
                dbconnectionString : DefaultConnectionString,
                sqltimeout : DefaultTimeOut,
                dbconnection : _connection,
                dbtransaction : _transaction);

            if (response == null || response.FirstOrDefault() == 0)
            {
                throw new Exception("No items have been updated");
            }
        }
コード例 #5
0
        public async Task <UpdateConfigurationItemResponse> UpdateConfigurationItem(UpdateConfigurationItemRequest request)
        {
            var session = await _sessionService.GetAuthenticatedSession();

            var response = new UpdateConfigurationItemResponse();

            using (var uow = _uowFactory.GetUnitOfWork())
            {
                await uow.ConfigurationRepo.UpdateConfigurationItem(new Infrastructure.Repositories.ConfigurationRepo.Models.UpdateConfigurationItemRequest()
                {
                    Id             = request.Id,
                    Description    = request.Description,
                    Boolean_Value  = request.BooleanValue,
                    DateTime_Value = request.DateTimeValue,
                    Date_Value     = request.DateValue,
                    Time_Value     = request.TimeValue,
                    Decimal_Value  = request.DecimalValue,
                    Int_Value      = request.IntValue,
                    Money_Value    = request.MoneyValue,
                    String_Value   = request.StringValue,
                    Updated_By     = session.User.Entity.Id
                });

                uow.Commit();
            }

            _cache.Remove(CacheConstants.ConfigurationItems);

            var configuration = await _cache.Configuration();

            var configItem = configuration.Items.FirstOrDefault(c => c.Id == request.Id);

            await _sessionService.WriteSessionLogEvent(new Models.ServiceModels.Session.CreateSessionLogEventRequest()
            {
                EventKey = SessionEventKeys.ConfigurationUpdated
            });

            response.Notifications.Add($"Configuration item '{configItem.Key}' has been updated", NotificationTypeEnum.Success);
            return(response);
        }
コード例 #6
0
        public async Task OnGet()
        {
            var response = await _configService.GetConfigurationItem(new GetConfigurationItemRequest()
            {
                Id = Id
            });

            Key      = response.ConfigurationItem.Key;
            FormData = new UpdateConfigurationItemRequest()
            {
                Id            = response.ConfigurationItem.Id,
                Description   = response.ConfigurationItem.Description,
                IsClientSide  = response.ConfigurationItem.Is_Client_Side,
                BooleanValue  = response.ConfigurationItem.Boolean_Value,
                DateTimeValue = response.ConfigurationItem.DateTime_Value,
                DateValue     = response.ConfigurationItem.Date_Value,
                TimeValue     = response.ConfigurationItem.Time_Value,
                DecimalValue  = response.ConfigurationItem.Decimal_Value,
                IntValue      = response.ConfigurationItem.Int_Value,
                MoneyValue    = response.ConfigurationItem.Money_Value,
                StringValue   = response.ConfigurationItem.String_Value,
            };
        }
コード例 #7
0
 public EditConfigurationModel(IConfigurationService configService)
 {
     _configService = configService;
     FormData       = new UpdateConfigurationItemRequest();
 }