public void ProcessBatchFromSourceDBToResultDB(int amount)
        {
            int leftToDo = amount;
            int batch    = 50;

            SourceDB sourceDB             = new SourceDB();
            int      imageFilesInSourceDB = sourceDB.GetImageFilesCount();

            ResultDB resultDB             = new ResultDB();
            int      imageFilesInResultDB = resultDB.GetImageFilesCount();

            int diffResultDBandSourceDB = imageFilesInSourceDB - imageFilesInResultDB;

            if (diffResultDBandSourceDB == 0)
            {
                Console.WriteLine("No new images in sourceDB to process");
                return;
            }

            while (leftToDo > 0)
            {
                if (leftToDo <= batch)
                {
                    batch = leftToDo;
                }
                if (leftToDo > diffResultDBandSourceDB)
                {
                    batch = diffResultDBandSourceDB;
                }
                if (batch == 0)
                {
                    break;
                }

                CopyJpgFiles(ETLcontroller.sourceDBDataFolder, ETLcontroller.stageDBDataUnporssedFolder, batch);
                InsertDataIntoStageDBFromUnprocessed();
                ExtractMetadataIntoStageDB();
                ImageRegonitionPrediction();
                SortFilesInStageDBData();
                MoveFilesFromStageDBDataToResultDBData();

                LoadDataFromStageDBtoResultDB();
                ResetStageDB();

                leftToDo -= 50;
            }
        }