c# – Implementation in Azure Blob Function Trigger for Insert into Database

I have created Azure Blob Trigger function. If file is inserted in Azure Blob Container at that time this function is trigger and based on that file data we need to insert into our database table.

My Trigger Function Class be like below

public static class StockCountTrigger
{
    (FunctionName("StockCountTrigger"))
    public static void Run((BlobTrigger("importstockcount/{name}", Connection = "AzureWebJobsStorage")) CloudBlockBlob cloudBlockBlob, TraceWriter log)
    {
        try
        {
            log.Info($"FileName:{cloudBlockBlob.Name}");
            var environment = Constants.Environment;
            IStockCountService stockCountService;
            if (environment.IsIn(Helper.Environment.Client1))
            {
                stockCountService = new StockCountServiceClient1(cloudBlockBlob, log);
            }
            else
            {
                throw new NotImplementedException();
            }
            stockCountService.Import();
        }
        catch (Exception ex)
        {
            log.Error($"Error.", ex);
            throw ex;
        }
    }
}

same function is use for multiple client with different file format and that data is inserting into StockCount table.

my service be like below

public class StockCountServiceClient1: IStockCountService
{
    private readonly CloudBlockBlob cloudBlockBlob;
    private readonly TraceWriter log;
    private readonly IStockCountRepository _stockCountRepository;
    public StockCountServiceClient1(CloudBlockBlob cloudBlockBlob, TraceWriter log)
    {
        this.cloudBlockBlob = cloudBlockBlob;
        this.log = log;
        _stockCountRepository = new StockCountRepository();
    }

    public void Import()
    {
        var stockCounts = GetFromCSV();
        if (!stockCounts.Any())
            return;

        log.Info($"Total Records:{stockCounts.Count}");
        _stockCountRepository.Insert(stockCounts);
    }

    private List<StockCountModel> GetFromCSV()
    {
        using (var stream = cloudBlockBlob.OpenRead())
        {
            TextReader reader = new StreamReader(stream);
            using (var csvReader = new CsvReader(reader))
            {
                var records = csvReader.GetRecords<dynamic>().ToList();
                return records.Select(x => new StockCountModel
                {
                    StoreNo = x.StoreNo,
                    ArticleNo = x.ArticleNo,
                    Quantity = x.Quantity,
                    StockDateTime = x.StockDateTime,
                    Reference = cloudBlockBlob.Name
                }).ToList();
            }
        }
    }
}

Here in repository i have created object and insert into database.

here my question is that Function class is static and its method Run is also Static. Is it right way written code to create repository and object and based on environment assign instance to it.
which approach is best is need to create static method in repository also ?

Frequency of file coming is every 10 minutes in container.