kdmxp192 icon

WeeniesDataConverter()

kdmxp192 | PRO | 01/17/19 02:36:50 PM UTC | 0 ⭐ | 206 👁️ | Never ⏰ | []
C# |

2.38 KB

|

None

|

0 👍

/

0 👎

        static string WeeniesDataConverter(string folder)
        {
            FileInfo fileInfo = new FileInfo(folder);
            if (fileInfo.Directory.Exists)
            {
                if (ACE.Adapter.Lifestoned.LifestonedLoader.TryLoadWeenies(folder, out List<Lifestoned.DataModel.Gdle.Weenie> gdleResults))
                {
                    foreach (var gdleResult in gdleResults)
                    {
                        if (ACE.Adapter.Lifestoned.LifestonedConverter.TryConvert(gdleResult, out ACE.Database.Models.World.Weenie aceResult))
                        {
                            var weenieSQLWriter = new ACE.Database.SQLFormatters.World.WeenieSQLWriter();
 
                            string folderName = weenieSQLWriter.GetDefaultSubfolder(aceResult);
                            string fileName = weenieSQLWriter.GetDefaultFileName(aceResult);
 
                            var substring = fileName.Substring(6);
 
                            string name = substring;
                            int charLocation = substring.IndexOf(".", StringComparison.Ordinal);
 
                            if (charLocation > 0)
                                name = substring.Substring(0, charLocation);
 
                            var classID = aceResult.ClassId.ToString("00000");
 
                            EnsureDirectoryExists(folderName);
 
                            using (StreamWriter outputFile = new StreamWriter(Path.Combine(folderName, fileName)))
                            {
                                // Create the file header
                                outputFile.WriteLine($"/* Weenie - {name} ({classID}) */");
 
                                weenieSQLWriter.CreateSQLDELETEStatement(aceResult, outputFile);
 
                                outputFile.WriteLine();
 
                                weenieSQLWriter.CreateSQLINSERTStatement(aceResult, outputFile);
 
                                outputFile.WriteLine();
                            }
                        }
                        else
                            return $"JSON data conversion failed for {gdleResult.Name}.";
                    }
                }
                else
                    return "JSON files loading failed.";
            }
            else
                return "Invalid Path.";
 
            return null;
        }

Comments