public void SaveStatistics(Action <Exception> callback, Statistics stat, FilesSettings files, string file) { Exception error = null; string[] data = null; string row = $"{DateTime.Now}{_charSplit}{Environment.UserName}{_charSplit}{stat.GeoServiceName}{_charSplit}{files.FileInput}{_charSplit}{files.FileOutput}{_charSplit}{files.FileError}{_charSplit}{stat.AllEntity}" + $"{_charSplit}{stat.OK}{_charSplit}{stat.Error}{_charSplit}{stat.NotGeoCoding}{_charSplit}{stat.GeoCodingNow}" + $"{_charSplit}{stat.House}{_charSplit}{stat.Exact}{_charSplit}{stat.NotFound}{_charSplit}{stat.TimeGeoCod}"; _fileService.FileExists((exists, er) => { if (er == null) { if (exists) { data = new string[] { row }; } else { data = new string[] { _nameColumnStatisticsFile, row }; } _fileService.AppendData(e => { if (e != null) { error = e; } }, data, file); } else { error = er; } }, file); callback(error); }