public virtual async Task <Guid> CreateAsync(CreateContainerDto input) { //Validate provider values var keyValuePairs = input.Items.ToDictionary(x => x.Name, y => y.Value); ContainerManager.ValidateProviderValues(input.Provider, keyValuePairs); //Validate name await ContainerManager.ValidateNameAsync(CurrentTenant.Id, input.Name, null); var container = new FileStoringContainer( GuidGenerator.Create(), CurrentTenant.Id, input.IsMultiTenant, input.Provider, input.Name, input.Title, input.HttpAccess); foreach (var item in input.Items) { container.Items.Add(new FileStoringContainerItem( GuidGenerator.Create(), item.Name, item.Value, container.Id)); } await FileStoringContainerRepository.InsertAsync(container); return(container.Id); }
public virtual async Task <Guid> CreateAsync(CreateContainerDto input) { var valuesValidator = GetFileProviderValuesValidator(input.Provider); var dict = input.Items.ToDictionary(x => x.Name, y => y.Value); var result = valuesValidator.Validate(dict); if (result.Errors.Any()) { throw new AbpValidationException("Create Container validate failed.", result.Errors); } await CheckContainer(input.TenantId, input.Name, null); var container = new FileStoringContainer( GuidGenerator.Create(), input.TenantId, input.IsMultiTenant, input.Provider, input.Name, input.Title, input.HttpAccess); foreach (var item in input.Items) { container.Items.Add(new FileStoringContainerItem( GuidGenerator.Create(), item.Name, item.Value, container.Id)); } await FileStoringContainerRepository.InsertAsync(container); return(container.Id); }
public async Task <Guid> CreateAsync([FromBody] CreateContainerDto input) { return(await _containerAppService.CreateAsync(input)); }