public async Task UploadFileAsync(FileDto file, MemoryStream memoryStream)
        {
            var fileParser = _fileParserFactory.CreateParser(file.Extension);

            try
            {
                var transactions = new List <Transaction>();

                await foreach (var trans in fileParser.ParseFromFile(memoryStream))
                {
                    transactions.Add(trans);
                }

                await _transactionsService.AddTransactionRangeAsync(transactions);
            }
            catch (CsvFileParserException e)
            {
                _logger.LogError($"Csv file parsing failed. File name:{file.FileName}, message:{e.Message}");
                throw e;
            }
            catch (XmlFileParserExeption e)
            {
                _logger.LogError($"Xml file parsing failed. File name:{file.FileName}, message:{e.Message}");
                throw e;
            }
            catch (InvalidFileExtensionException e)
            {
                _logger.LogError($"Unknown file extension. File name:{file.FileName}, message:{e.Message}");
                throw e;
            }
            catch (Exception e)
            {
                _logger.LogError($"Internal server error. File name:{file.FileName}, message:{e.Message}");
                throw e;
            }
        }