public async Task <SaveFileResponse> CompleteChunksUpload(CompleteChunksUploadRequest model)
        {
            var resultPath  = CreateFileLocation(model.FileName);
            var chunksPaths = GetChunksPaths(model);

            foreach (var chunkPath in chunksPaths)
            {
                await MergeChunks(resultPath, chunkPath);
            }

            await DeleteFiles(chunksPaths);

            return(new SaveFileResponse(model.FileName, Schema));
        }
        private List <string> GetChunksPaths(CompleteChunksUploadRequest model)
        {
            var result = new List <string>();

            for (int i = 0; i < model.ChunksCount; i++)
            {
                var chunkPath = CreateTempFileLocation(i + model.FileId);
                if (File.Exists(chunkPath))
                {
                    result.Add(chunkPath);
                }
            }

            return(result);
        }