Skip to content

Commit

Permalink
Merge pull request MscrmTools#4 from rajyraman/master
Browse files Browse the repository at this point in the history
FXB Integration
  • Loading branch information
MscrmTools authored Apr 28, 2017
2 parents 4d81994 + 43ce0dd commit dfe8198
Show file tree
Hide file tree
Showing 8 changed files with 306 additions and 221 deletions.
371 changes: 200 additions & 171 deletions MsCrmTools.UserSettingsUtility/MainControl.Designer.cs

Large diffs are not rendered by default.

47 changes: 42 additions & 5 deletions MsCrmTools.UserSettingsUtility/MainControl.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@

namespace MsCrmTools.UserSettingsUtility
{
public partial class MainControl : PluginControlBase, IGitHubPlugin, IHelpPlugin
public partial class MainControl : PluginControlBase, IGitHubPlugin, IHelpPlugin, IMessageBusHost
{
private List<string> areas;
private List<Tuple<string, string>> subAreas;
const string ACTIVE_USERS_FETCH = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' ><entity name='systemuser' ><attribute name='fullname' /><order attribute='fullname' descending='false' /><attribute name='businessunitid' /><attribute name='siteid' /><filter type='and' ><condition attribute='isdisabled' operator='eq' value='0' /><condition attribute='accessmode' operator='ne' value='3' /></filter><attribute name='systemuserid' /></entity></fetch>";

public MainControl()
{
Expand All @@ -28,12 +29,16 @@ private void cbbSiteMapArea_SelectedIndexChanged(object sender, EventArgs e)
}

private void LoadCrmItems()
{
userSelector1.LoadViews();
LoadSettings();
}

private void LoadSettings()
{
cbbSiteMapArea.Items.Clear();
cbbSiteMapSubArea.Items.Clear();
cbbTimeZones.Items.Clear();
userSelector1.Service = Service;
userSelector1.LoadViews();

WorkAsync(new WorkAsyncInfo
{
Expand Down Expand Up @@ -78,7 +83,7 @@ private void LoadCrmItems()
cbbSiteMapSubArea.Items.Clear();
cbbCurrencies.Items.Clear();

var sc = (SettingsCollection)e.Result;
var sc = (SettingsCollection) e.Result;

// TimeZones
cbbTimeZones.Items.Add(new AppCode.TimeZone
Expand All @@ -95,7 +100,8 @@ private void LoadCrmItems()
Code = t.GetAttributeValue<int>("timezonecode"),
Name = t.GetAttributeValue<string>("userinterfacename")
})
.Cast<object>().ToArray());
.Cast<object>()
.ToArray());
cbbTimeZones.SelectedIndex = 0;

// Language
Expand Down Expand Up @@ -364,5 +370,36 @@ private void tsbReset_Click(object sender, EventArgs e)
public string RepositoryName => "MsCrmTools.UserSettingsUtility";
public string UserName => "MscrmTools";
public string HelpUrl => "https://github.com/MscrmTools/MsCrmTools.UserSettingsUtility/wiki";

private void tsbEditInFXB_Click(object sender, EventArgs e)
{
if (Service != null && userSelector1.Service == null)
{
userSelector1.Service = Service;
}
if (areas == null || !areas.Any())
{
ExecuteMethod(LoadSettings);
}
var messageBusEventArgs = new MessageBusEventArgs("FetchXML Builder");
var fetchXml = (((ComboBox) userSelector1.Controls.Find("cbbViews", true)?[0]).SelectedItem as ViewItem)?.FetchXml;
messageBusEventArgs.TargetArgument = fetchXml ?? ACTIVE_USERS_FETCH;
OnOutgoingMessage(this, messageBusEventArgs);
}

public void OnIncomingMessage(MessageBusEventArgs message)
{
if (message.SourcePlugin == "FetchXML Builder")
{
var fetchXml = (string)message.TargetArgument;
if (Service != null && userSelector1.Service == null)
{
userSelector1.Service = Service;
}
userSelector1.PopulateUsers(fetchXml);
}
}

public event EventHandler<MessageBusEventArgs> OnOutgoingMessage;
}
}
18 changes: 14 additions & 4 deletions MsCrmTools.UserSettingsUtility/MainControl.resx
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@
<data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD5SURBVDhPY0AGRxwM/oMwlIsB8MqDJL4d3gXG2BThlQcJ
YQUAAAAJcEhZcwAAJOgAACToAYJjBRwAAAD5SURBVDhPY0AGRxwM/oMwlIsB8MqDJL4d3gXG2BThlQcJ
fN294f9TT10wBrGRFRGShyjYvPz/c18jOAbxQeL45KDawcAYJPBl9bz/rwLN4RjExyYG1WwM0YoAYEO+
Lp7+/02oDVYMksOlGQYghszt//8u0hEFg8QIaQYDkKJv0zr+f4h1Q8EgMagBuAFY88Sm/58TvbFikBxO
Q0AS33uq/39N9YdjEB+bGIYhIIEf7WX/v2eGwDGIDxLHJwfVDjHgV1Ph/595kWAMYkMVgAIMHLA45OEA
Expand All @@ -134,25 +134,35 @@
<data name="tsbLoadCrmItems.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD2SURBVDhPY6ApyG+c8x/KJA/oe+STb8D9xy//M8j7k29A
YQUAAAAJcEhZcwAAJOgAACToAYJjBRwAAAD2SURBVDhPY6ApyG+c8x/KJA/oe+STb8D9xy//M8j7k29A
/9xNGAbMX733//7jl4kzVN4qBcUAkItAYkQZALIJrBnJgPr+5WA+sgHxRROxG2YfVoViwPmr9+B8mAFg
zVB5FIBiOxCDwgIcG1D+5j2n//untCHUIAOYP+GSQAwPTBx8qFYIACccZEkgJtqA9TtPoEpAMVEGgJzO
rxOJKgHEArpRhA0AaYYFEsj/IZmd/xOKJ/4HRRvISw7h1WAMCxsMA0Ca5SxT/jdPWvk/uWzyf9eYehSN
MAyKWhBGiQEQXrn5CDhuQRic/gkAUJoARTXIlQK6Uf8BmMAUt3c2ab0AAAAASUVORK5CYII=
</value>
</data>
<data name="tsbEditInFXB.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAJOgAACToAYJjBRwAAADRSURBVDhPhZHBFUUwEEVTghKUogtbJdixY6ccJShBCVkq
Y/55/jwmMeKe8w4ZkxtJghSIMUpd1zryeRVgcgjhTEniCuzkL8lDsO/7Y7JNTlLB5K7rdOSzrqu+/bkE
/O15nrXig+9VVelIBXbPFPR9f9W88ExC3kgBnrb+GjTDxgIF4zimjU6O47jPgBIKtm2TYRhkmqYry7JI
0zRnH7YNklvA4WDlErgl3BZJBAAN+cpM27badfMQAPyJ3StjVyauANiDRbjnnFcBoKRE+esnIj+eAwVc
0X0LjgAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsbUpdateUserSettings.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABKSURBVDhPY6AKSEtL+08OhmpHGADlEgSjBtDSAFIxVDuV
YQUAAAAJcEhZcwAAJOgAACToAYJjBRwAAABKSURBVDhPY6AKSEtL+08OhmpHGADlEgSjBtDSAFIxVDuV
DYAK4QRY1WIVxAGwqsUmiKEICrCppdyA9PT0EGQJYjBID1Q7JYCBAQAPuutdrD/EMQAAAABJRU5ErkJg
gg==
</value>
</data>
<data name="tsbReset.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI5SURBVDhPnVNNbxJRFOVXdKPBKtABijXRaK1pYurCpIEG
YQUAAAAJcEhZcwAAJOgAACToAYJjBRwAAAI5SURBVDhPnVNNbxJRFOVXdKPBKtABijXRaK1pYurCpIEG
moYao1DTWpFaF92VEoyauDEsxBgXpaWGj5bYQTtj1cFGHBqNfLS45Y+QAAuOcx8MZaxuPMkJL/PuOe/d
cx+6v2FHEPAiEkFgZYWR1vSts/1vCKKIyMsIMu94yHIe5fIBYz6/z77RHtV0yrVIplJIJBMobvH49TCA
A68Ph3fmULl5G6WJaeRvzOL7RpLVUG1H1ga50kYl/BoVz30UFxYgeTz4MDWFnGsSBbsDxbFrkEfGIAef
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,11 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="McTools.Xrm.Connection, Version=1.2017.2.12, Culture=neutral, PublicKeyToken=96037217801d9658, processorArchitecture=MSIL">
<HintPath>..\packages\MscrmTools.Xrm.Connection.1.2017.2.12\lib\net452\McTools.Xrm.Connection.dll</HintPath>
<Private>True</Private>
<Reference Include="McTools.Xrm.Connection, Version=1.2017.4.13, Culture=neutral, PublicKeyToken=96037217801d9658, processorArchitecture=MSIL">
<HintPath>..\packages\MscrmTools.Xrm.Connection.1.2017.4.13\lib\net452\McTools.Xrm.Connection.dll</HintPath>
</Reference>
<Reference Include="McTools.Xrm.Connection.WinForms, Version=1.2017.2.12, Culture=neutral, PublicKeyToken=f1559f79cf894e27, processorArchitecture=MSIL">
<HintPath>..\packages\MscrmTools.Xrm.Connection.1.2017.2.12\lib\net452\McTools.Xrm.Connection.WinForms.dll</HintPath>
<Private>True</Private>
<Reference Include="McTools.Xrm.Connection.WinForms, Version=1.2017.4.13, Culture=neutral, PublicKeyToken=f1559f79cf894e27, processorArchitecture=MSIL">
<HintPath>..\packages\MscrmTools.Xrm.Connection.1.2017.4.13\lib\net452\McTools.Xrm.Connection.WinForms.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Crm.Sdk.Proxy, Version=8.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CrmSdk.CoreAssemblies.8.2.0\lib\net45\Microsoft.Crm.Sdk.Proxy.dll</HintPath>
Expand Down Expand Up @@ -95,8 +93,7 @@
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Xrm.Tooling.Connector, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CrmSdk.XrmTooling.CoreAssembly.8.2.0.2\lib\net452\Microsoft.Xrm.Tooling.Connector.dll</HintPath>
<Private>True</Private>
<HintPath>..\packages\Microsoft.CrmSdk.XrmTooling.CoreAssembly.8.2.0.5\lib\net452\Microsoft.Xrm.Tooling.Connector.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
Expand Down Expand Up @@ -133,15 +130,12 @@
<Reference Include="System.Xml" />
<Reference Include="XrmToolBox, Version=1.2017.3.14, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\XrmToolBoxPackage.1.2017.3.14\lib\net452\XrmToolBox.exe</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="XrmToolBox.Extensibility, Version=1.2017.2.7, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\XrmToolBoxPackage.1.2017.3.14\lib\net452\XrmToolBox.Extensibility.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="XrmToolBox.PluginsStore, Version=1.2017.1.4, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\XrmToolBoxPackage.1.2017.3.14\lib\net452\XrmToolBox.PluginsStore.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
Expand Down Expand Up @@ -191,12 +185,14 @@
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
<UserProperties BuildVersion_BuildVersioningStyle="None.YearStamp.MonthStamp.DayStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_UpdateFileVersion="True" BuildVersion_ConfigurationName="Release" />
<UserProperties BuildVersion_ConfigurationName="Release" BuildVersion_UpdateFileVersion="True" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.YearStamp.MonthStamp.DayStamp" />
</VisualStudio>
</ProjectExtensions>
<PropertyGroup>
Expand Down
4 changes: 2 additions & 2 deletions MsCrmTools.UserSettingsUtility/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,5 @@
// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut
// en utilisant '*', comme indiqué ci-dessous :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.2017.4.25")]
[assembly: AssemblyFileVersion("1.2017.4.25")]
[assembly: AssemblyVersion("1.2017.4.28")]
[assembly: AssemblyFileVersion("1.2017.4.28")]
55 changes: 32 additions & 23 deletions MsCrmTools.UserSettingsUtility/UserControls/UserSelector.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public IOrganizationService Service
service = value;
LoadViews();
}
get { return service; }
}

