public async Task <IEnumerable <RepairType> > AddRepairTypeAsync(AddRepairTypeRequest request, CancellationToken cancellationToken)
        {
            var validator = new ListStringsValidator();
            await validator.ValidateAndThrowAsync(request.RepairTypeNames, null, cancellationToken);

            foreach (var repairTypeName in request.RepairTypeNames)
            {
                if (await _repairTypeRepository.AnyAsync(x => x.Name == repairTypeName, cancellationToken))
                {
                    throw new ServiceException(ErrorCodes.RepairTypeAlreadyExists, $"Repair type with given name already exist");
                }
            }

            var repairTypesToAdd = new List <RepairType>();

            foreach (var repairTypeName in request.RepairTypeNames)
            {
                var repairType = new RepairType()
                {
                    Name = repairTypeName
                };
                repairTypesToAdd.Add(repairType);
            }

            var result = await _repairTypeRepository.AddRangeAsync(repairTypesToAdd, cancellationToken);

            return(result);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> AddRepairType([FromBody] AddRepairTypeRequest request, CancellationToken cancellationToken)
        {
            var result = await _repairTypeService.AddRepairTypeAsync(request, cancellationToken);

            return(Ok(result));
        }