Skip to content

Commit

Permalink
Merge pull request #102 from Acumatica/2021R2MarcoReview
Browse files Browse the repository at this point in the history
v3.2.2-21R2
  • Loading branch information
markoan authored Oct 5, 2022
2 parents 836f924 + e82ff53 commit b5377f0
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 15 deletions.
Binary file modified Customizations/AcumaticaSurvey21R2.zip
Binary file not shown.
Binary file modified Customizations/Package/Bin/PX.Survey.Ext.dll
Binary file not shown.
39 changes: 24 additions & 15 deletions PX.Survey.Ext/SurveyInitalizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ protected byte[] ReadFromFile(string fileName)
var context = File.ReadAllBytes(fileName);
return context;
}

public void ImportFilesFromDirectory(string directory, string graphName)
{
var xmlFiles = Directory.GetFiles(directory).Where(p => p.EndsWith(".xml"));
Expand All @@ -42,9 +42,10 @@ public List<Tuple<int, string, string>> TakeDictionaryGraphs(string currentDirec
var directories = Directory.GetDirectories(currentDirectory);
foreach (var folder in directories)
{
dictionary.Add(Tuple.Create(Convert.ToInt32(folder.Split('\\').LastOrDefault().Split('-')[0]), folder.Split('-')[1], folder));
dictionary.Add(Tuple.Create(Convert.ToInt32(folder.Split('\\').LastOrDefault().Split('-')[0]),
folder.Split('\\').LastOrDefault().Split('-').LastOrDefault(), folder));
}

return dictionary;
}
private static IEnumerable<string> TryEnumerate(Func<IEnumerable<string>> action)
Expand All @@ -61,30 +62,38 @@ private static IEnumerable<string> TryEnumerate(Func<IEnumerable<string>> action
}
private static Type ByName(string name)
{
return
AppDomain.CurrentDomain.GetAssemblies()
.Reverse()
.Select(assembly => assembly.GetType(name))
.FirstOrDefault(t => t != null)
??
AppDomain.CurrentDomain.GetAssemblies()
.Reverse()
.SelectMany(assembly => assembly.GetTypes())
.FirstOrDefault(t => t.Name.Contains(name));
foreach (var lib in AppDomain.CurrentDomain.GetAssemblies().Reverse())
{
try
{
foreach (var type in lib.GetTypes())
{
if (type.Name == name)
return type;
}
}
catch // TODO find more efficient workaround. Didn't figure out how to bypass some reflection errors.
{
continue;
}
}
return null;
}
public override void UpdateDatabase()
{
this.WriteLog("Starting XML import");
try
{
string folderName = $"{AppDomain.CurrentDomain.BaseDirectory.TrimEnd('\\')}\\SUContent\\";
this.WriteLog(folderName);
var nameOfGraphs = TakeDictionaryGraphs(folderName).OrderBy(p => p.Item1);

foreach (var item in nameOfGraphs)
{
this.WriteLog(item.Item2 + item.Item3);
ImportFilesFromDirectory(item.Item3, item.Item2);
}

}
catch (Exception e)
{
Expand Down

0 comments on commit b5377f0

Please sign in to comment.