public void LoadViews()
Expand Down Expand Up @@ -63,39 +64,47 @@ public void LoadViews()

private void cbbViews_SelectedIndexChanged(object sender, EventArgs e)
{
lvUsers.Items.Clear();
var viewItem = (ViewItem)cbbViews.SelectedItem;
PopulateUsers(viewItem.FetchXml);
}

var entity = QueryHelper.GetItems(viewItem.FetchXml, service);
public void PopulateUsers(string fetchXml)
{
lvUsers.Items.Clear();
var entity = QueryHelper.GetItems(fetchXml, service);

if (entity.EntityName == "systemuser")
{
lvUsers.Items.AddRange(entity.Entities.ToList().Select(record => new ListViewItem
{
Text = record.GetAttributeValue<string>("lastname"),
ImageIndex = 0,
StateImageIndex = 0,
Tag = record,
SubItems =
lvUsers.Items.AddRange(entity.Entities.ToList()
.Select(record => new ListViewItem
{
record.GetAttributeValue<string>("firstname"),
record.GetAttributeValue<EntityReference>("businessunitid").Name
}
}).ToArray());
Text = record.GetAttributeValue<string>("lastname"),
ImageIndex = 0,
StateImageIndex = 0,
Tag = record,
SubItems =
{
record.GetAttributeValue<string>("firstname"),
record.GetAttributeValue<EntityReference>("businessunitid").Name
}
})
.ToArray());
}
else if (entity.EntityName == "team")
{
lvUsers.Items.AddRange(entity.Entities.ToList().Select(record => new ListViewItem
{
Text = record.GetAttributeValue<string>("name"),
ImageIndex = 1,
StateImageIndex = 1,
Tag = record,
SubItems =
lvUsers.Items.AddRange(entity.Entities.ToList()
.Select(record => new ListViewItem
{
record.GetAttributeValue<EntityReference>("businessunitid").Name
}
}).ToArray());
Text = record.GetAttributeValue<string>("name"),
ImageIndex = 1,
StateImageIndex = 1,
Tag = record,
SubItems =
{
record.GetAttributeValue<EntityReference>("businessunitid").Name
}
})
.ToArray());
}
}

