public async Task AddTarrif(AddTarrifRequestDto request) { var exists = await context.Tarrifs.Include(t => t.Prices).AnyAsync(t => t.ProductCode == request.ProductCode); if (exists) { throw new ArgumentException($"Tarrif with Product Code: {request.ProductCode} already exists"); } context.Tarrifs.Add(Tarrif.CreateFromDto(request)); await context.SaveChangesAsync(); }
public static Tarrif CreateFromDto(AddTarrifRequestDto request) { var newInstance = new Tarrif(); newInstance.ProductCode = request.ProductCode; foreach (var price in request.Prices) { newInstance.AddPrice(Price.CreateFromDto(newInstance, price)); } return(newInstance); }
public async Task Post(AddTarrifRequestDto request) { await tarrifService.AddTarrif(request); }