public void HandleFiles() { Console.WriteLine("Server file task runs..."); var resultFilePath = ConfigurationManager.AppSettings["ResultFilePath"]; var wrongFolderPath = ConfigurationManager.AppSettings["WrongFolderPath"]; var resultDirectory = fileHelper.GetDirectoryWithValidation(resultFilePath); var wrongDirectory = fileHelper.GetDirectoryWithValidation(wrongFolderPath); if (resultDirectory == null) { Console.WriteLine("ERROR :: Result directory is not availanle"); return; } if (wrongFolderPath == null) { Console.WriteLine("ERROR :: Wrong directory is not availanle"); return; } var queue = messagingHelper.GetQueue(ConfigurationManager.AppSettings["QueueName"]); if (queue == null) { Console.WriteLine("ERROR :: Queue for files doesn't exist"); return; } List <SequanceMessage> messages = messagingHelper.ReceiveMessagesUsingEnumerator(queue); if (messages.Any()) { Console.WriteLine("I am handling file messages"); } foreach (var list in messages.OrderBy(m => m.Position).GroupBy(m => m.SequanceId)) { byte[] fileBytes = fileHelper.CombineGroupOfBytes(list); string path = resultFilePath + list.Select(m => m.Label).First(); fileHelper.AppendAllBytes(path, fileBytes); } if (resultDirectory.GetFiles("*.jpg").Any()) { fileHelper.Archivation(resultDirectory, wrongDirectory); Console.WriteLine("New archive was created"); } Guid clientGuid = messages.Select(m => m.ClientId).First(); if (clientGuid != Guid.Empty) { SendNewSettings(clientGuid); Console.WriteLine($"New settings was sent to client {clientGuid}"); } else { Console.WriteLine("ERROR :: Client id is not specified"); } }