Expand Down
6 changes: 5 additions & 1 deletion MsCrmTools.UserSettingsUtility/app.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="McTools.Xrm.Connection.WinForms" publicKeyToken="f1559f79cf894e27" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2017.2.12" newVersion="1.2017.2.12" />
<bindingRedirect oldVersion="0.0.0.0-1.2017.4.13" newVersion="1.2017.4.13" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="McTools.Xrm.Connection" publicKeyToken="96037217801d9658" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2017.4.13" newVersion="1.2017.4.13" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down
4 changes: 2 additions & 2 deletions MsCrmTools.UserSettingsUtility/packages.config
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<package id="Microsoft.CrmSdk.CoreAssemblies" version="8.2.0" targetFramework="net452" />
<package id="Microsoft.CrmSdk.Deployment" version="8.2.0" targetFramework="net452" />
<package id="Microsoft.CrmSdk.Workflow" version="8.2.0" targetFramework="net452" />
<package id="Microsoft.CrmSdk.XrmTooling.CoreAssembly" version="8.2.0.2" targetFramework="net452" />
<package id="Microsoft.CrmSdk.XrmTooling.CoreAssembly" version="8.2.0.5" targetFramework="net452" />
<package id="Microsoft.IdentityModel" version="6.1.7600.16394" targetFramework="net452" />
<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="2.24.304111323" targetFramework="net452" />
<package id="Microsoft.Web.Xdt" version="2.1.1" targetFramework="net452" />
<package id="MscrmTools.Xrm.Connection" version="1.2017.2.12" targetFramework="net452" />
<package id="MscrmTools.Xrm.Connection" version="1.2017.4.13" targetFramework="net452" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
<package id="NuGet.Core" version="2.12.0" targetFramework="net452" />
<package id="XrmToolBoxPackage" version="1.2017.3.14" targetFramework="net452" />
Expand Down

0 comments on commit dfe8198

Please sign in to comment.