Skip to content

Commit e6f9814

Browse files
committed
Including layout in repositories #1010
1 parent 451c8df commit e6f9814

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

FetchXmlBuilder/FetchXmlBuilder.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,7 @@ private void tsmiRepoOpen_Click(object sender, EventArgs e)
776776
{
777777
if (sender is ToolStripMenuItem menu && menu.Tag is QueryDefinition query)
778778
{
779-
dockControlBuilder.Init(query.Fetch, null, false, $"open repo {query.Name}", false);
779+
dockControlBuilder.Init(query.Fetch, query.Layout, false, $"open repo {query.Name}", false);
780780
tsbRepo.Tag = query;
781781
dockControlBuilder.SetFetchName($"Repo: {query.Name}");
782782
}
@@ -789,6 +789,7 @@ private void tsmiRepoSave_Click(object sender, EventArgs e)
789789
return;
790790
}
791791
query.Fetch = dockControlBuilder.GetFetchString(true, false);
792+
query.Layout = dockControlBuilder.LayoutXML?.ToXML();
792793
SaveRepository();
793794
MessageBox.Show($"Query {query.Name} updated in repository", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
794795
}
@@ -813,7 +814,8 @@ private void tsmiRepoSaveAs_Click(object sender, EventArgs e)
813814
repository.Queries.Remove(repository.Queries.FirstOrDefault(q => q.Name == queryname));
814815
}
815816
var fetch = dockControlBuilder.GetFetchString(true, false);
816-
var query = new QueryDefinition { Name = queryname, Fetch = fetch };
817+
var layout = dockControlBuilder.LayoutXML?.ToXML();
818+
var query = new QueryDefinition { Name = queryname, Fetch = fetch, Layout = layout };
817819
repository.Queries.Add(query);
818820
repository.SortQueries();
819821
SaveRepository();
@@ -830,7 +832,7 @@ private void tsmiRepoExport_Click(object sender, EventArgs e)
830832
};
831833
if (sfd.ShowDialog() == DialogResult.OK)
832834
{
833-
McTools.Xrm.Connection.XmlSerializerHelper.SerializeToFile(repository, sfd.FileName);
835+
XmlSerializerHelper.SerializeToFile(repository, sfd.FileName);
834836
MessageBox.Show($"The entire repository has been saved to file\n{sfd.FileName}", "Export repository", MessageBoxButtons.OK, MessageBoxIcon.Information);
835837
}
836838
}
@@ -849,7 +851,7 @@ private void tsmiRepoImport_Click(object sender, EventArgs e)
849851
{
850852
var document = new XmlDocument();
851853
document.Load(ofd.FileName);
852-
var repo = (QueryRepository)McTools.Xrm.Connection.XmlSerializerHelper.Deserialize(document.OuterXml, typeof(QueryRepository));
854+
var repo = (QueryRepository)XmlSerializerHelper.Deserialize(document.OuterXml, typeof(QueryRepository));
853855
var reponame = Path.ChangeExtension(Path.GetFileName(ofd.FileName), "").Trim('.');
854856
if (MessageBox.Show($"Confirm importing {repo.Queries.Count} queries into repository folder \"{reponame}\".", "Confirm", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
855857
{

FetchXmlBuilder/Settings/FXBSettings.cs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -174,21 +174,16 @@ public class QueryRepository
174174
{
175175
public List<QueryDefinition> Queries { get; set; } = new List<QueryDefinition>();
176176

177-
public void SortQueries()
178-
{
179-
Queries = Queries.OrderBy(q => q.Name).ToList();
180-
}
177+
public void SortQueries() => Queries = Queries.OrderBy(q => q.Name).ToList();
181178
}
182179

183180
public class QueryDefinition
184181
{
185182
public string Name { get; set; }
186183
public string Fetch { get; set; }
184+
public string Layout { get; set; }
187185

188-
public override string ToString()
189-
{
190-
return Name;
191-
}
186+
public override string ToString() => Name;
192187
}
193188

194189
public class XmlColors

0 commit comments

Comments
 (0)