public async Task <CreateConfigurationItemResponse> CreateConfigurationItem(CreateConfigurationItemRequest request) { var sessionUser = await _sessionManager.GetUser(); var response = new CreateConfigurationItemResponse(); var configuration = await _cache.Configuration(); var configItem = configuration.Items.FirstOrDefault(c => c.Key == request.Key); if (configItem != null) { response.Notifications.AddError($"A configuration item already exists with the key {request.Key}"); return(response); } int id; using (var uow = _uowFactory.GetUnitOfWork()) { id = await uow.ConfigurationRepo.CreateConfigurationItem(new Repositories.DatabaseRepos.ConfigurationRepo.Models.CreateConfigurationItemRequest() { Key = request.Key, 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, Created_By = sessionUser.Id }); uow.Commit(); } _cache.Remove(CacheConstants.ConfigurationItems); await _sessionManager.WriteSessionLogEvent(new Models.ManagerModels.Session.CreateSessionLogEventRequest() { EventKey = SessionEventKeys.ConfigurationCreated, Info = new Dictionary <string, string>() { { "Key", request.Key } } }); response.Notifications.Add($"Configuration item '{request.Key}' has been created", NotificationTypeEnum.Success); return(response); }
public async Task <IActionResult> CreateConfigurationItem(CreateConfigurationItemRequest request) { if (ModelState.IsValid) { var response = await _adminService.CreateConfigurationItem(request); if (response.IsSuccessful) { AddNotifications(response); return(RedirectToAction(nameof(AdminController.ConfigurationManagement))); } AddFormErrors(response); } var viewModel = new CreateConfigurationItemViewModel(request); return(View(viewModel)); }
public async Task <int> CreateConfigurationItem(CreateConfigurationItemRequest request) { var sqlStoredProc = "sp_configuration_item_create"; 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 created"); } return(response.FirstOrDefault()); }
public CreateConfigurationModel(IConfigurationService configService) { _configService = configService; FormData = new CreateConfigurationItemRequest(); }