diff --git a/DfBAdminToolkit-v2/.vs/DfBAdminToolkit/v14/.suo b/DfBAdminToolkit-v2/.vs/DfBAdminToolkit/v14/.suo new file mode 100644 index 0000000..cea6c82 Binary files /dev/null and b/DfBAdminToolkit-v2/.vs/DfBAdminToolkit/v14/.suo differ diff --git a/DfBAdminToolkit/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj b/DfBAdminToolkit-v2/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj similarity index 94% rename from DfBAdminToolkit/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj rename to DfBAdminToolkit-v2/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj index 5f8e7a5..b60e8c1 100644 --- a/DfBAdminToolkit/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj +++ b/DfBAdminToolkit-v2/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj @@ -15,19 +15,19 @@ { "Entry" { - "MsmKey" = "8:_031D80670623E71AA6F804684DC4F6F2" - "OwnerKey" = "8:_C840A6270E7C4B16D5D1747E25F438F1" + "MsmKey" = "8:_3C8917718DE6DAA3A479E8ECA2122283" + "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_031D80670623E71AA6F804684DC4F6F2" - "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" + "MsmKey" = "8:_40C442A09DBA3CA241DD3FADB63680C8" + "OwnerKey" = "8:_921315384D485E0783B33005AD7901B1" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_2E36F46672E1C3D880DF8BB7A9D4BD03" + "MsmKey" = "8:_40C442A09DBA3CA241DD3FADB63680C8" "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" "MsmSig" = "8:_UNDEFINED" } @@ -39,56 +39,56 @@ } "Entry" { - "MsmKey" = "8:_51957D55AE4FA711EBB98CBC04CCAA2E" - "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" + "MsmKey" = "8:_72A8B61B1E544BDAB8A3AE25311658DB" + "OwnerKey" = "8:_921315384D485E0783B33005AD7901B1" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_7D6AE5D9BE9E41D7B1FC2BDB70F3024F" - "OwnerKey" = "8:_UNDEFINED" + "MsmKey" = "8:_7762FF29B29768337C38B6927212041D" + "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_7D832D1E66FB484B8866284D8829A144" + "MsmKey" = "8:_7A40BACEE0F045D1AF0D4CF6FAE831CA" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_8C6C76C3E81E45EB9672C18D9F20D91E" + "MsmKey" = "8:_7D6AE5D9BE9E41D7B1FC2BDB70F3024F" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_B40816F0EC0641D895069C6C773CE515" + "MsmKey" = "8:_8C6C76C3E81E45EB9672C18D9F20D91E" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_C840A6270E7C4B16D5D1747E25F438F1" + "MsmKey" = "8:_921315384D485E0783B33005AD7901B1" "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_CE4ACA5CEF211BAB2D35685212394C07" - "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" + "MsmKey" = "8:_B40816F0EC0641D895069C6C773CE515" + "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_D4DED92071F94172D9C77BFD781F4C6B" + "MsmKey" = "8:_B9FD2E6A77CCDFDF7E3F83D080DFCDBB" "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" "MsmSig" = "8:_UNDEFINED" } "Entry" { - "MsmKey" = "8:_EE1820719816A2195AA03EA373A3AE56" - "OwnerKey" = "8:_C840A6270E7C4B16D5D1747E25F438F1" + "MsmKey" = "8:_CDCA4F2165444D3B7B3693F4110561FE" + "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -100,43 +100,43 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_D4DED92071F94172D9C77BFD781F4C6B" + "OwnerKey" = "8:_3C8917718DE6DAA3A479E8ECA2122283" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_51957D55AE4FA711EBB98CBC04CCAA2E" + "OwnerKey" = "8:_CDCA4F2165444D3B7B3693F4110561FE" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_C840A6270E7C4B16D5D1747E25F438F1" + "OwnerKey" = "8:_921315384D485E0783B33005AD7901B1" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_EE1820719816A2195AA03EA373A3AE56" + "OwnerKey" = "8:_72A8B61B1E544BDAB8A3AE25311658DB" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_031D80670623E71AA6F804684DC4F6F2" + "OwnerKey" = "8:_40C442A09DBA3CA241DD3FADB63680C8" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_2E36F46672E1C3D880DF8BB7A9D4BD03" + "OwnerKey" = "8:_7762FF29B29768337C38B6927212041D" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_CE4ACA5CEF211BAB2D35685212394C07" + "OwnerKey" = "8:_B9FD2E6A77CCDFDF7E3F83D080DFCDBB" "MsmSig" = "8:_UNDEFINED" } } @@ -234,20 +234,20 @@ } "File" { - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_031D80670623E71AA6F804684DC4F6F2" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_3C8917718DE6DAA3A479E8ECA2122283" { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:ObjectListView, Version=2.9.0.25611, Culture=neutral, PublicKeyToken=b1c5bf581481bcd4, processorArchitecture=MSIL" "ScatterAssemblies" { - "_031D80670623E71AA6F804684DC4F6F2" + "_3C8917718DE6DAA3A479E8ECA2122283" { - "Name" = "8:Newtonsoft.Json.DLL" + "Name" = "8:ObjectListView.DLL" "Attributes" = "3:512" } } - "SourcePath" = "8:Newtonsoft.Json.DLL" + "SourcePath" = "8:ObjectListView.DLL" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" @@ -265,20 +265,20 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_2E36F46672E1C3D880DF8BB7A9D4BD03" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_40C442A09DBA3CA241DD3FADB63680C8" { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:CustomTabControl, Version=1.0.1.7, Culture=neutral, PublicKeyToken=53c237210c7e462d, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:Newtonsoft.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL" "ScatterAssemblies" { - "_2E36F46672E1C3D880DF8BB7A9D4BD03" + "_40C442A09DBA3CA241DD3FADB63680C8" { - "Name" = "8:CustomTabControl.DLL" + "Name" = "8:Newtonsoft.Json.DLL" "Attributes" = "3:512" } } - "SourcePath" = "8:CustomTabControl.DLL" + "SourcePath" = "8:Newtonsoft.Json.DLL" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" @@ -300,7 +300,7 @@ { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:DfBAdminToolkit, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:DfBAdminToolkit, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { "_4A6B6FBF12AC43BB83F88A643D56B1CE" @@ -327,20 +327,20 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_51957D55AE4FA711EBB98CBC04CCAA2E" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_72A8B61B1E544BDAB8A3AE25311658DB" { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:MRG.Controls.UI, Version=1.0.2601.14400, Culture=neutral, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:RestSharp, Version=105.2.3.0, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { - "_51957D55AE4FA711EBB98CBC04CCAA2E" + "_72A8B61B1E544BDAB8A3AE25311658DB" { - "Name" = "8:MRG.Controls.UI.DLL" + "Name" = "8:RestSharp.DLL" "Attributes" = "3:512" } } - "SourcePath" = "8:MRG.Controls.UI.DLL" + "SourcePath" = "8:RestSharp.DLL" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" @@ -358,10 +358,21 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7D6AE5D9BE9E41D7B1FC2BDB70F3024F" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_7762FF29B29768337C38B6927212041D" { - "SourcePath" = "8:..\\DfBAdminToolkit\\Misc\\LICENSE.txt" - "TargetName" = "8:LICENSE.txt" + "AssemblyRegister" = "3:1" + "AssemblyIsInGAC" = "11:FALSE" + "AssemblyAsmDisplayName" = "8:CustomTabControl, Version=1.0.1.7, Culture=neutral, PublicKeyToken=53c237210c7e462d, processorArchitecture=MSIL" + "ScatterAssemblies" + { + "_7762FF29B29768337C38B6927212041D" + { + "Name" = "8:CustomTabControl.DLL" + "Attributes" = "3:512" + } + } + "SourcePath" = "8:CustomTabControl.DLL" + "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" "Condition" = "8:" @@ -375,12 +386,12 @@ "PackageAs" = "3:1" "Register" = "3:1" "Exclude" = "11:FALSE" - "IsDependency" = "11:FALSE" + "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7D832D1E66FB484B8866284D8829A144" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7A40BACEE0F045D1AF0D4CF6FAE831CA" { - "SourcePath" = "8:..\\DfBAdminToolkit\\bin\\Debug\\DfBAdminToolkit.exe.config" + "SourcePath" = "8:..\\DfBAdminToolkit\\Install Config\\DfBAdminToolkit.exe.config" "TargetName" = "8:DfBAdminToolkit.exe.config" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" @@ -398,10 +409,10 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8C6C76C3E81E45EB9672C18D9F20D91E" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_7D6AE5D9BE9E41D7B1FC2BDB70F3024F" { - "SourcePath" = "8:..\\DfBAdminToolkit\\app.manifest" - "TargetName" = "8:app.manifest" + "SourcePath" = "8:..\\DfBAdminToolkit\\Misc\\LICENSE.txt" + "TargetName" = "8:LICENSE.txt" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" "Condition" = "8:" @@ -418,10 +429,10 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B40816F0EC0641D895069C6C773CE515" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_8C6C76C3E81E45EB9672C18D9F20D91E" { - "SourcePath" = "8:..\\DfBAdminToolkit\\Misc\\dropbox.ico" - "TargetName" = "8:dropbox.ico" + "SourcePath" = "8:..\\DfBAdminToolkit\\app.manifest" + "TargetName" = "8:app.manifest" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" "Condition" = "8:" @@ -438,14 +449,14 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_C840A6270E7C4B16D5D1747E25F438F1" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_921315384D485E0783B33005AD7901B1" { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" "AssemblyAsmDisplayName" = "8:DfBAdminToolkit.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { - "_C840A6270E7C4B16D5D1747E25F438F1" + "_921315384D485E0783B33005AD7901B1" { "Name" = "8:DfBAdminToolkit.Common.DLL" "Attributes" = "3:512" @@ -469,21 +480,10 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CE4ACA5CEF211BAB2D35685212394C07" + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_B40816F0EC0641D895069C6C773CE515" { - "AssemblyRegister" = "3:1" - "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:CsvHelper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=8c4959082be5c823, processorArchitecture=MSIL" - "ScatterAssemblies" - { - "_CE4ACA5CEF211BAB2D35685212394C07" - { - "Name" = "8:CsvHelper.DLL" - "Attributes" = "3:512" - } - } - "SourcePath" = "8:CsvHelper.DLL" - "TargetName" = "8:" + "SourcePath" = "8:..\\DfBAdminToolkit\\Misc\\dropbox.ico" + "TargetName" = "8:dropbox.ico" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" "Condition" = "8:" @@ -497,23 +497,23 @@ "PackageAs" = "3:1" "Register" = "3:1" "Exclude" = "11:FALSE" - "IsDependency" = "11:TRUE" + "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_D4DED92071F94172D9C77BFD781F4C6B" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B9FD2E6A77CCDFDF7E3F83D080DFCDBB" { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:ObjectListView, Version=2.9.0.25611, Culture=neutral, PublicKeyToken=b1c5bf581481bcd4, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:CsvHelper, Version=2.0.0.0, Culture=neutral, PublicKeyToken=8c4959082be5c823, processorArchitecture=MSIL" "ScatterAssemblies" { - "_D4DED92071F94172D9C77BFD781F4C6B" + "_B9FD2E6A77CCDFDF7E3F83D080DFCDBB" { - "Name" = "8:ObjectListView.DLL" + "Name" = "8:CsvHelper.DLL" "Attributes" = "3:512" } } - "SourcePath" = "8:ObjectListView.DLL" + "SourcePath" = "8:CsvHelper.DLL" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" @@ -531,20 +531,20 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } - "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_EE1820719816A2195AA03EA373A3AE56" + "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_CDCA4F2165444D3B7B3693F4110561FE" { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:RestSharp, Version=105.2.3.0, Culture=neutral, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:MRG.Controls.UI, Version=1.0.2601.14400, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { - "_EE1820719816A2195AA03EA373A3AE56" + "_CDCA4F2165444D3B7B3693F4110561FE" { - "Name" = "8:RestSharp.DLL" + "Name" = "8:MRG.Controls.UI.DLL" "Attributes" = "3:512" } } - "SourcePath" = "8:RestSharp.DLL" + "SourcePath" = "8:MRG.Controls.UI.DLL" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_5574A63BF49B4C69B71A3F07F6F7B807" diff --git a/DfBAdminToolkit/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj.vspscc b/DfBAdminToolkit-v2/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj.vspscc similarity index 100% rename from DfBAdminToolkit/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj.vspscc rename to DfBAdminToolkit-v2/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj.vspscc diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/ButtonEx.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ButtonEx.Designer.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/ButtonEx.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ButtonEx.Designer.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/ButtonEx.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ButtonEx.cs similarity index 74% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/ButtonEx.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ButtonEx.cs index 5bdc45a..d7bc8b8 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/ButtonEx.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ButtonEx.cs @@ -1,19 +1,18 @@ -namespace DfBAdminToolkit.Common.Component -{ +namespace DfBAdminToolkit.Common.Component { + using System; using System.ComponentModel; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; - public partial class ButtonEx : Button - { + public partial class ButtonEx : Button { + #region Fields private Theme _theme = Theme.MSOffice2010_Blue; - private enum MouseState - { + private enum MouseState { None = 1, Down = 2, Up = 3, @@ -28,8 +27,7 @@ private enum MouseState #region Constructor - public ButtonEx() - { + public ButtonEx() { this.SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.Opaque | ControlStyles.ResizeRedraw | @@ -46,19 +44,16 @@ public ButtonEx() #region Paint Transparent Background - protected void PaintTransparentBackground(Graphics g, Rectangle clipRect) - { + protected void PaintTransparentBackground(Graphics g, Rectangle clipRect) { // check if we have a parent - if (this.Parent != null) - { + if (this.Parent != null) { // convert the clipRects coordinates from ours to our parents clipRect.Offset(this.Location); PaintEventArgs e = new PaintEventArgs(g, clipRect); GraphicsState state = g.Save(); - try - { + try { // move the graphics object so that we are drawing in // the correct place g.TranslateTransform((float)-this.Location.X, (float)-this.Location.Y); @@ -68,9 +63,7 @@ protected void PaintTransparentBackground(Graphics g, Rectangle clipRect) this.InvokePaint(this.Parent, e); return; - } - finally - { + } finally { // reset everything back to where they were before g.Restore(state); clipRect.Offset(-this.Location.X, -this.Location.Y); @@ -86,43 +79,37 @@ protected void PaintTransparentBackground(Graphics g, Rectangle clipRect) #region Mouse Events - protected override void OnMouseDown(MouseEventArgs e) - { + protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); _mouseState = MouseState.Down; Invalidate(); } - protected override void OnMouseEnter(EventArgs e) - { + protected override void OnMouseEnter(EventArgs e) { base.OnMouseEnter(e); _mouseState = MouseState.Enter; Invalidate(); } - protected override void OnMouseUp(MouseEventArgs mevent) - { + protected override void OnMouseUp(MouseEventArgs mevent) { base.OnMouseUp(mevent); _mouseState = MouseState.None; Invalidate(); } - protected override void OnMouseMove(MouseEventArgs mevent) - { + protected override void OnMouseMove(MouseEventArgs mevent) { base.OnMouseMove(mevent); _mouseState = MouseState.Move; Invalidate(); } - protected override void OnMouseLeave(EventArgs e) - { + protected override void OnMouseLeave(EventArgs e) { base.OnMouseLeave(e); _mouseState = MouseState.Leave; Invalidate(); } - protected override void OnClick(EventArgs e) - { + protected override void OnClick(EventArgs e) { base.OnClick(e); } @@ -130,17 +117,13 @@ protected override void OnClick(EventArgs e) #region Path - public static GraphicsPath GetRoundedRect(RectangleF r, float radius) - { + public static GraphicsPath GetRoundedRect(RectangleF r, float radius) { GraphicsPath gp = new GraphicsPath(); gp.StartFigure(); r = new RectangleF(r.Left, r.Top, r.Width, r.Height); - if (radius <= 0.0F || radius <= 0.0F) - { + if (radius <= 0.0F || radius <= 0.0F) { gp.AddRectangle(r); - } - else - { + } else { gp.AddArc((float)r.X, (float)r.Y, radius, radius, 180, 90); gp.AddArc((float)r.Right - radius, (float)r.Y, radius - 1, radius, 270, 90); gp.AddArc((float)r.Right - radius, ((float)r.Bottom) - radius - 1, radius - 1, radius, 0, 90); @@ -152,8 +135,7 @@ public static GraphicsPath GetRoundedRect(RectangleF r, float radius) #endregion Path - protected override void OnPaint(PaintEventArgs e) - { + protected override void OnPaint(PaintEventArgs e) { this.PaintTransparentBackground(e.Graphics, this.ClientRectangle); #region Painting @@ -174,35 +156,27 @@ protected override void OnPaint(PaintEventArgs e) Color tBottomColorEnd = this._colorTable.ButtonNormalColor4; Color Textcol = this._colorTable.TextColor; - if (!this.Enabled) - { + if (!this.Enabled) { tTopColorBegin = Color.FromArgb((int)(tTopColorBegin.GetBrightness() * 255), (int)(tTopColorBegin.GetBrightness() * 255), (int)(tTopColorBegin.GetBrightness() * 255)); tBottomColorEnd = Color.FromArgb((int)(tBottomColorEnd.GetBrightness() * 255), (int)(tBottomColorEnd.GetBrightness() * 255), (int)(tBottomColorEnd.GetBrightness() * 255)); - } - else - { - if (_mouseState == MouseState.None || _mouseState == MouseState.Leave) - { + } else { + if (_mouseState == MouseState.None || _mouseState == MouseState.Leave) { tTopColorBegin = this._colorTable.ButtonNormalColor1; tTopColorEnd = this._colorTable.ButtonNormalColor2; tBottomColorBegin = this._colorTable.ButtonNormalColor3; tBottomColorEnd = this._colorTable.ButtonNormalColor4; Textcol = this._colorTable.TextColor; - } - else if (_mouseState == MouseState.Down) - { + } else if (_mouseState == MouseState.Down) { tTopColorBegin = this._colorTable.ButtonSelectedColor1; tTopColorEnd = this._colorTable.ButtonSelectedColor2; tBottomColorBegin = this._colorTable.ButtonSelectedColor3; tBottomColorEnd = this._colorTable.ButtonSelectedColor4; Textcol = this._colorTable.SelectedTextColor; - } - else if (_mouseState == MouseState.Move || _mouseState == MouseState.Up) - { + } else if (_mouseState == MouseState.Move || _mouseState == MouseState.Up) { tTopColorBegin = this._colorTable.ButtonMouseOverColor1; tTopColorEnd = this._colorTable.ButtonMouseOverColor2; tBottomColorBegin = this._colorTable.ButtonMouseOverColor3; @@ -221,8 +195,7 @@ protected override void OnPaint(PaintEventArgs e) _theme == Theme.MSOffice2010_Publisher || _theme == Theme.MSOffice2010_Red || _theme == Theme.MSOffice2010_White || - _theme == Theme.MSOffice2010_Pink) - { + _theme == Theme.MSOffice2010_Pink) { PaintCustomBackground(e, g, tTopColorBegin, tTopColorEnd, tBottomColorBegin, tBottomColorEnd); TextAndImage(this.ClientRectangle, g, Textcol); } @@ -232,8 +205,7 @@ protected override void OnPaint(PaintEventArgs e) #region Paint custom background - protected void PaintCustomBackground(PaintEventArgs e, Graphics g, Color tTopColorBegin, Color tTopColorEnd, Color tBottomColorBegin, Color tBottomColorEnd) - { + protected void PaintCustomBackground(PaintEventArgs e, Graphics g, Color tTopColorBegin, Color tTopColorEnd, Color tBottomColorBegin, Color tBottomColorEnd) { int _roundedRadiusX = 6; Rectangle r = new Rectangle(this.ClientRectangle.Left, this.ClientRectangle.Top, this.ClientRectangle.Width, this.ClientRectangle.Height); @@ -249,8 +221,7 @@ protected void PaintCustomBackground(PaintEventArgs e, Graphics g, Color tTopCol //BEGIN PAINT BACKGROUND //for half upper, we paint using linear gradient - using (GraphicsPath thePath = GetRoundedRect(r, _roundedRadiusX)) - { + using (GraphicsPath thePath = GetRoundedRect(r, _roundedRadiusX)) { LinearGradientBrush lgb = new LinearGradientBrush(halfup, tBottomColorEnd, tBottomColorBegin, 90f, true); Blend blend = new Blend(4); @@ -261,11 +232,9 @@ protected void PaintCustomBackground(PaintEventArgs e, Graphics g, Color tTopCol lgb.Dispose(); //for half lower, we paint using radial gradient - using (GraphicsPath p = new GraphicsPath()) - { + using (GraphicsPath p = new GraphicsPath()) { p.AddEllipse(halfdown); //make it radial - using (PathGradientBrush gradient = new PathGradientBrush(p)) - { + using (PathGradientBrush gradient = new PathGradientBrush(p)) { gradient.WrapMode = WrapMode.Clamp; gradient.CenterPoint = new PointF(Convert.ToSingle(halfdown.Left + halfdown.Width / 2), Convert.ToSingle(halfdown.Bottom)); gradient.CenterColor = tBottomColorEnd; @@ -282,25 +251,19 @@ protected void PaintCustomBackground(PaintEventArgs e, Graphics g, Color tTopCol //END PAINT BACKGROUND //BEGIN PAINT BORDERS - using (GraphicsPath gborderDark = thePath) - { - using (Pen p = new Pen(tTopColorBegin, 1)) - { + using (GraphicsPath gborderDark = thePath) { + using (Pen p = new Pen(tTopColorBegin, 1)) { g.DrawPath(p, gborderDark); } } - using (GraphicsPath gborderLight = GetRoundedRect(r2, _roundedRadiusX)) - { - using (Pen p = new Pen(tTopColorEnd, 1)) - { + using (GraphicsPath gborderLight = GetRoundedRect(r2, _roundedRadiusX)) { + using (Pen p = new Pen(tTopColorEnd, 1)) { g.DrawPath(p, gborderLight); } } - using (GraphicsPath gborderMed = GetRoundedRect(r3, _roundedRadiusX)) - { + using (GraphicsPath gborderMed = GetRoundedRect(r3, _roundedRadiusX)) { SolidBrush bordermed = new SolidBrush(Color.FromArgb(50, tTopColorEnd)); - using (Pen p = new Pen(bordermed, 1)) - { + using (Pen p = new Pen(bordermed, 1)) { g.DrawPath(p, gborderMed); } } @@ -312,8 +275,7 @@ protected void PaintCustomBackground(PaintEventArgs e, Graphics g, Color tTopCol #region Paint TEXT AND IMAGE - protected void TextAndImage(Rectangle Rec, Graphics g, Color textColor) - { + protected void TextAndImage(Rectangle Rec, Graphics g, Color textColor) { //BEGIN PAINT TEXT StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; @@ -321,18 +283,13 @@ protected void TextAndImage(Rectangle Rec, Graphics g, Color textColor) #region Top - if (this.TextAlign == ContentAlignment.TopLeft) - { + if (this.TextAlign == ContentAlignment.TopLeft) { sf.LineAlignment = StringAlignment.Near; sf.Alignment = StringAlignment.Near; - } - else if (this.TextAlign == ContentAlignment.TopCenter) - { + } else if (this.TextAlign == ContentAlignment.TopCenter) { sf.LineAlignment = StringAlignment.Near; sf.Alignment = StringAlignment.Center; - } - else if (this.TextAlign == ContentAlignment.TopRight) - { + } else if (this.TextAlign == ContentAlignment.TopRight) { sf.LineAlignment = StringAlignment.Near; sf.Alignment = StringAlignment.Far; } @@ -341,18 +298,13 @@ protected void TextAndImage(Rectangle Rec, Graphics g, Color textColor) #region Middle - else if (this.TextAlign == ContentAlignment.MiddleLeft) - { + else if (this.TextAlign == ContentAlignment.MiddleLeft) { sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Near; - } - else if (this.TextAlign == ContentAlignment.MiddleCenter) - { + } else if (this.TextAlign == ContentAlignment.MiddleCenter) { sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Center; - } - else if (this.TextAlign == ContentAlignment.MiddleRight) - { + } else if (this.TextAlign == ContentAlignment.MiddleRight) { sf.LineAlignment = StringAlignment.Center; sf.Alignment = StringAlignment.Far; } @@ -361,30 +313,22 @@ protected void TextAndImage(Rectangle Rec, Graphics g, Color textColor) #region Bottom - else if (this.TextAlign == ContentAlignment.BottomLeft) - { + else if (this.TextAlign == ContentAlignment.BottomLeft) { sf.LineAlignment = StringAlignment.Far; sf.Alignment = StringAlignment.Near; - } - else if (this.TextAlign == ContentAlignment.BottomCenter) - { + } else if (this.TextAlign == ContentAlignment.BottomCenter) { sf.LineAlignment = StringAlignment.Far; sf.Alignment = StringAlignment.Center; - } - else if (this.TextAlign == ContentAlignment.BottomRight) - { + } else if (this.TextAlign == ContentAlignment.BottomRight) { sf.LineAlignment = StringAlignment.Far; sf.Alignment = StringAlignment.Far; } #endregion Bottom - if (this.ShowKeyboardCues) - { + if (this.ShowKeyboardCues) { sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.Show; - } - else - { + } else { sf.HotkeyPrefix = System.Drawing.Text.HotkeyPrefix.Hide; } g.DrawString(this.Text, this.Font, new SolidBrush(textColor), Rec, sf); @@ -402,20 +346,15 @@ protected void TextAndImage(Rectangle Rec, Graphics g, Color textColor) [DefaultValue(typeof(ColorTable), "Office2010Blue")] [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public ColorTable ColorTable - { - get - { - if (_colorTable == null) - { + public ColorTable ColorTable { + get { + if (_colorTable == null) { _colorTable = new ColorTable(); } return _colorTable; } - set - { - if (value == null) - { + set { + if (value == null) { value = ColorTable.Office2010Blue; } _colorTable = (ColorTable)value; @@ -423,68 +362,41 @@ public ColorTable ColorTable } } - public Theme Theme - { - get - { - if (this._colorTable == ColorTable.Office2010Green) - { + public Theme Theme { + get { + if (this._colorTable == ColorTable.Office2010Green) { return Theme.MSOffice2010_Green; - } - else if (this._colorTable == ColorTable.Office2010Red) - { + } else if (this._colorTable == ColorTable.Office2010Red) { return Theme.MSOffice2010_Red; - } - else if (this._colorTable == ColorTable.Office2010Pink) - { + } else if (this._colorTable == ColorTable.Office2010Pink) { return Theme.MSOffice2010_Pink; - } - else if (this._colorTable == ColorTable.Office2010Yellow) - { + } else if (this._colorTable == ColorTable.Office2010Yellow) { return Theme.MSOffice2010_Yellow; - } - else if (this._colorTable == ColorTable.Office2010White) - { + } else if (this._colorTable == ColorTable.Office2010White) { return Theme.MSOffice2010_White; - } - else if (this._colorTable == ColorTable.Office2010Publisher) - { + } else if (this._colorTable == ColorTable.Office2010Publisher) { return Theme.MSOffice2010_Publisher; } return Theme.MSOffice2010_Blue; } - set - { + set { this._theme = value; - if (_theme == Theme.MSOffice2010_Green) - { + if (_theme == Theme.MSOffice2010_Green) { this._colorTable = ColorTable.Office2010Green; - } - else if (_theme == Theme.MSOffice2010_Red) - { + } else if (_theme == Theme.MSOffice2010_Red) { this._colorTable = ColorTable.Office2010Red; - } - else if (_theme == Theme.MSOffice2010_Pink) - { + } else if (_theme == Theme.MSOffice2010_Pink) { this._colorTable = ColorTable.Office2010Pink; - } - else if (_theme == Theme.MSOffice2010_White) - { + } else if (_theme == Theme.MSOffice2010_White) { this._colorTable = ColorTable.Office2010White; - } - else if (_theme == Theme.MSOffice2010_Yellow) - { + } else if (_theme == Theme.MSOffice2010_Yellow) { this._colorTable = ColorTable.Office2010Yellow; - } - else if (_theme == Theme.MSOffice2010_Publisher) - { + } else if (_theme == Theme.MSOffice2010_Publisher) { this._colorTable = ColorTable.Office2010Publisher; - } - else - { + } else { this._colorTable = ColorTable.Office2010Blue; } } @@ -495,27 +407,21 @@ public Theme Theme #region Background Image [Browsable(false)] - public override Image BackgroundImage - { - get - { + public override Image BackgroundImage { + get { return base.BackgroundImage; } - set - { + set { base.BackgroundImage = value; } } [Browsable(false)] - public override ImageLayout BackgroundImageLayout - { - get - { + public override ImageLayout BackgroundImageLayout { + get { return base.BackgroundImageLayout; } - set - { + set { base.BackgroundImageLayout = value; } } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/ColorTable.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ColorTable.cs similarity index 86% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/ColorTable.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ColorTable.cs index 5c2383d..fa1d6f0 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/ColorTable.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/ColorTable.cs @@ -1,10 +1,9 @@ -namespace DfBAdminToolkit.Common.Component -{ +namespace DfBAdminToolkit.Common.Component { + using System.ComponentModel; using System.Drawing; - public enum Theme - { + public enum Theme { MSOffice2010_Blue = 1, MSOffice2010_White = 2, MSOffice2010_Red = 3, @@ -17,63 +16,56 @@ public enum Theme #region COLOR TABLE [TypeConverter(typeof(ExpandableObjectConverter))] - public class ColorTable - { + public class ColorTable { + #region Static Color Tables private static Office2010Blue office2010blu = new Office2010Blue(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public static ColorTable Office2010Blue - { + public static ColorTable Office2010Blue { get { return office2010blu; } } private static Office2010Green office2010gr = new Office2010Green(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public static ColorTable Office2010Green - { + public static ColorTable Office2010Green { get { return office2010gr; } } private static Office2010Red office2010rd = new Office2010Red(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public static ColorTable Office2010Red - { + public static ColorTable Office2010Red { get { return office2010rd; } } private static Office2010Pink office2010pk = new Office2010Pink(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public static ColorTable Office2010Pink - { + public static ColorTable Office2010Pink { get { return office2010pk; } } private static Office2010Yellow office2010yl = new Office2010Yellow(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public static ColorTable Office2010Yellow - { + public static ColorTable Office2010Yellow { get { return office2010yl; } } private static Office2010White office2010wt = new Office2010White(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public static ColorTable Office2010White - { + public static ColorTable Office2010White { get { return office2010wt; } } private static Office2010Publisher office2010pb = new Office2010Publisher(); [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] - public static ColorTable Office2010Publisher - { + public static ColorTable Office2010Publisher { get { return office2010pb; } } @@ -88,36 +80,31 @@ public static ColorTable Office2010Publisher private Color innerborderColor = Color.FromArgb(68, 135, 228); [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color TextColor - { + public virtual Color TextColor { get { return textColor; } set { textColor = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color SelectedTextColor - { + public virtual Color SelectedTextColor { get { return selectedTextColor; } set { selectedTextColor = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color HoverTextColor - { + public virtual Color HoverTextColor { get { return OverTextColor; } set { OverTextColor = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color BorderColor1 - { + public virtual Color BorderColor1 { get { return borderColor; } set { borderColor = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color BorderColor2 - { + public virtual Color BorderColor2 { get { return innerborderColor; } set { innerborderColor = value; } } @@ -132,29 +119,25 @@ public virtual Color BorderColor2 private Color buttonNormalEnd = Color.FromArgb(62, 125, 219); [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonNormalColor1 - { + public virtual Color ButtonNormalColor1 { get { return buttonNormalBegin; } set { buttonNormalBegin = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonNormalColor2 - { + public virtual Color ButtonNormalColor2 { get { return buttonNormalMiddleBegin; } set { buttonNormalMiddleBegin = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonNormalColor3 - { + public virtual Color ButtonNormalColor3 { get { return buttonNormalMiddleEnd; } set { buttonNormalMiddleEnd = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonNormalColor4 - { + public virtual Color ButtonNormalColor4 { get { return buttonNormalEnd; } set { buttonNormalEnd = value; } } @@ -169,29 +152,25 @@ public virtual Color ButtonNormalColor4 private Color buttonSelectedEnd = Color.FromArgb(255, 216, 107); [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonSelectedColor1 - { + public virtual Color ButtonSelectedColor1 { get { return buttonSelectedBegin; } set { buttonSelectedBegin = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonSelectedColor2 - { + public virtual Color ButtonSelectedColor2 { get { return buttonSelectedMiddleBegin; } set { buttonSelectedMiddleBegin = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonSelectedColor3 - { + public virtual Color ButtonSelectedColor3 { get { return buttonSelectedMiddleEnd; } set { buttonSelectedMiddleEnd = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonSelectedColor4 - { + public virtual Color ButtonSelectedColor4 { get { return buttonSelectedEnd; } set { buttonSelectedEnd = value; } } @@ -206,29 +185,25 @@ public virtual Color ButtonSelectedColor4 private Color buttonMouseOverEnd = Color.FromArgb(251, 249, 224); [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonMouseOverColor1 - { + public virtual Color ButtonMouseOverColor1 { get { return buttonMouseOverBegin; } set { buttonMouseOverBegin = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonMouseOverColor2 - { + public virtual Color ButtonMouseOverColor2 { get { return buttonMouseOverMiddleBegin; } set { buttonMouseOverMiddleBegin = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonMouseOverColor3 - { + public virtual Color ButtonMouseOverColor3 { get { return buttonMouseOverMiddleEnd; } set { buttonMouseOverMiddleEnd = value; } } [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] - public virtual Color ButtonMouseOverColor4 - { + public virtual Color ButtonMouseOverColor4 { get { return buttonMouseOverEnd; } set { buttonMouseOverEnd = value; } } @@ -240,10 +215,9 @@ public virtual Color ButtonMouseOverColor4 #region Office 2010 Blue - public class Office2010Blue : ColorTable - { - public Office2010Blue() - { + public class Office2010Blue : ColorTable { + + public Office2010Blue() { // Border Color this.BorderColor1 = Color.FromArgb(31, 72, 161); @@ -277,8 +251,7 @@ public Office2010Blue() this.ButtonSelectedColor4 = Color.FromArgb(255, 216, 107); } - public override string ToString() - { + public override string ToString() { return "Office2010Blue"; } } @@ -287,10 +260,9 @@ public override string ToString() #region Office 2010 GREEN - public class Office2010Green : ColorTable - { - public Office2010Green() - { + public class Office2010Green : ColorTable { + + public Office2010Green() { // Border Color this.BorderColor1 = Color.FromArgb(31, 72, 161); @@ -324,8 +296,7 @@ public Office2010Green() this.ButtonSelectedColor4 = Color.FromArgb(255, 216, 107); } - public override string ToString() - { + public override string ToString() { return "Office2010Green"; } } @@ -334,10 +305,9 @@ public override string ToString() #region Office 2010 Red - public class Office2010Red : ColorTable - { - public Office2010Red() - { + public class Office2010Red : ColorTable { + + public Office2010Red() { // Border Color this.BorderColor1 = Color.FromArgb(31, 72, 161); @@ -371,8 +341,7 @@ public Office2010Red() this.ButtonSelectedColor4 = Color.FromArgb(255, 216, 107); } - public override string ToString() - { + public override string ToString() { return "Office2010Red"; } } @@ -381,10 +350,9 @@ public override string ToString() #region Office 2010 Pink - public class Office2010Pink : ColorTable - { - public Office2010Pink() - { + public class Office2010Pink : ColorTable { + + public Office2010Pink() { // Border Color this.BorderColor1 = Color.FromArgb(31, 72, 161); @@ -418,8 +386,7 @@ public Office2010Pink() this.ButtonSelectedColor4 = Color.FromArgb(255, 216, 107); } - public override string ToString() - { + public override string ToString() { return "Office2010Pink"; } } @@ -428,10 +395,9 @@ public override string ToString() #region Office 2010 White - public class Office2010White : ColorTable - { - public Office2010White() - { + public class Office2010White : ColorTable { + + public Office2010White() { // Border Color this.BorderColor1 = Color.FromArgb(31, 72, 161); @@ -465,8 +431,7 @@ public Office2010White() this.ButtonSelectedColor4 = Color.FromArgb(255, 216, 107); } - public override string ToString() - { + public override string ToString() { return "Office2010White"; } } @@ -475,10 +440,9 @@ public override string ToString() #region Office 2010 Yellow - public class Office2010Yellow : ColorTable - { - public Office2010Yellow() - { + public class Office2010Yellow : ColorTable { + + public Office2010Yellow() { // Border Color this.BorderColor1 = Color.FromArgb(31, 72, 161); @@ -512,8 +476,7 @@ public Office2010Yellow() this.ButtonSelectedColor4 = Color.FromArgb(255, 216, 107); } - public override string ToString() - { + public override string ToString() { return "Office2010Yellow"; } } @@ -522,10 +485,9 @@ public override string ToString() #region Office 2010 Publisher - public class Office2010Publisher : ColorTable - { - public Office2010Publisher() - { + public class Office2010Publisher : ColorTable { + + public Office2010Publisher() { // Border Color this.BorderColor1 = Color.FromArgb(31, 72, 161); @@ -559,8 +521,7 @@ public Office2010Publisher() this.ButtonSelectedColor4 = Color.FromArgb(255, 216, 107); } - public override string ToString() - { + public override string ToString() { return "Office2010Publisher"; } } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/FormEx.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/FormEx.cs similarity index 74% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/FormEx.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/FormEx.cs index d8e9ceb..398b2a5 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/FormEx.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/FormEx.cs @@ -1,34 +1,28 @@ using System.Drawing; using System.Windows.Forms; -namespace DfBAdminToolkit.Common.Component -{ - public class FormEx : Form - { +namespace DfBAdminToolkit.Common.Component { + + public class FormEx : Form { private FormExStyle m_settings; private const int CP_NOCLOSE_BUTTON = 0x200; - public enum FormExStyle : int - { + public enum FormExStyle : int { CENTERED_WINDOW = 0x1, IGNORE_USER_CLOSING = 0x2, } - public FormEx() - { + public FormEx() { } public FormEx(FormExStyle settings) - : base() - { + : base() { m_settings = settings; } - protected override void OnLoad(System.EventArgs e) - { - if ((m_settings & FormExStyle.CENTERED_WINDOW) == FormExStyle.CENTERED_WINDOW) - { + protected override void OnLoad(System.EventArgs e) { + if ((m_settings & FormExStyle.CENTERED_WINDOW) == FormExStyle.CENTERED_WINDOW) { this.StartPosition = FormStartPosition.Manual; this.Location = new Point( this.Owner.Location.X + (this.Owner.Width - this.Width) / 2, @@ -38,10 +32,8 @@ protected override void OnLoad(System.EventArgs e) base.OnLoad(e); } - protected override void OnVisibleChanged(System.EventArgs e) - { - if ((m_settings & FormExStyle.CENTERED_WINDOW) == FormExStyle.CENTERED_WINDOW) - { + protected override void OnVisibleChanged(System.EventArgs e) { + if ((m_settings & FormExStyle.CENTERED_WINDOW) == FormExStyle.CENTERED_WINDOW) { this.StartPosition = FormStartPosition.Manual; this.Location = new Point( this.Owner.Location.X + (this.Owner.Width - this.Width) / 2, @@ -51,13 +43,10 @@ protected override void OnVisibleChanged(System.EventArgs e) base.OnVisibleChanged(e); } - protected override CreateParams CreateParams - { - get - { + protected override CreateParams CreateParams { + get { CreateParams myCp = base.CreateParams; - if ((m_settings & FormExStyle.IGNORE_USER_CLOSING) == FormExStyle.IGNORE_USER_CLOSING) - { + if ((m_settings & FormExStyle.IGNORE_USER_CLOSING) == FormExStyle.IGNORE_USER_CLOSING) { myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; } return myCp; diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/MessageBoxEx.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/MessageBoxEx.cs similarity index 85% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/MessageBoxEx.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/MessageBoxEx.cs index 1095718..c763aae 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/MessageBoxEx.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/MessageBoxEx.cs @@ -1,90 +1,77 @@ -namespace DfBAdminToolkit.Common.Component -{ +namespace DfBAdminToolkit.Common.Component { + using System; using System.Drawing; using System.Runtime.InteropServices; using System.Text; using System.Windows.Forms; - public class MessageBoxEx - { + public class MessageBoxEx { private static IWin32Window _owner; private static HookProc _hookProc; private static IntPtr _hHook; - public static DialogResult Show(string text) - { + public static DialogResult Show(string text) { Initialize(); return MessageBox.Show(text); } - public static DialogResult Show(string text, string caption) - { + public static DialogResult Show(string text, string caption) { Initialize(); return MessageBox.Show(text, caption); } - public static DialogResult Show(string text, string caption, MessageBoxButtons buttons) - { + public static DialogResult Show(string text, string caption, MessageBoxButtons buttons) { Initialize(); return MessageBox.Show(text, caption, buttons); } - public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) - { + public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) { Initialize(); return MessageBox.Show(text, caption, buttons, icon); } - public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton) - { + public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton) { Initialize(); return MessageBox.Show(text, caption, buttons, icon, defButton); } - public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton, MessageBoxOptions options) - { + public static DialogResult Show(string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton, MessageBoxOptions options) { Initialize(); return MessageBox.Show(text, caption, buttons, icon, defButton, options); } - public static DialogResult Show(IWin32Window owner, string text) - { + public static DialogResult Show(IWin32Window owner, string text) { _owner = owner; Initialize(); return MessageBox.Show(owner, text); } - public static DialogResult Show(IWin32Window owner, string text, string caption) - { + public static DialogResult Show(IWin32Window owner, string text, string caption) { _owner = owner; Initialize(); return MessageBox.Show(owner, text, caption); } - public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons) - { + public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons) { _owner = owner; Initialize(); return MessageBox.Show(owner, text, caption, buttons); } - public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) - { + public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon) { _owner = owner; Initialize(); return MessageBox.Show(owner, text, caption, buttons, icon); } - public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton) - { + public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton) { _owner = owner; Initialize(); return MessageBox.Show(owner, text, caption, buttons, icon, defButton); } - public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton, MessageBoxOptions options) - { + public static DialogResult Show(IWin32Window owner, string text, string caption, MessageBoxButtons buttons, MessageBoxIcon icon, MessageBoxDefaultButton defButton, MessageBoxOptions options) { _owner = owner; Initialize(); return MessageBox.Show(owner, text, caption, buttons, icon, @@ -97,8 +84,7 @@ public static DialogResult Show(IWin32Window owner, string text, string caption, public const int WH_CALLWNDPROCRET = 12; - public enum CbtHookAction : int - { + public enum CbtHookAction : int { HCBT_MOVESIZE = 0, HCBT_MINMAX = 1, HCBT_QS = 2, @@ -142,8 +128,7 @@ public enum CbtHookAction : int public static extern int EndDialog(IntPtr hDlg, IntPtr nResult); [StructLayout(LayoutKind.Sequential)] - public struct CWPRETSTRUCT - { + public struct CWPRETSTRUCT { public IntPtr lResult; public IntPtr lParam; public IntPtr wParam; @@ -151,43 +136,33 @@ public struct CWPRETSTRUCT public IntPtr hwnd; }; - static MessageBoxEx() - { + static MessageBoxEx() { _hookProc = new HookProc(MessageBoxHookProc); _hHook = IntPtr.Zero; } - private static void Initialize() - { - if (_hHook != IntPtr.Zero) - { + private static void Initialize() { + if (_hHook != IntPtr.Zero) { throw new NotSupportedException("multiple calls are not supported"); } - if (_owner != null) - { + if (_owner != null) { _hHook = SetWindowsHookEx(WH_CALLWNDPROCRET, _hookProc, IntPtr.Zero, AppDomain.GetCurrentThreadId()); } } - private static IntPtr MessageBoxHookProc(int nCode, IntPtr wParam, IntPtr lParam) - { - if (nCode < 0) - { + private static IntPtr MessageBoxHookProc(int nCode, IntPtr wParam, IntPtr lParam) { + if (nCode < 0) { return CallNextHookEx(_hHook, nCode, wParam, lParam); } CWPRETSTRUCT msg = (CWPRETSTRUCT)Marshal.PtrToStructure(lParam, typeof(CWPRETSTRUCT)); IntPtr hook = _hHook; - if (msg.message == (int)CbtHookAction.HCBT_ACTIVATE) - { - try - { + if (msg.message == (int)CbtHookAction.HCBT_ACTIVATE) { + try { CenterWindow(msg.hwnd); - } - finally - { + } finally { UnhookWindowsHookEx(_hHook); _hHook = IntPtr.Zero; } @@ -196,8 +171,7 @@ private static IntPtr MessageBoxHookProc(int nCode, IntPtr wParam, IntPtr lParam return CallNextHookEx(hook, nCode, wParam, lParam); } - private static void CenterWindow(IntPtr hChildWnd) - { + private static void CenterWindow(IntPtr hChildWnd) { Rectangle recChild = new Rectangle(0, 0, 0, 0); bool success = GetWindowRect(hChildWnd, ref recChild); diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/TextBoxEx.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/TextBoxEx.Designer.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/TextBoxEx.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/TextBoxEx.Designer.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/TextBoxEx.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/TextBoxEx.cs similarity index 69% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/TextBoxEx.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/TextBoxEx.cs index 3cbc175..efbbf82 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/TextBoxEx.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/TextBoxEx.cs @@ -1,54 +1,44 @@ -namespace DfBAdminToolkit.Common.Component -{ +namespace DfBAdminToolkit.Common.Component { + using System; using System.ComponentModel; using System.IO; using System.Windows.Forms; - public partial class TextBoxEx : TextBox - { + public partial class TextBoxEx : TextBox { private string[] _fileFilters; public event EventHandler OnDragDropEnd; public event EventHandler OnTextPasted; - public TextBoxEx() - { + public TextBoxEx() { InitializeComponent(); InitEvent(); } - public TextBoxEx(IContainer container) - { + public TextBoxEx(IContainer container) { InitializeComponent(); container.Add(this); InitEvent(); } - private void InitEvent() - { + private void InitEvent() { this.DragDrop += new DragEventHandler(TextBoxEx_DragDrop); this.DragEnter += new DragEventHandler(TextBoxEx_DragEnter); } - private void TextBoxEx_DragEnter(object sender, DragEventArgs e) - { + private void TextBoxEx_DragEnter(object sender, DragEventArgs e) { e.Effect = e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.All : DragDropEffects.None; } - protected override void WndProc(ref Message m) - { - switch (m.Msg) - { + protected override void WndProc(ref Message m) { + switch (m.Msg) { case 0x302: - if (OnTextPasted != null) - { + if (OnTextPasted != null) { string text = (string)m.GetLParam(m.GetType()); base.WndProc(ref m); OnTextPasted.Invoke(this, new EventArgs()); - } - else - { + } else { string text = (string)m.GetLParam(m.GetType()); base.WndProc(ref m); } @@ -60,24 +50,17 @@ protected override void WndProc(ref Message m) } } - private void TextBoxEx_DragDrop(object sender, DragEventArgs e) - { + private void TextBoxEx_DragDrop(object sender, DragEventArgs e) { string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); - foreach (string file in files) - { + foreach (string file in files) { bool isFile = false; - try - { + try { FileInfo fileInfo = new FileInfo(file); - if (_fileFilters.Length == 0) - { + if (_fileFilters.Length == 0) { this.Text = fileInfo.FullName; - } - else { - foreach (string filter in _fileFilters) - { - if (fileInfo.Extension.ToLower() == filter.ToLower()) - { + } else { + foreach (string filter in _fileFilters) { + if (fileInfo.Extension.ToLower() == filter.ToLower()) { this.Text = fileInfo.FullName; // for now, we only supports single file. // we can easily extend this to support multi files. @@ -86,12 +69,10 @@ private void TextBoxEx_DragDrop(object sender, DragEventArgs e) } } isFile = true; + } catch (Exception ex) { + Console.WriteLine(ex.Message); } - catch (Exception ex) - { - } - if (!isFile) - { + if (!isFile) { DirectoryInfo dirInfo = new DirectoryInfo(file); this.Text = dirInfo.FullName; } @@ -101,8 +82,7 @@ private void TextBoxEx_DragDrop(object sender, DragEventArgs e) #region Properties - public string[] FileFilter - { + public string[] FileFilter { get { return _fileFilters; } set { _fileFilters = value; } } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/Win32.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/Win32.cs similarity index 83% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Component/Win32.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/Win32.cs index ca7a61f..f47542f 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Component/Win32.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Component/Win32.cs @@ -1,12 +1,11 @@ -namespace DfBAdminToolkit.Common.Component -{ +namespace DfBAdminToolkit.Common.Component { + using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; - internal class Win32 - { + internal class Win32 { /* * GetWindow() Constants */ @@ -31,8 +30,7 @@ internal class Win32 public const int WH_CALLWNDPROC = 4; public const int GWL_WNDPROC = -4; - public Win32() - { + public Win32() { // // TODO: Add constructor logic here // @@ -78,8 +76,7 @@ public Win32() internal static extern bool GetWindowRect(IntPtr hWnd, [In, Out] ref Rectangle rect); [StructLayout(LayoutKind.Sequential)] - public struct RECT - { + public struct RECT { public int Left; public int Top; public int Right; @@ -87,8 +84,7 @@ public struct RECT } [StructLayout(LayoutKind.Sequential)] - public struct WINDOWPOS - { + public struct WINDOWPOS { public IntPtr hwnd; public IntPtr hwndAfter; public int x; @@ -99,8 +95,7 @@ public struct WINDOWPOS } [StructLayout(LayoutKind.Sequential)] - public struct NCCALCSIZE_PARAMS - { + public struct NCCALCSIZE_PARAMS { public RECT rgc; public WINDOWPOS wndpos; } @@ -108,44 +103,37 @@ public struct NCCALCSIZE_PARAMS #region SubClass Classing Handler Class - internal class SubClass : System.Windows.Forms.NativeWindow - { + internal class SubClass : System.Windows.Forms.NativeWindow { public delegate int SubClassWndProcEventHandler(ref System.Windows.Forms.Message m); public event SubClassWndProcEventHandler SubClassedWndProc; private bool IsSubClassed = false; - public SubClass(IntPtr Handle, bool _SubClass) - { + public SubClass(IntPtr Handle, bool _SubClass) { base.AssignHandle(Handle); this.IsSubClassed = _SubClass; } - public bool SubClassed - { + public bool SubClassed { get { return this.IsSubClassed; } set { this.IsSubClassed = value; } } - protected override void WndProc(ref Message m) - { - if (this.IsSubClassed) - { + protected override void WndProc(ref Message m) { + if (this.IsSubClassed) { if (OnSubClassedWndProc(ref m) != 0) return; } base.WndProc(ref m); } - public void CallDefaultWndProc(ref Message m) - { + public void CallDefaultWndProc(ref Message m) { base.WndProc(ref m); } #region HiWord Message Cracker - public int HiWord(int Number) - { + public int HiWord(int Number) { return ((Number >> 16) & 0xffff); } @@ -153,8 +141,7 @@ public int HiWord(int Number) #region LoWord Message Cracker - public int LoWord(int Number) - { + public int LoWord(int Number) { return (Number & 0xffff); } @@ -162,8 +149,7 @@ public int LoWord(int Number) #region MakeLong Message Cracker - public int MakeLong(int LoWord, int HiWord) - { + public int MakeLong(int LoWord, int HiWord) { return (HiWord << 16) | (LoWord & 0xffff); } @@ -171,17 +157,14 @@ public int MakeLong(int LoWord, int HiWord) #region MakeLParam Message Cracker - public IntPtr MakeLParam(int LoWord, int HiWord) - { + public IntPtr MakeLParam(int LoWord, int HiWord) { return (IntPtr)((HiWord << 16) | (LoWord & 0xffff)); } #endregion MakeLParam Message Cracker - private int OnSubClassedWndProc(ref Message m) - { - if (SubClassedWndProc != null) - { + private int OnSubClassedWndProc(ref Message m) { + if (SubClassedWndProc != null) { return this.SubClassedWndProc(ref m); } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/DataExchange/DataUpdatedEventArgs.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/DataExchange/DataUpdatedEventArgs.cs similarity index 50% rename from DfBAdminToolkit/DfBAdminToolkit.Common/DataExchange/DataUpdatedEventArgs.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/DataExchange/DataUpdatedEventArgs.cs index 62be72e..3bfaec3 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/DataExchange/DataUpdatedEventArgs.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/DataExchange/DataUpdatedEventArgs.cs @@ -1,29 +1,24 @@ -namespace DfBAdminToolkit.Common.DataExchange -{ +namespace DfBAdminToolkit.Common.DataExchange { + using System; public class DataUpdatedEventArgs - : EventArgs - { + : EventArgs { private object[] _data; - public object Data - { + public object Data { get { return _data[0]; } } - public object[] DataPack - { + public object[] DataPack { get { return _data; } } - public DataUpdatedEventArgs(object data) - { + public DataUpdatedEventArgs(object data) { _data = new object[] { data }; } - public DataUpdatedEventArgs(object[] data) - { + public DataUpdatedEventArgs(object[] data) { _data = data; } } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj similarity index 99% rename from DfBAdminToolkit/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj index 8ba4253..99095d6 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj @@ -89,6 +89,7 @@ <Compile Include="Utils\MessageBoxUtil.cs" /> <Compile Include="Utils\RegistryUtils.cs" /> <Compile Include="Utils\SimpleResolver.cs" /> + <Compile Include="Utils\TimerUtils.cs" /> </ItemGroup> <ItemGroup> <None Include="packages.config" /> diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj.vspscc b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj.vspscc similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj.vspscc rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/DfBAdminToolkit.Common.csproj.vspscc diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs similarity index 90% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs index ba77462..19a5ab2 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs @@ -8,7 +8,7 @@ [assembly: AssemblyTitle("DfBAdminToolkit.Common")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] +[assembly: AssemblyCompany("Dropbox Enterprise Services")] [assembly: AssemblyProduct("DfBAdminToolkit.Common")] [assembly: AssemblyCopyright("Copyright © 2016")] [assembly: AssemblyTrademark("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyFileVersion("2.0.0.0")] diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/DataResponse.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/DataResponse.cs similarity index 69% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Services/DataResponse.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/DataResponse.cs index cb2af1c..da5a565 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/DataResponse.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/DataResponse.cs @@ -1,13 +1,12 @@ -namespace DfBAdminToolkit.Common.Services -{ +namespace DfBAdminToolkit.Common.Services { + using System.Net; public class DataResponse - : IDataResponse - { + : IDataResponse { + public DataResponse( - HttpStatusCode code, string msg, object data) - { + HttpStatusCode code, string msg, object data) { StatusCode = code; Message = msg; Data = data; diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IData.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IData.cs new file mode 100644 index 0000000..3c6a24a --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IData.cs @@ -0,0 +1,4 @@ +namespace DfBAdminToolkit.Common.Services { + public interface IData { + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IDataResponse.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IDataResponse.cs new file mode 100644 index 0000000..4ee6c06 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IDataResponse.cs @@ -0,0 +1,6 @@ +namespace DfBAdminToolkit.Common.Services { + public interface IDataResponse + : IServiceResponse { + object Data { get; set; } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IMemberData.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IMemberData.cs similarity index 77% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Services/IMemberData.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IMemberData.cs index 3e49f6e..c447ed2 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IMemberData.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IMemberData.cs @@ -1,8 +1,7 @@ -namespace DfBAdminToolkit.Common.Services -{ +namespace DfBAdminToolkit.Common.Services { public interface IMemberData - : IData - { + : IData { + #region Provision string Email { get; set; } @@ -40,5 +39,13 @@ public interface IMemberData string FileName { get; set; } #endregion Dump related + + #region Device related + + string SessionId { get; set; } + + string ClientType { get; set; } + + #endregion Device related } } \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IMemberServices.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IMemberServices.cs similarity index 57% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Services/IMemberServices.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IMemberServices.cs index cb031fb..d3dad3a 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IMemberServices.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IMemberServices.cs @@ -1,23 +1,32 @@ -namespace DfBAdminToolkit.Common.Services -{ - public interface IMemberServices - { +namespace DfBAdminToolkit.Common.Services { + public interface IMemberServices { + #region Endpoint urls string AddMemberUrl { get; set; } + string RemoveMemberUrl { get; set; } + string ListMembersUrl { get; set; } + string ListMembersContinuationUrl { get; set; } + string SearchFilesUrl { get; set; } string ListFolderUrl { get; set; } string FileDumpUrl { get; set; } + string GetDevicesUrl { get; set; } + + string DumpDevicesUrl { get; set; } + #endregion Endpoint urls IServiceResponse AddMember(IMemberData data, string authToken); + IServiceResponse RemoveMember(IMemberData data, string authToken); + IDataResponse ListMembers(IMemberData data, string authToken); IDataResponse SearchFiles(IMemberData data, string authToken); @@ -25,5 +34,9 @@ public interface IMemberServices IDataResponse ListFolders(IMemberData data, string authToken); IDataResponse DumpFile(IMemberData data, string outputFolder, string authToken); + + IDataResponse FindDevices(IMemberData data, string authToken); + + IDataResponse DumpDevices(IMemberData data, string authToken); } } \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IServiceResponse.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IServiceResponse.cs similarity index 56% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Services/IServiceResponse.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IServiceResponse.cs index ec067dc..29675e6 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IServiceResponse.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/IServiceResponse.cs @@ -1,9 +1,8 @@ -namespace DfBAdminToolkit.Common.Services -{ +namespace DfBAdminToolkit.Common.Services { + using System.Net; - public interface IServiceResponse - { + public interface IServiceResponse { HttpStatusCode StatusCode { get; set; } string Message { get; set; } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/MemberData.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/MemberData.cs similarity index 77% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Services/MemberData.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/MemberData.cs index 68f5912..4a020bd 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/MemberData.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/MemberData.cs @@ -1,8 +1,8 @@ -namespace DfBAdminToolkit.Common.Services -{ +namespace DfBAdminToolkit.Common.Services { + public class MemberData - : IMemberData - { + : IMemberData { + #region Provision public string Email { get; set; } @@ -41,8 +41,15 @@ public class MemberData #endregion Dump related - public MemberData() - { + #region Device related + + public string SessionId { get; set; } + + public string ClientType { get; set; } + + #endregion Device related + + public MemberData() { SendWelcomeEmail = false; RoleName = "member_only"; } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/MemberServices.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/MemberServices.cs similarity index 56% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Services/MemberServices.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/MemberServices.cs index 0254cf5..90b8f0e 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/MemberServices.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/MemberServices.cs @@ -1,5 +1,5 @@ -namespace DfBAdminToolkit.Common.Services -{ +namespace DfBAdminToolkit.Common.Services { + using Newtonsoft.Json.Linq; using RestSharp; using System; @@ -7,13 +7,14 @@ using System.Net; public class MemberServices - : IMemberServices - { + : IMemberServices { private readonly string _baseUrl; private readonly string _apiVersion; public string AddMemberUrl { get; set; } + public string RemoveMemberUrl { get; set; } + public string ListMembersUrl { get; set; } public string ListMembersContinuationUrl { get; set; } @@ -24,21 +25,21 @@ public class MemberServices public string FileDumpUrl { get; set; } + public string GetDevicesUrl { get; set; } + + public string DumpDevicesUrl { get; set; } + public MemberServices( string baseUrl, - string apiVersion) - { + string apiVersion) { _baseUrl = baseUrl; _apiVersion = apiVersion; } - public IServiceResponse AddMember(IMemberData data, string authToken) - { + public IServiceResponse AddMember(IMemberData data, string authToken) { IServiceResponse serviceResponse = null; - try - { - if (!string.IsNullOrEmpty(AddMemberUrl)) - { + try { + if (!string.IsNullOrEmpty(AddMemberUrl)) { RestClient client = new RestClient( string.Format("{0}/{1}/", _baseUrl, _apiVersion) ); @@ -69,27 +70,55 @@ public IServiceResponse AddMember(IMemberData data, string authToken) request.RequestFormat = DataFormat.Json; IRestResponse response = client.Execute(request); serviceResponse = new ServiceResponse(response.StatusCode, response.ErrorMessage); - } - else - { + } else { throw new ArgumentNullException("Missing service url"); } + } catch (Exception e) { + serviceResponse = new ServiceResponse(HttpStatusCode.InternalServerError, e.Message); } - catch (Exception e) - { + + return serviceResponse; + } + + public IServiceResponse RemoveMember(IMemberData data, string authToken) { + IServiceResponse serviceResponse = null; + try { + if (!string.IsNullOrEmpty(RemoveMemberUrl)) { + RestClient client = new RestClient( + string.Format("{0}/{1}/", _baseUrl, _apiVersion) + ); + RestRequest request = new RestRequest(RemoveMemberUrl, Method.POST); + request.AddHeader("Authorization", "Bearer " + authToken); + request.AddHeader("Content-Type", "application/json"); + + JObject jsonProv = new JObject( + new JProperty("user", + new JObject( + new JProperty(".tag", "email"), + new JProperty("email", data.Email) + ) + ), + new JProperty("wipe_data", true) + ); + + request.AddParameter("application/json", jsonProv, ParameterType.RequestBody); + request.RequestFormat = DataFormat.Json; + IRestResponse response = client.Execute(request); + serviceResponse = new ServiceResponse(response.StatusCode, response.ErrorMessage); + } else { + throw new ArgumentNullException("Missing service url"); + } + } catch (Exception e) { serviceResponse = new ServiceResponse(HttpStatusCode.InternalServerError, e.Message); } return serviceResponse; } - public IDataResponse ListMembers(IMemberData data, string authToken) - { + public IDataResponse ListMembers(IMemberData data, string authToken) { IDataResponse dataResponse = null; - try - { - if (!string.IsNullOrEmpty(ListMembersUrl)) - { + try { + if (!string.IsNullOrEmpty(ListMembersUrl)) { RestClient client = new RestClient( string.Format("{0}/{1}/", _baseUrl, _apiVersion) ); @@ -104,26 +133,19 @@ public IDataResponse ListMembers(IMemberData data, string authToken) request.RequestFormat = DataFormat.Json; IRestResponse response = client.Execute(request); dataResponse = new DataResponse(response.StatusCode, response.ErrorMessage, response.Content); - } - else - { + } else { throw new ArgumentNullException("Missing service url"); } - } - catch (Exception e) - { + } catch (Exception e) { dataResponse = new DataResponse(HttpStatusCode.InternalServerError, e.Message, null); } return dataResponse; } - public IDataResponse ListMembersContinuation(IMemberData data, string authToken) - { + public IDataResponse ListMembersContinuation(IMemberData data, string authToken) { IDataResponse dataResponse = null; - try - { - if (!string.IsNullOrEmpty(ListMembersContinuationUrl)) - { + try { + if (!string.IsNullOrEmpty(ListMembersContinuationUrl)) { RestClient client = new RestClient( string.Format("{0}/{1}/", _baseUrl, _apiVersion) ); @@ -138,26 +160,19 @@ public IDataResponse ListMembersContinuation(IMemberData data, string authToken) request.RequestFormat = DataFormat.Json; IRestResponse response = client.Execute(request); dataResponse = new DataResponse(response.StatusCode, response.ErrorMessage, response.Content); - } - else - { + } else { throw new ArgumentNullException("Missing service url"); } - } - catch (Exception e) - { + } catch (Exception e) { dataResponse = new DataResponse(HttpStatusCode.InternalServerError, e.Message, null); } return dataResponse; } - public IDataResponse ListFolders(IMemberData data, string authToken) - { + public IDataResponse ListFolders(IMemberData data, string authToken) { IDataResponse dataResponse = null; - try - { - if (!string.IsNullOrEmpty(ListFolderUrl)) - { + try { + if (!string.IsNullOrEmpty(ListFolderUrl)) { RestClient client = new RestClient( string.Format("{0}/{1}/", _baseUrl, _apiVersion) ); @@ -178,21 +193,48 @@ public IDataResponse ListFolders(IMemberData data, string authToken) IRestResponse response = client.Execute(request); dataResponse = new DataResponse(response.StatusCode, response.ErrorMessage, response.Content); } + } catch (Exception e) { + dataResponse = new DataResponse(HttpStatusCode.InternalServerError, e.Message, null); } - catch (Exception e) - { + return dataResponse; + } + + public IDataResponse SearchFiles(IMemberData data, string authToken) { + IDataResponse dataResponse = null; + try { + if (!string.IsNullOrEmpty(SearchFilesUrl)) { + RestClient client = new RestClient( + string.Format("{0}/{1}/", _baseUrl, _apiVersion) + ); + RestRequest request = new RestRequest(SearchFilesUrl, Method.POST); + //add headers + request.AddHeader("Authorization", "Bearer " + authToken); + request.AddHeader("Content-Type", "application/json"); + request.AddHeader("Dropbox-API-Select-User", data.MemberId); + + //set up properties for JSON to the API + JObject jsonSearch = new JObject( + new JProperty("path", ""), + new JProperty("query", data.SearchText), + new JProperty("max_results", data.SearchLimit), + new JProperty("mode", data.SearchMode) + ); + request.AddParameter("application/json", jsonSearch, ParameterType.RequestBody); + IRestResponse response = client.Execute(request); + dataResponse = new DataResponse(response.StatusCode, response.ErrorMessage, response.Content); + } else { + throw new ArgumentNullException("Missing service url"); + } + } catch (Exception e) { dataResponse = new DataResponse(HttpStatusCode.InternalServerError, e.Message, null); } return dataResponse; } - public IDataResponse DumpFile(IMemberData data, string outputFolder, string authToken) - { + public IDataResponse DumpFile(IMemberData data, string outputFolder, string authToken) { IDataResponse dataResponse = null; - try - { - if (!string.IsNullOrEmpty(FileDumpUrl)) - { + try { + if (!string.IsNullOrEmpty(FileDumpUrl)) { string pathString = string.Concat(@"{""path"":""", data.Path, @"""}"); string url = string.Format("{0}/{1}/", _baseUrl, _apiVersion); RestClient client = new RestClient(url); @@ -207,7 +249,7 @@ public IDataResponse DumpFile(IMemberData data, string outputFolder, string auth byte[] jsonResponseDump = client.DownloadData(request); //get the Dropbox folder structure so we can recreate correct folder structure locally under user folder below - String dbdirName = Path.GetDirectoryName(data.Path); + String dbdirName = Path.GetDirectoryName(data.Path); dbdirName = dbdirName.Remove(0, 1); // create folder if doesn't exists. @@ -216,62 +258,112 @@ public IDataResponse DumpFile(IMemberData data, string outputFolder, string auth string folderName = data.Email.Substring(0, index); //combine Dropbox subdirectory to email username - if (!string.IsNullOrEmpty(dbdirName)) - { + if (!string.IsNullOrEmpty(dbdirName)) { folderName = folderName + "\\" + dbdirName; } string fullOutputFolder = Path.Combine(outputFolder, folderName); - if (!Directory.Exists(fullOutputFolder)) - { + if (!Directory.Exists(fullOutputFolder)) { Directory.CreateDirectory(fullOutputFolder); } string outputPath = Path.Combine(fullOutputFolder, data.FileName); File.WriteAllBytes(outputPath, jsonResponseDump); } + } catch (Exception e) { + dataResponse = new DataResponse(HttpStatusCode.InternalServerError, e.Message, null); } - catch (Exception e) - { + return dataResponse; + } + + public IDataResponse FindDevices(IMemberData data, string authToken) { + IDataResponse dataResponse = null; + try { + if (!string.IsNullOrEmpty(GetDevicesUrl)) { + string url = string.Format("{0}/{1}/", _baseUrl, _apiVersion); + RestClient client = new RestClient(url); + RestRequest request = new RestRequest(GetDevicesUrl, Method.POST); + + //add headers, include user authentication we pass in with admin privileges + request.AddHeader("Authorization", "Bearer " + authToken); + request.AddHeader("Content-Type", "application/json"); + + if (String.IsNullOrEmpty(data.Cursor)) { + //set up properties for JSON to the API + JObject jsonSearch = new JObject( + new JProperty("include_web_sessions", true), + new JProperty("include_desktop_clients", true), + new JProperty("include_mobile_clients", true) + ); + request.AddParameter("application/json", jsonSearch, ParameterType.RequestBody); + } + if (!String.IsNullOrEmpty(data.Cursor)) { + //set up properties for JSON to the API with cursor for continuation + JObject jsonSearch = new JObject( + new JProperty("cursor", data.Cursor), + new JProperty("include_web_sessions", true), + new JProperty("include_desktop_clients", true), + new JProperty("include_mobile_clients", true) + ); + request.AddParameter("application/json", jsonSearch, ParameterType.RequestBody); + } + + IRestResponse response = client.Execute(request); + dataResponse = new DataResponse(response.StatusCode, response.ErrorMessage, response.Content); + } + } catch (Exception e) { dataResponse = new DataResponse(HttpStatusCode.InternalServerError, e.Message, null); } return dataResponse; } - public IDataResponse SearchFiles(IMemberData data, string authToken) - { + //NOT COMPLETE + public IDataResponse DumpDevices(IMemberData data, string authToken) { IDataResponse dataResponse = null; - try - { - if (!string.IsNullOrEmpty(SearchFilesUrl)) - { - RestClient client = new RestClient( - string.Format("{0}/{1}/", _baseUrl, _apiVersion) - ); - RestRequest request = new RestRequest(SearchFilesUrl, Method.POST); - //add headers + try { + if (!string.IsNullOrEmpty(DumpDevicesUrl)) { + string url = string.Format("{0}/{1}/", _baseUrl, _apiVersion); + RestClient client = new RestClient(url); + RestRequest request = new RestRequest(DumpDevicesUrl, Method.POST); + + //add headers, include user authentication we pass in with admin privileges request.AddHeader("Authorization", "Bearer " + authToken); request.AddHeader("Content-Type", "application/json"); - request.AddHeader("Dropbox-API-Select-User", data.MemberId); + string ClientType = data.ClientType; + string ClientTypeAPI = string.Empty; + if (ClientType == "Desktop") { + ClientTypeAPI = "desktop_client"; + } + if (ClientType == "Web") { + ClientTypeAPI = "web_session"; + } + if (ClientType == "Mobile") { + ClientTypeAPI = "mobile_client"; + } //set up properties for JSON to the API - JObject jsonSearch = new JObject( - new JProperty("path", ""), - new JProperty("query", data.SearchText), - new JProperty("max_results", data.SearchLimit), - new JProperty("mode", data.SearchMode) - ); - request.AddParameter("application/json", jsonSearch, ParameterType.RequestBody); + //if desktop client, do a delete_on_unlink set to true to delete all files of account + if (ClientTypeAPI == "desktop_client") { + JObject jsonSearch = new JObject( + new JProperty(".tag", ClientTypeAPI), + new JProperty("session_id", data.SessionId), + new JProperty("team_member_id", data.MemberId), + new JProperty("delete_on_unlink", true) + ); + request.AddParameter("application/json", jsonSearch, ParameterType.RequestBody); + } + if (ClientTypeAPI == "web_session" || ClientTypeAPI == "mobile_client") { + JObject jsonSearch = new JObject( + new JProperty(".tag", ClientTypeAPI), + new JProperty("session_id", data.SessionId), + new JProperty("team_member_id", data.MemberId) + ); + request.AddParameter("application/json", jsonSearch, ParameterType.RequestBody); + } IRestResponse response = client.Execute(request); dataResponse = new DataResponse(response.StatusCode, response.ErrorMessage, response.Content); } - else - { - throw new ArgumentNullException("Missing service url"); - } - } - catch (Exception e) - { + } catch (Exception e) { dataResponse = new DataResponse(HttpStatusCode.InternalServerError, e.Message, null); } return dataResponse; diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/ServiceResponse.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/ServiceResponse.cs similarity index 66% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Services/ServiceResponse.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/ServiceResponse.cs index c156c0c..a8bcddd 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/ServiceResponse.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Services/ServiceResponse.cs @@ -1,13 +1,12 @@ -namespace DfBAdminToolkit.Common.Services -{ +namespace DfBAdminToolkit.Common.Services { + using System.Net; public class ServiceResponse - : IServiceResponse - { + : IServiceResponse { + public ServiceResponse( - HttpStatusCode code, string msg) - { + HttpStatusCode code, string msg) { StatusCode = code; Message = msg; } diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/FileUtil.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/FileUtil.cs similarity index 81% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Utils/FileUtil.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/FileUtil.cs index f288762..ff8ba28 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/FileUtil.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/FileUtil.cs @@ -1,20 +1,17 @@ using System.Configuration; -using System.Reflection; using System.Linq; +using System.Reflection; + +namespace DfBAdminToolkit.Common.Utils { + + public static class FileUtil { -namespace DfBAdminToolkit.Common.Utils -{ - public static class FileUtil - { - public static string FormatFileSize(long size) - { + public static string FormatFileSize(long size) { int[] limits = new int[] { 1024 * 1024 * 1024, 1024 * 1024, 1024 }; string[] units = new string[] { "GB", "MB", "KB" }; - for (int i = 0; i < limits.Length; i++) - { - if (size >= limits[i]) - { + for (int i = 0; i < limits.Length; i++) { + if (size >= limits[i]) { return string.Format("{0:#,##0.##} " + units[i], ((double)size / limits[i])); } } @@ -22,20 +19,17 @@ public static string FormatFileSize(long size) return string.Format("{0} bytes", size); } - public static void EncryptAppSettings(string section) - { + public static void EncryptAppSettings(string section) { Configuration objConfig = ConfigurationManager.OpenExeConfiguration(GetAppPath() + "DfBAdminToolkit.exe"); AppSettingsSection objAppsettings = (AppSettingsSection)objConfig.GetSection(section); - if (!objAppsettings.SectionInformation.IsProtected) - { + if (!objAppsettings.SectionInformation.IsProtected) { objAppsettings.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider"); objAppsettings.SectionInformation.ForceSave = true; objConfig.Save(ConfigurationSaveMode.Modified); } } - public static string GetAppPath() - { + public static string GetAppPath() { System.Reflection.Module[] modules = System.Reflection.Assembly.GetExecutingAssembly().GetModules(); string location = System.IO.Path.GetDirectoryName(modules[0].FullyQualifiedName); if ((location != "") && (location[location.Length - 1] != '\\')) @@ -43,29 +37,25 @@ public static string GetAppPath() return location; } - public static void UpdateKey(string keyName, string newValue) - { + public static void UpdateKey(string keyName, string newValue) { Configuration config = ConfigurationManager.OpenExeConfiguration(GetAppPath() + "DfBAdminToolkit.exe"); config.AppSettings.Settings[keyName].Value = newValue; config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name); } - public static bool TokenCheck() - { + public static bool TokenCheck() { bool result = true; string newValue = ""; Configuration config = ConfigurationManager.OpenExeConfiguration(GetAppPath() + "DfBAdminToolkit.exe"); newValue = config.AppSettings.Settings["DefaultAccessToken"].Value; - if (newValue.StartsWith("ENTER")) - { + if (newValue.StartsWith("ENTER")) { result = false; } return result; } - public static void ResetConfigMechanism() - { + public static void ResetConfigMechanism() { typeof(ConfigurationManager) .GetField("s_initState", BindingFlags.NonPublic | BindingFlags.Static) diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/MessageBoxUtil.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/MessageBoxUtil.cs similarity index 83% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Utils/MessageBoxUtil.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/MessageBoxUtil.cs index 4b8b1e0..99a654a 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/MessageBoxUtil.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/MessageBoxUtil.cs @@ -1,14 +1,13 @@ -namespace DfBAdminToolkit.Common.Utils -{ +namespace DfBAdminToolkit.Common.Utils { + using DfBAdminToolkit.Common.Component; using System.Windows.Forms; - public static class MessageBoxUtil - { + public static class MessageBoxUtil { + public static void ShowInfo( IWin32Window owner, - string msg) - { + string msg) { MessageBoxEx.Show( owner, msg, @@ -20,8 +19,7 @@ public static void ShowInfo( public static DialogResult ShowConfirm( IWin32Window owner, - string msg) - { + string msg) { return MessageBoxEx.Show(owner, msg, "Please Confirm", @@ -35,8 +33,7 @@ public static DialogResult ShowConfirm( /// </summary> /// <param name="owner"></param> /// <param name="msg"></param> - public static void ShowError(IWin32Window owner, string msg, string title = "Critical Error") - { + public static void ShowError(IWin32Window owner, string msg, string title = "Critical Error") { MessageBoxEx.Show(owner, msg, title, diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/RegistryUtils.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/RegistryUtils.cs similarity index 65% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Utils/RegistryUtils.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/RegistryUtils.cs index 6cc6bce..a9a396d 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/RegistryUtils.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/RegistryUtils.cs @@ -1,34 +1,28 @@ -namespace DfBAdminToolkit.Common.Utils -{ +namespace DfBAdminToolkit.Common.Utils { + using Microsoft.Win32; - public static class RegistryUtils - { - public static RegistryKey CreateKey(string registryEntry) - { + public static class RegistryUtils { + + public static RegistryKey CreateKey(string registryEntry) { return Registry.CurrentUser.CreateSubKey(@registryEntry); } - public static RegistryKey FindKey(string lookupKey) - { + public static RegistryKey FindKey(string lookupKey) { RegistryKey key = Registry.CurrentUser.OpenSubKey(@lookupKey); return key; } - public static void SetKeyValue(RegistryKey key, string keyParam, string valueParam) - { - if (key != null && !string.IsNullOrEmpty(keyParam)) - { + public static void SetKeyValue(RegistryKey key, string keyParam, string valueParam) { + if (key != null && !string.IsNullOrEmpty(keyParam)) { key.SetValue(keyParam, valueParam); key.Close(); } } - public static string GetKeyValue(RegistryKey key, string keyParam) - { + public static string GetKeyValue(RegistryKey key, string keyParam) { string value = null; - if (key != null) - { + if (key != null) { value = key.GetValue(keyParam).ToString(); } return value; diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/SimpleResolver.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/SimpleResolver.cs similarity index 73% rename from DfBAdminToolkit/DfBAdminToolkit.Common/Utils/SimpleResolver.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/SimpleResolver.cs index d76956a..702c73c 100644 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Utils/SimpleResolver.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/SimpleResolver.cs @@ -1,35 +1,28 @@ -namespace DfBAdminToolkit.Common.Utils -{ +namespace DfBAdminToolkit.Common.Utils { + using System; using System.Collections.Generic; - public class SimpleResolver - { + public class SimpleResolver { public static readonly SimpleResolver Instance = new SimpleResolver(); private readonly Dictionary<Type, Type> _container; private readonly Dictionary<Type, object> _singleton; private static readonly object _lock = new object(); - private SimpleResolver() - { + private SimpleResolver() { _container = new Dictionary<Type, Type>(); _singleton = new Dictionary<Type, object>(); } - public void Bind<ContractType>(Type implementer) - { - lock (_lock) - { + public void Bind<ContractType>(Type implementer) { + lock (_lock) { _container.Add(typeof(ContractType), implementer); } } - public ContractType Get<ContractType>(params object[] args) - { - lock (_lock) - { - if (!_singleton.ContainsKey(typeof(ContractType))) - { + public ContractType Get<ContractType>(params object[] args) { + lock (_lock) { + if (!_singleton.ContainsKey(typeof(ContractType))) { ContractType obj = (ContractType)Activator.CreateInstance(_container[typeof(ContractType)], args); _singleton.Add(typeof(ContractType), obj); } @@ -37,10 +30,8 @@ public ContractType Get<ContractType>(params object[] args) } } - public void Dispose() - { - lock (_lock) - { + public void Dispose() { + lock (_lock) { _singleton.Clear(); _container.Clear(); } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/TimerUtils.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/TimerUtils.cs new file mode 100644 index 0000000..857391b --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/Utils/TimerUtils.cs @@ -0,0 +1,37 @@ +namespace DfBAdminToolkit.Common.Utils { + + using System; + + public class TimerUtils { + private long _startTick; + private long _endTick; + private volatile bool _started; + + public TimerUtils() { + _startTick = 0; + _endTick = 0; + _started = false; + } + + public void Start() { + if (!_started) { + _started = true; + _startTick = DateTime.Now.Ticks; + } + } + + public TimeSpan Stop() { + long diff = 0; + if (_started) { + _endTick = DateTime.Now.Ticks; + diff = _endTick - _startTick; + _started = false; + } + return TimeSpan.FromTicks(diff); + } + + public static string ToTimeStamp(TimeSpan span) { + return span.ToString("c"); + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/DfBAdminToolkit.Common.dll b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/DfBAdminToolkit.Common.dll new file mode 100644 index 0000000..146b8f0 Binary files /dev/null and b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/DfBAdminToolkit.Common.dll differ diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/DfBAdminToolkit.Common.pdb b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/DfBAdminToolkit.Common.pdb new file mode 100644 index 0000000..2225f5c Binary files /dev/null and b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/DfBAdminToolkit.Common.pdb differ diff --git a/DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/Newtonsoft.Json.dll similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/Newtonsoft.Json.dll rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/Newtonsoft.Json.dll diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.xml b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/Newtonsoft.Json.xml similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.xml rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/Newtonsoft.Json.xml diff --git a/DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/RestSharp.dll b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/RestSharp.dll rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/bin/Debug/RestSharp.xml diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..1ea718d Binary files /dev/null and b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..ebdd22f Binary files /dev/null and b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.csproj.FileListAbsolute.txt b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..eedd9a5 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.csproj.FileListAbsolute.txt @@ -0,0 +1,9 @@ +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\bin\Debug\DfBAdminToolkit.Common.dll +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\bin\Debug\DfBAdminToolkit.Common.pdb +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\bin\Debug\Newtonsoft.Json.dll +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\bin\Debug\RestSharp.dll +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\bin\Debug\Newtonsoft.Json.xml +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\bin\Debug\RestSharp.xml +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\obj\Debug\DfBAdminToolkit.Common.csprojResolveAssemblyReference.cache +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\obj\Debug\DfBAdminToolkit.Common.dll +C:\Users\jackb\Documents\Visual Studio 2015\Projects\DfBAdminToolkit-v2\DfBAdminToolkit.Common\obj\Debug\DfBAdminToolkit.Common.pdb diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.csprojResolveAssemblyReference.cache b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.csprojResolveAssemblyReference.cache new file mode 100644 index 0000000..e630841 Binary files /dev/null and b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.csprojResolveAssemblyReference.cache differ diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.dll b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.dll new file mode 100644 index 0000000..146b8f0 Binary files /dev/null and b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.dll differ diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.pdb b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.pdb new file mode 100644 index 0000000..2225f5c Binary files /dev/null and b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/DfBAdminToolkit.Common.pdb differ diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/packages.config b/DfBAdminToolkit-v2/DfBAdminToolkit.Common/packages.config similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.Common/packages.config rename to DfBAdminToolkit-v2/DfBAdminToolkit.Common/packages.config diff --git a/DfBAdminToolkit/DfBAdminToolkit.sln b/DfBAdminToolkit-v2/DfBAdminToolkit.sln similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit.sln rename to DfBAdminToolkit-v2/DfBAdminToolkit.sln diff --git a/DfBAdminToolkit/DfBAdminToolkit/App.config b/DfBAdminToolkit-v2/DfBAdminToolkit/App.config similarity index 90% rename from DfBAdminToolkit/DfBAdminToolkit/App.config rename to DfBAdminToolkit-v2/DfBAdminToolkit/App.config index abecef1..45e4d0d 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/App.config +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/App.config @@ -8,6 +8,7 @@ <add key="BaseUrl" value="https://api.dropboxapi.com" /> <add key="ContentUrl" value="https://content.dropboxapi.com" /> <add key="ApiVersion" value="2" /> + <!-- API Actions & params --> <add key="ActionListMembers" value="team/members/list" /> <add key="ActionListMembersContinuation" value="team/members/list/continue" /> @@ -17,12 +18,18 @@ <add key="ActionListFolder" value="files/list_folder" /> <add key="ActionFilesDownload" value="files/download" /> <add key="ActionAddMember" value="team/members/add" /> + <add key="ActionRemoveMember" value="team/members/remove" /> + <add key="ActionListTeamDevices" value="team/devices/list_team_devices" /> + <add key="ActionDumpDevices" value="team/devices/revoke_device_session" /> + <!-- registry handling --> <add key="RegistryEntryPoint" value="SOFTWARE\Dropbox Business Toolkit" /> <add key="RegistryKey" value="Accepted" /> + <!-- default credentials--> <add key="DefaultAccessToken" value="ENTER TEAM MEMBER FILE ACCESS TOKEN HERE" /> <add key="DefaultProvisionToken" value="ENTER TEAM MEMBER MANAGEMENT TOKEN HERE" /> + <add key="ClientSettingsProvider.ServiceUri" value="" /> </appSettings> <system.web> diff --git a/DfBAdminToolkit/DfBAdminToolkit/ApplicationResource.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/ApplicationResource.cs similarity index 53% rename from DfBAdminToolkit/DfBAdminToolkit/ApplicationResource.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/ApplicationResource.cs index 7754e8c..ded0428 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/ApplicationResource.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/ApplicationResource.cs @@ -1,93 +1,91 @@ -namespace DfBAdminToolkit -{ +namespace DfBAdminToolkit { + using System.Configuration; - public static class ApplicationResource - { - public static string BaseUrl - { - + public static class ApplicationResource { + + public static string BaseUrl { get { return ConfigurationManager.AppSettings.Get("BaseUrl"); } } - public static string ContentUrl - { + public static string ContentUrl { get { return ConfigurationManager.AppSettings.Get("ContentUrl"); } } - public static string ApiVersion - { + public static string ApiVersion { get { return ConfigurationManager.AppSettings.Get("ApiVersion"); } } - public static string ActionListMembers - { + public static string ActionListMembers { get { return ConfigurationManager.AppSettings.Get("ActionListMembers"); } } - public static string ActionListMembersContinuation - { + public static string ActionListMembersContinuation { get { return ConfigurationManager.AppSettings.Get("ActionListMembersContinuation"); } } - public static string ActionFileSearch - { + public static string ActionFileSearch { get { return ConfigurationManager.AppSettings.Get("ActionFileSearch"); } } - public static string ActionListFolder - { + public static string ActionListFolder { get { return ConfigurationManager.AppSettings.Get("ActionListFolder"); } } - public static string ActionFilesDownload - { + public static string ActionFilesDownload { get { return ConfigurationManager.AppSettings.Get("ActionFilesDownload"); } } - public static string ActionAddMember - { + public static string ActionAddMember { get { return ConfigurationManager.AppSettings.Get("ActionAddMember"); } } - public static int SearchDefaultLimit - { - get - { + public static string ActionRemoveMember { + get { return ConfigurationManager.AppSettings.Get("ActionRemoveMember"); } + } + + public static string ActionListTeamDevices { + get { return ConfigurationManager.AppSettings.Get("ActionListTeamDevices"); } + } + + public static string ActionDumpDevices { + get { return ConfigurationManager.AppSettings.Get("ActionDumpDevices"); } + } + + public static int SearchDefaultLimit { + get { int limit = 1000; int.TryParse(ConfigurationManager.AppSettings.Get("SearchDefaultLimit"), out limit); return limit; } } - public static int SearchFileCountLimit - { - get - { + public static int SearchFileCountLimit { + get { int limit = 65536; int.TryParse(ConfigurationManager.AppSettings.Get("SearchFileCountLimit"), out limit); return limit; } } - public static string RegistryEntryPoint - { + public static string RegistryEntryPoint { get { return ConfigurationManager.AppSettings.Get("RegistryEntryPoint"); } } - public static string RegistryKey - { + public static string RegistryKey { get { return ConfigurationManager.AppSettings.Get("RegistryKey"); } } - public static string DefaultAccessToken - { + public static string DefaultAccessToken { get { return ConfigurationManager.AppSettings.Get("DefaultAccessToken"); } } - public static string DefaultProvisionToken - { + public static string DefaultProvisionToken { get { return ConfigurationManager.AppSettings.Get("DefaultProvisionToken"); } } + + public static string DefaultOutputReportFilePrefix { + get { return ConfigurationManager.AppSettings.Get("DefaultOutputReportFilePrefix"); } + } } } \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/DfBAdminToolkit.csproj b/DfBAdminToolkit-v2/DfBAdminToolkit/DfBAdminToolkit.csproj similarity index 86% rename from DfBAdminToolkit/DfBAdminToolkit/DfBAdminToolkit.csproj rename to DfBAdminToolkit-v2/DfBAdminToolkit/DfBAdminToolkit.csproj index e248505..c27e6eb 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/DfBAdminToolkit.csproj +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/DfBAdminToolkit.csproj @@ -92,24 +92,38 @@ <ItemGroup> <Compile Include="ApplicationResource.cs" /> <Compile Include="ErrorMessages.cs" /> + <Compile Include="Model\ContentDisplayListViewItemModel.cs" /> + <Compile Include="Model\DataMigrationModel.cs" /> + <Compile Include="Model\DataMigrationHeaderRecord.cs" /> + <Compile Include="Model\DeviceListViewItemModel.cs" /> + <Compile Include="Model\DevicesModel.cs" /> <Compile Include="Model\DumpUserContentModel.cs" /> <Compile Include="Model\FileListViewItemModel.cs" /> + <Compile Include="Model\IDataMigrationModel.cs" /> + <Compile Include="Model\IDevicesModel.cs" /> <Compile Include="Model\IDumpUserContentModel.cs" /> <Compile Include="Model\ILegalModel.cs" /> <Compile Include="Model\IMainModel.cs" /> <Compile Include="Model\IModel.cs" /> <Compile Include="Model\IProvisioningModel.cs" /> + <Compile Include="Model\ISettingsModel.cs" /> <Compile Include="Model\ITextSearchModel.cs" /> <Compile Include="Model\LegalModel.cs" /> <Compile Include="Model\MainModel.cs" /> <Compile Include="Model\MemberListViewItemModel.cs" /> <Compile Include="Model\ProvisioningModel.cs" /> + <Compile Include="Model\SettingsModel.cs" /> <Compile Include="Model\TeamListViewItemModel.cs" /> <Compile Include="Model\TextSearchModel.cs" /> + <Compile Include="Presenter\DataMigrationPresenter.cs" /> + <Compile Include="Presenter\DevicesPresenter.cs" /> <Compile Include="Presenter\DumpUserContentPresenter.cs" /> + <Compile Include="Presenter\IDataMigrationPresenter.cs" /> + <Compile Include="Presenter\IDevicesPresenter.cs" /> <Compile Include="Presenter\IDumpUserContentPresenter.cs" /> <Compile Include="Presenter\ILegalPresenter.cs" /> <Compile Include="Presenter\IProvisioningPresenter.cs" /> + <Compile Include="Presenter\ISettingsPresenter.cs" /> <Compile Include="Presenter\ITextSearchPresenter.cs" /> <Compile Include="Presenter\LegalPresenter.cs" /> <Compile Include="Presenter\IMainPresenter.cs" /> @@ -117,16 +131,32 @@ <Compile Include="Presenter\MainPresenter.cs" /> <Compile Include="Presenter\PresenterBase.cs" /> <Compile Include="Presenter\ProvisioningPresenter.cs" /> + <Compile Include="Presenter\SettingsPresenter.cs" /> <Compile Include="Presenter\TextSearchPresenter.cs" /> <Compile Include="Tooltips.cs" /> + <Compile Include="View\DataMigrationView.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="View\DataMigrationView.Designer.cs"> + <DependentUpon>DataMigrationView.cs</DependentUpon> + </Compile> + <Compile Include="View\DevicesView.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="View\DevicesView.Designer.cs"> + <DependentUpon>DevicesView.cs</DependentUpon> + </Compile> <Compile Include="View\DumpUserContentView.cs"> <SubType>Form</SubType> </Compile> <Compile Include="View\DumpUserContentView.Designer.cs"> <DependentUpon>DumpUserContentView.cs</DependentUpon> </Compile> + <Compile Include="View\IDataMigrationView.cs" /> + <Compile Include="View\IDevicesView.cs" /> <Compile Include="View\IDumpUserContentView.cs" /> <Compile Include="View\IProvisioningView.cs" /> + <Compile Include="View\ISettingsView.cs" /> <Compile Include="View\ITextSearchView.cs" /> <Compile Include="View\Overlay\MemberInfoOverlay.cs" /> <Compile Include="View\ProvisioningView.cs"> @@ -164,6 +194,12 @@ </Compile> <Compile Include="Program.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> + <EmbeddedResource Include="View\DataMigrationView.resx"> + <DependentUpon>DataMigrationView.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="View\DevicesView.resx"> + <DependentUpon>DevicesView.cs</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="View\DumpUserContentView.resx"> <DependentUpon>DumpUserContentView.cs</DependentUpon> </EmbeddedResource> diff --git a/DfBAdminToolkit/DfBAdminToolkit/DfBAdminToolkit.csproj.vspscc b/DfBAdminToolkit-v2/DfBAdminToolkit/DfBAdminToolkit.csproj.vspscc similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/DfBAdminToolkit.csproj.vspscc rename to DfBAdminToolkit-v2/DfBAdminToolkit/DfBAdminToolkit.csproj.vspscc diff --git a/DfBAdminToolkit/DfBAdminToolkit/ErrorMessages.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/ErrorMessages.cs similarity index 71% rename from DfBAdminToolkit/DfBAdminToolkit/ErrorMessages.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/ErrorMessages.cs index c74d245..fd53165 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/ErrorMessages.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/ErrorMessages.cs @@ -11,9 +11,12 @@ public static class ErrorMessages public readonly static string MISSING_CSV_FILE = "Selected CSV file no longer exists"; public readonly static string INVALID_CSV_DATA = "CSV file contains invalid data"; public readonly static string FAILED_TO_ADD_MEMBER = "Bad request to the API, possibly due to no permissions on your app to add members."; + public readonly static string FAILED_TO_REMOVE_MEMBER = "Bad request to the API, possibly due to no permissions on your app to remove members."; public readonly static string MISSING_ROLE = "Please select a user role first"; public readonly static string MISSING_OUTPUT_FOLDER = "Please select output directory first"; public readonly static string MISSING_FILES = "Please list file(s) first. You can do this by right-click and choose [ List file(s) ] option"; - public readonly static string NOT_ADMIN = "You must run the toolkit application as administrator to function correctly. Shutting down."; + public readonly static string CONFIRM_DELETE = "Are you sure you want to remove this list of members from your Dropbox Business account?"; + public readonly static string MISSING_TOKEN = "You must go to File->Settings to add your app tokens before performing any actions in the toolkit."; + public readonly static string INVALID_EXPORT_FOLDER = "Directory to export report file is not found"; } } \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Install Config/DfBAdminToolkit.exe.config b/DfBAdminToolkit-v2/DfBAdminToolkit/Install Config/DfBAdminToolkit.exe.config new file mode 100644 index 0000000..e3659fa --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Install Config/DfBAdminToolkit.exe.config @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" /> + </startup> + <appSettings> + <add key="BaseUrl" value="https://api.dropboxapi.com" /> + <add key="ContentUrl" value="https://content.dropboxapi.com" /> + <add key="ApiVersion" value="2" /> + <add key="ActionListMembers" value="team/members/list" /> + <add key="ActionListMembersContinuation" value="team/members/list/continue" /> + <add key="SearchDefaultLimit" value="1000" /> + <add key="SearchFileCountLimit" value="1000" /> + <add key="ActionFileSearch" value="files/search" /> + <add key="ActionListFolder" value="files/list_folder" /> + <add key="ActionFilesDownload" value="files/download" /> + <add key="ActionAddMember" value="team/members/add" /> + <add key="ActionRemoveMember" value="team/members/remove" /> + <add key="ActionListTeamDevices" value="team/devices/list_team_devices" /> + <add key="ActionDumpDevices" value="team/devices/revoke_device_session" /> + <add key="RegistryEntryPoint" value="SOFTWARE\Dropbox Business Toolkit" /> + <add key="RegistryKey" value="Accepted" /> + <add key="DefaultAccessToken" value="ENTER TEAM MEMBER FILE ACCESS TOKEN HERE" /> + <add key="DefaultProvisionToken" value="ENTER TEAM MEMBER MANAGEMENT TOKEN HERE" /> + <add key="ClientSettingsProvider.ServiceUri" value="" /> + </appSettings> + <system.web> + <membership defaultProvider="ClientAuthenticationMembershipProvider"> + <providers> + <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" /> + </providers> + </membership> + <roleManager defaultProvider="ClientRoleProvider" enabled="true"> + <providers> + <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" /> + </providers> + </roleManager> + </system.web> +</configuration> \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Misc/LICENSE.txt b/DfBAdminToolkit-v2/DfBAdminToolkit/Misc/LICENSE.txt similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Misc/LICENSE.txt rename to DfBAdminToolkit-v2/DfBAdminToolkit/Misc/LICENSE.txt diff --git a/DfBAdminToolkit/DfBAdminToolkit/Misc/dropbox.ico b/DfBAdminToolkit-v2/DfBAdminToolkit/Misc/dropbox.ico similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Misc/dropbox.ico rename to DfBAdminToolkit-v2/DfBAdminToolkit/Misc/dropbox.ico diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ContentDisplayListViewItemModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ContentDisplayListViewItemModel.cs new file mode 100644 index 0000000..08f335f --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ContentDisplayListViewItemModel.cs @@ -0,0 +1,159 @@ +namespace DfBAdminToolkit.Model { + + using System.ComponentModel; + + public class ContentDisplayListViewItemModel + : INotifyPropertyChanged, IModel { + private string _email; // login + private string _firstName; + private string _lastName; + private string _memberId; + private string _itemPath; + private string _itemPathId; + private string _itemName; + private string _itemId; + private string _itemType; + private string _itemSize; + private string _created; + private string _lastModified; + private string _uploaded; + private string _itemPathDisplay; + private long _itemSizeByte; + + public string Email { + get { return _email; } + set { + _email = value; + OnPropertyChanged("Email"); + } + } + + public string OwnerName { + get { return string.Format("{0} {1}", _firstName, _lastName); } + } + + public string FirstName { + get { return _firstName; } + set { + _firstName = value; + OnPropertyChanged("FirstName"); + } + } + + public string LastName { + get { return _lastName; } + set { + _lastName = value; + OnPropertyChanged("LastName"); + } + } + + public string MemberId { + get { return _memberId; } + set { + _memberId = value; + OnPropertyChanged("MemberId"); + } + } + + public string ItemPath { + get { return _itemPath; } + set { + _itemPath = value; + OnPropertyChanged("ItemPath"); + } + } + + public string ItemPathId { + get { return _itemPathId; } + set { + _itemPathId = value; + OnPropertyChanged("ItemPathId"); + } + } + + public string ItemName { + get { return _itemName; } + set { + _itemName = value; + OnPropertyChanged("ItemName"); + } + } + + public string ItemId { + get { return _itemId; } + set { + _itemId = value; + OnPropertyChanged("ItemId"); + } + } + + public string ItemType { + get { return _itemType; } + set { + _itemType = value; + OnPropertyChanged("ItemType"); + } + } + + public string ItemSize { + get { return _itemSize; } + set { + _itemSize = value; + OnPropertyChanged("ItemSize"); + } + } + + public long ItemSizeByte { + get { return _itemSizeByte; } + set { _itemSizeByte = value; } + } + + public string ItemPathDisplay { + get { return _itemPathDisplay; } + set { + _itemPathDisplay = value; + OnPropertyChanged("ItemPathDisplay"); + } + } + + public string Created { + get { return _created; } + set { + _created = value; + OnPropertyChanged("Created"); + } + } + + public string LastModified { + get { return _lastModified; } + set { + _lastModified = value; + OnPropertyChanged("LastModified"); + } + } + + public string Uploaded { + get { return _uploaded; } + set { + _uploaded = value; + OnPropertyChanged("Uploaded"); + } + } + + public void CleanUp() { + } + + public void Initialize() { + } + + public event PropertyChangedEventHandler PropertyChanged; + + private void OnPropertyChanged(string propName) { + PropertyChangedEventHandler handler = PropertyChanged; + if (handler != null) { + handler(this, new PropertyChangedEventArgs(propName)); + } + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DataMigrationHeaderRecord.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DataMigrationHeaderRecord.cs new file mode 100644 index 0000000..d5d78b3 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DataMigrationHeaderRecord.cs @@ -0,0 +1,35 @@ +using CsvHelper.Configuration; + +namespace DfBAdminToolkit.Model { + + public class DataMigrationHeaderRecord { + public string OwnerName { get; set; } + public string OwnerLogin { get; set; } + public string Path { get; set; } + public string PathId { get; set; } + public string ItemName { get; set; } + public string ItemId { get; set; } + public string ItemType { get; set; } + public string Size { get; set; } + public string Created { get; set; } + public string LastModified { get; set; } + public string Uploaded { get; set; } + } + + public class DataMigrationHeaderMap : CsvClassMap<DataMigrationHeaderRecord> { + + public DataMigrationHeaderMap() { + Map(m => m.OwnerName).Name("Owner Name"); + Map(m => m.OwnerLogin).Name("Owner Login"); + Map(m => m.Path).Name("Path"); + Map(m => m.PathId).Name("Path ID"); + Map(m => m.ItemName).Name("Item Name"); + Map(m => m.ItemId).Name("Item ID"); + Map(m => m.ItemType).Name("Item Type"); + Map(m => m.Size).Name("Size"); + Map(m => m.Created).Name("Created"); + Map(m => m.LastModified).Name("Last Modified"); + Map(m => m.Uploaded).Name("Uploaded"); + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DataMigrationModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DataMigrationModel.cs new file mode 100644 index 0000000..54461fd --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DataMigrationModel.cs @@ -0,0 +1,26 @@ +namespace DfBAdminToolkit.Model { + + using System.Collections.Generic; + using System.IO; + + public class DataMigrationModel + : IDataMigrationModel { + public List<ContentDisplayListViewItemModel> Contents { get; set; } + public string AccessToken { get; set; } + public string OutputFileName { get; set; } + + public DataMigrationModel() { + Initialize(); + } + + public void CleanUp() { + } + + public void Initialize() { + // TODO: any necessary initialization here + Contents = new List<ContentDisplayListViewItemModel>(); + AccessToken = ApplicationResource.DefaultAccessToken; + OutputFileName = Directory.GetCurrentDirectory(); + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DeviceListViewItemModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DeviceListViewItemModel.cs new file mode 100644 index 0000000..1fb68b2 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DeviceListViewItemModel.cs @@ -0,0 +1,101 @@ +namespace DfBAdminToolkit.Model { + + using System.ComponentModel; + + public class DeviceListViewItemModel + : INotifyPropertyChanged, IModel { + private System.DateTime _created; + private string _email; + private string _teamId; + private string _deviceName; + private string _ipAddress; + private string _sessionId; + private string _clientType; + private bool _isChecked; + + public System.DateTime Created { + get { return _created; } + set { + _created = value; + OnPropertyChanged("Created"); + } + } + + public string Email + { + get { return _email; } + set + { + _email = value; + OnPropertyChanged("Email"); + } + } + + public string TeamId + { + get { return _teamId; } + set { + _teamId = value; + OnPropertyChanged("TeamId"); + } + } + + public string DeviceName { + get { return _deviceName; } + set { + _deviceName = value; + OnPropertyChanged("DeviceName"); + } + } + + public string IpAddress { + get { return _ipAddress; } + set { + _ipAddress = value; + OnPropertyChanged("IpAddress"); + } + } + + public string SessionId { + get { return _sessionId; } + set { + _sessionId = value; + OnPropertyChanged("SessionId"); + } + } + + public string ClientType { + get { return _clientType; } + set { + _clientType = value; + OnPropertyChanged("ClientType"); + } + } + + public bool IsChecked { + get { return _isChecked; } + set { + _isChecked = value; + OnPropertyChanged("IsChecked"); + } + } + + public event PropertyChangedEventHandler PropertyChanged; + + public DeviceListViewItemModel() { + } + + public void Initialize() { + } + + public void CleanUp() { + } + + private void OnPropertyChanged(string propName) { + PropertyChangedEventHandler handler = PropertyChanged; + if (handler != null) { + handler(this, new PropertyChangedEventArgs(propName)); + } + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DevicesModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DevicesModel.cs new file mode 100644 index 0000000..b1c6025 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DevicesModel.cs @@ -0,0 +1,28 @@ +namespace DfBAdminToolkit.Model { + + using System.Collections.Generic; + + public class DevicesModel + : IDevicesModel { + public string UserAccessToken { get; set; } + + public string Filter { get; set; } + + public string FilterType { get; set; } + + public string FilterCriteria { get; set; } + + public List<DeviceListViewItemModel> DeviceList { get; set; } + + public DevicesModel() { + UserAccessToken = ApplicationResource.DefaultAccessToken; + DeviceList = new List<DeviceListViewItemModel>(); + } + + public void Initialize() { + } + + public void CleanUp() { + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/DumpUserContentModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DumpUserContentModel.cs similarity index 70% rename from DfBAdminToolkit/DfBAdminToolkit/Model/DumpUserContentModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/DumpUserContentModel.cs index 9fe8c09..09b5ec7 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/DumpUserContentModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/DumpUserContentModel.cs @@ -1,30 +1,26 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System.Collections.Generic; using System.IO; public class DumpUserContentModel - : IDumpUserContentModel - { + : IDumpUserContentModel { public string UserAccessToken { get; set; } public List<TeamListViewItemModel> MemberList { get; set; } public string OutputFolder { get; set; } - public DumpUserContentModel() - { + public DumpUserContentModel() { UserAccessToken = ApplicationResource.DefaultAccessToken; MemberList = new List<TeamListViewItemModel>(); } - public void Initialize() - { + public void Initialize() { OutputFolder = Directory.GetCurrentDirectory(); } - public void CleanUp() - { + public void CleanUp() { } } } \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/FileListViewItemModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/FileListViewItemModel.cs similarity index 63% rename from DfBAdminToolkit/DfBAdminToolkit/Model/FileListViewItemModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/FileListViewItemModel.cs index 60a6c8b..c3372d6 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/FileListViewItemModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/FileListViewItemModel.cs @@ -1,50 +1,41 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System.ComponentModel; public class FileListViewItemModel - : INotifyPropertyChanged, IModel - { + : INotifyPropertyChanged, IModel { private string _filePath; private string _fileName; private string _fileSize; private bool _isChecked; - public string FilePath - { + public string FilePath { get { return _filePath; } - set - { + set { _filePath = value; OnPropertyChanged("FilePath"); } } - public string FileName - { + public string FileName { get { return _fileName; } - set - { + set { _fileName = value; OnPropertyChanged("FileName"); } } - public string FileSize - { + public string FileSize { get { return _fileSize; } - set - { + set { _fileSize = value; OnPropertyChanged("FileSize"); } } - public bool IsChecked - { + public bool IsChecked { get { return _isChecked; } - set - { + set { _isChecked = value; OnPropertyChanged("IsChecked"); } @@ -52,23 +43,18 @@ public bool IsChecked public event PropertyChangedEventHandler PropertyChanged; - public FileListViewItemModel() - { + public FileListViewItemModel() { } - public void Initialize() - { + public void Initialize() { } - public void CleanUp() - { + public void CleanUp() { } - private void OnPropertyChanged(string propName) - { + private void OnPropertyChanged(string propName) { PropertyChangedEventHandler handler = PropertyChanged; - if (handler != null) - { + if (handler != null) { handler(this, new PropertyChangedEventArgs(propName)); } } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDataMigrationModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDataMigrationModel.cs new file mode 100644 index 0000000..3eb3346 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDataMigrationModel.cs @@ -0,0 +1,11 @@ +namespace DfBAdminToolkit.Model { + + using System.Collections.Generic; + + public interface IDataMigrationModel + : IModel { + List<ContentDisplayListViewItemModel> Contents { get; set; } + string AccessToken { get; set; } + string OutputFileName { get; set; } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDevicesModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDevicesModel.cs new file mode 100644 index 0000000..835d180 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDevicesModel.cs @@ -0,0 +1,17 @@ +namespace DfBAdminToolkit.Model { + + using System.Collections.Generic; + + public interface IDevicesModel + : IModel { + string UserAccessToken { get; set; } + + string Filter { get; set; } + + string FilterType { get; set; } + + string FilterCriteria { get; set; } + + List<DeviceListViewItemModel> DeviceList { get; set; } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/IDumpUserContentModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDumpUserContentModel.cs similarity index 79% rename from DfBAdminToolkit/DfBAdminToolkit/Model/IDumpUserContentModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDumpUserContentModel.cs index fd821dc..e7f46d0 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/IDumpUserContentModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IDumpUserContentModel.cs @@ -1,10 +1,9 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System.Collections.Generic; public interface IDumpUserContentModel - : IModel - { + : IModel { string UserAccessToken { get; set; } List<TeamListViewItemModel> MemberList { get; set; } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ILegalModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ILegalModel.cs new file mode 100644 index 0000000..f4856a5 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ILegalModel.cs @@ -0,0 +1,5 @@ +namespace DfBAdminToolkit.Model { + public interface ILegalModel + : IModel { + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IMainModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IMainModel.cs new file mode 100644 index 0000000..6069b8f --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IMainModel.cs @@ -0,0 +1,5 @@ +namespace DfBAdminToolkit.Model { + public interface IMainModel + : IModel { + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IModel.cs new file mode 100644 index 0000000..5b55379 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IModel.cs @@ -0,0 +1,8 @@ +namespace DfBAdminToolkit.Model { + public interface IModel { + + void Initialize(); + + void CleanUp(); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/IProvisioningModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IProvisioningModel.cs similarity index 84% rename from DfBAdminToolkit/DfBAdminToolkit/Model/IProvisioningModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/IProvisioningModel.cs index 313a206..6b0c70d 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/IProvisioningModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/IProvisioningModel.cs @@ -1,10 +1,9 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System.Collections.Generic; public interface IProvisioningModel - : IModel - { + : IModel { bool SendWelcomeEmail { get; set; } string AccessToken { get; set; } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ISettingsModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ISettingsModel.cs new file mode 100644 index 0000000..3967e10 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ISettingsModel.cs @@ -0,0 +1,11 @@ +namespace DfBAdminToolkit.Model { + public interface ISettingsModel + : IModel { + string DefaultAccessToken { get; set; } + string DefaultProvisionToken { get; set; } + int SearchDefaultLimit { get; set; } + string ApiBaseUrl { get; set; } + string ApiContentBaseUrl { get; set; } + string ApiVersion { get; set; } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/ITextSearchModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ITextSearchModel.cs similarity index 77% rename from DfBAdminToolkit/DfBAdminToolkit/Model/ITextSearchModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/ITextSearchModel.cs index 5f1c7c4..f2fe804 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/ITextSearchModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ITextSearchModel.cs @@ -1,14 +1,11 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System.Collections.Generic; public interface ITextSearchModel - : IModel - { + : IModel { List<MemberListViewItemModel> MemberList { get; set; } - //List<MemberListViewItemModel> ResultList { get; set; } - List<string> SearchModeList { get; set; } string AccessToken { get; set; } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/LegalModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/LegalModel.cs new file mode 100644 index 0000000..1cb27eb --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/LegalModel.cs @@ -0,0 +1,15 @@ +namespace DfBAdminToolkit.Model { + + public class LegalModel + : ILegalModel { + + public LegalModel() { + } + + public void Initialize() { + } + + public void CleanUp() { + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/MainModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/MainModel.cs new file mode 100644 index 0000000..3ce599f --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/MainModel.cs @@ -0,0 +1,15 @@ +namespace DfBAdminToolkit.Model { + + public class MainModel + : IMainModel { + + public MainModel() { + } + + public void Initialize() { + } + + public void CleanUp() { + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/MemberListViewItemModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/MemberListViewItemModel.cs similarity index 57% rename from DfBAdminToolkit/DfBAdminToolkit/Model/MemberListViewItemModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/MemberListViewItemModel.cs index c3f9adf..069064a 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/MemberListViewItemModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/MemberListViewItemModel.cs @@ -1,72 +1,77 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System.ComponentModel; public class MemberListViewItemModel - : INotifyPropertyChanged, IModel - { + : INotifyPropertyChanged, IModel { private string _email; private string _memberId; private string _path; private string _firstName; private string _lastName; + private string _status; + private string _role; private bool _isChecked; - public string Email - { + public string Email { get { return _email; } - set - { + set { _email = value; OnPropertyChanged("Email"); } } - public string MemberId - { + public string MemberId { get { return _memberId; } - set - { + set { _memberId = value; OnPropertyChanged("MemberId"); } } - public string Path - { + public string Path { get { return _path; } - set - { + set { _path = value; OnPropertyChanged("Path"); } } - public string FirstName - { + public string FirstName { get { return _firstName; } - set - { + set { _firstName = value; OnPropertyChanged("FirstName"); } } - public string LastName - { + public string LastName { get { return _lastName; } - set - { + set { _lastName = value; OnPropertyChanged("LastName"); } } - public bool IsChecked - { + public string Role { + get { return _role; } + set { + _role = value; + OnPropertyChanged("Role"); + } + } + + public string Status { + get { return _status; } + set { + _status = value; + OnPropertyChanged("Status"); + } + } + + public bool IsChecked { get { return _isChecked; } - set - { + set { _isChecked = value; OnPropertyChanged("IsChecked"); } @@ -74,23 +79,18 @@ public bool IsChecked public event PropertyChangedEventHandler PropertyChanged; - public MemberListViewItemModel() - { + public MemberListViewItemModel() { } - public void Initialize() - { + public void Initialize() { } - public void CleanUp() - { + public void CleanUp() { } - private void OnPropertyChanged(string propName) - { + private void OnPropertyChanged(string propName) { PropertyChangedEventHandler handler = PropertyChanged; - if (handler != null) - { + if (handler != null) { handler(this, new PropertyChangedEventArgs(propName)); } } diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/ProvisioningModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ProvisioningModel.cs similarity index 75% rename from DfBAdminToolkit/DfBAdminToolkit/Model/ProvisioningModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/ProvisioningModel.cs index 872628d..66d8c75 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/ProvisioningModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/ProvisioningModel.cs @@ -1,10 +1,9 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System.Collections.Generic; public class ProvisioningModel - : IProvisioningModel - { + : IProvisioningModel { public bool SendWelcomeEmail { get; set; } public string AccessToken { get; set; } @@ -15,21 +14,18 @@ public class ProvisioningModel public List<MemberListViewItemModel> Members { get; set; } - public ProvisioningModel() - { + public ProvisioningModel() { Initialize(); } - public void Initialize() - { + public void Initialize() { Members = new List<MemberListViewItemModel>(); AccessToken = ApplicationResource.DefaultProvisionToken; SelectedRole = string.Empty; SendWelcomeEmail = true; } - public void CleanUp() - { + public void CleanUp() { } } } \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/SettingsModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/SettingsModel.cs new file mode 100644 index 0000000..81d9682 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/SettingsModel.cs @@ -0,0 +1,29 @@ +namespace DfBAdminToolkit.Model { + + public class SettingsModel + : ISettingsModel { + + public SettingsModel() { + Initialize(); + } + + public string DefaultAccessToken { get; set; } + public string DefaultProvisionToken { get; set; } + public int SearchDefaultLimit { get; set; } + public string ApiBaseUrl { get; set; } + public string ApiContentBaseUrl { get; set; } + public string ApiVersion { get; set; } + + public void Initialize() { + DefaultAccessToken = ApplicationResource.DefaultAccessToken; + DefaultProvisionToken = ApplicationResource.DefaultProvisionToken; + SearchDefaultLimit = ApplicationResource.SearchDefaultLimit; + ApiBaseUrl = ApplicationResource.BaseUrl; + ApiContentBaseUrl = ApplicationResource.ContentUrl; + ApiVersion = ApplicationResource.ApiVersion; + } + + public void CleanUp() { + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Model/TeamListViewItemModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/TeamListViewItemModel.cs new file mode 100644 index 0000000..7ff039c --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/TeamListViewItemModel.cs @@ -0,0 +1,116 @@ +namespace DfBAdminToolkit.Model { + + using System.ComponentModel; + + public class TeamListViewItemModel + : INotifyPropertyChanged, IModel { + private string _email; + private string _teamId; + private string _filePath; + private string _fileName; + private string _fileSize; + private string _status; + private string _firstName; + private string _lastName; + private string _role; + private bool _isChecked; + + public string Email { + get { return _email; } + set { + _email = value; + OnPropertyChanged("Email"); + } + } + + public string TeamId { + get { return _teamId; } + set { + _teamId = value; + OnPropertyChanged("TeamId"); + } + } + + public string FilePath { + get { return _filePath; } + set { + _filePath = value; + OnPropertyChanged("FilePath"); + } + } + + public string FileName { + get { return _fileName; } + set { + _fileName = value; + OnPropertyChanged("FileName"); + } + } + + public string FileSize { + get { return _fileSize; } + set { + _fileSize = value; + OnPropertyChanged("FileSize"); + } + } + + public string Status { + get { return _status; } + set { + _status = value; + OnPropertyChanged("Status"); + } + } + + public string FirstName { + get { return _firstName; } + set { + _firstName = value; + OnPropertyChanged("FirstName"); + } + } + + public string LastName { + get { return _lastName; } + set { + _lastName = value; + OnPropertyChanged("LastName"); + } + } + + public string Role { + get { return _role; } + set { + _role = value; + OnPropertyChanged("Role"); + } + } + + public bool IsChecked { + get { return _isChecked; } + set { + _isChecked = value; + OnPropertyChanged("IsChecked"); + } + } + + public event PropertyChangedEventHandler PropertyChanged; + + public TeamListViewItemModel() { + } + + public void Initialize() { + } + + public void CleanUp() { + } + + private void OnPropertyChanged(string propName) { + PropertyChangedEventHandler handler = PropertyChanged; + if (handler != null) { + handler(this, new PropertyChangedEventArgs(propName)); + } + } + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/TextSearchModel.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/TextSearchModel.cs similarity index 77% rename from DfBAdminToolkit/DfBAdminToolkit/Model/TextSearchModel.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Model/TextSearchModel.cs index 28aba7d..8a2ec43 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/TextSearchModel.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Model/TextSearchModel.cs @@ -1,11 +1,10 @@ -namespace DfBAdminToolkit.Model -{ +namespace DfBAdminToolkit.Model { + using System; using System.Collections.Generic; public class TextSearchModel - : ITextSearchModel - { + : ITextSearchModel { private TextSearchMode _searchMode; public List<MemberListViewItemModel> MemberList { get; set; } @@ -20,56 +19,45 @@ public class TextSearchModel public int SearchResultsLimit { get; set; } - public string SelectedSearchMode - { + public string SelectedSearchMode { get { return _searchMode.ToString().Replace("_", " "); } - set - { - if (!string.IsNullOrEmpty(value)) - { + set { + if (!string.IsNullOrEmpty(value)) { string replaced = value.Replace(" ", "_"); - if (!Enum.TryParse(replaced, out _searchMode)) - { + if (!Enum.TryParse(replaced, out _searchMode)) { _searchMode = TextSearchMode.Filename_only; } } } } - public enum TextSearchMode : int - { + public enum TextSearchMode : int { Filename_only = 0, Filename_and_Content = 1 } - public TextSearchModel() - { + public TextSearchModel() { Initialize(); } - public void Initialize() - { + public void Initialize() { MemberList = new List<MemberListViewItemModel>(); //ResultList = new List<MemberListViewItemModel>(); AccessToken = ApplicationResource.DefaultAccessToken; _searchMode = TextSearchMode.Filename_only; SearchModeList = new List<string>(); - foreach (TextSearchMode mode in Enum.GetValues(typeof(TextSearchMode))) - { + foreach (TextSearchMode mode in Enum.GetValues(typeof(TextSearchMode))) { SearchModeList.Add(mode.ToString().Replace("_", " ")); } SearchResultsLimit = ApplicationResource.SearchDefaultLimit; } - public void CleanUp() - { + public void CleanUp() { } - public string GetSearchModeForService() - { + public string GetSearchModeForService() { string converted = string.Empty; - switch (_searchMode) - { + switch (_searchMode) { case TextSearchMode.Filename_only: converted = "filename"; break; diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DataMigrationPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DataMigrationPresenter.cs new file mode 100644 index 0000000..a603f45 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DataMigrationPresenter.cs @@ -0,0 +1,433 @@ +namespace DfBAdminToolkit.Presenter { + + using Common.Services; + using Common.Utils; + using CsvHelper; + using CsvHelper.Configuration; + using Model; + using Newtonsoft.Json; + using System; + using System.Collections.Generic; + using System.IO; + using System.Net; + using System.Threading; + using System.Threading.Tasks; + using View; + using System.Linq; + + public class DataMigrationPresenter + : PresenterBase, IDataMigrationPresenter { + private static readonly object insertLock = new object(); + + public DataMigrationPresenter() + : this(new DataMigrationModel(), new DataMigrationView()) { + } + + public DataMigrationPresenter(IDataMigrationModel model, IDataMigrationView view) + : base(model, view) { + } + + protected override void Initialize() { + IDataMigrationView view = base._view as IDataMigrationView; + IDataMigrationModel model = base._model as IDataMigrationModel; + PresenterBase.SetViewPropertiesFromModel<IDataMigrationView, IDataMigrationModel>( + ref view, model + ); + } + + protected override void WireViewEvents() { + if (!IsViewEventsWired) { + IDataMigrationView view = base._view as IDataMigrationView; + view.DataChanged += OnDataChanged; + view.CommandDisplayContent += OnCommandDisplayContent; + view.CommandExportContent += OnCommandExportContent; + IsViewEventsWired = true; + } + } + + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { + IDataMigrationView view = base._view as IDataMigrationView; + view.DataChanged -= OnDataChanged; + view.CommandDisplayContent -= OnCommandDisplayContent; + view.CommandExportContent -= OnCommandExportContent; + IsViewEventsWired = false; + } + } + + public void UpdateSettings() { + OnDataChanged(this, new EventArgs()); + } + + #region REST Service call + + private void SearchItems( + IMemberServices service, + TeamListViewItemModel owner, + IDataMigrationModel model, + IMainPresenter presenter) { + try { + service.ListFolderUrl = ApplicationResource.ActionListFolder; + IDataResponse response = service.ListFolders( + new MemberData() { + MemberId = owner.TeamId + }, model.AccessToken); + if (response.StatusCode == HttpStatusCode.OK) { + if (response.Data != null) { + string content = response.Data as string; + dynamic jsonDataSearch = JsonConvert.DeserializeObject<dynamic>(content); + if (jsonDataSearch["entries"] != null) { + IDictionary<string, long> folderMap = new Dictionary<string, long>(); + int entryCount = jsonDataSearch["entries"].Count; + int foundTotal = 0; + for (int i = 0; i < entryCount; i++) { + dynamic entry = jsonDataSearch["entries"][i]; + string type = entry[".tag"].ToString(); + ContentDisplayListViewItemModel lvItem = null; + if (type.Equals("folder")) { + lvItem = new ContentDisplayListViewItemModel() { + ItemType = type, + Email = owner.Email, + MemberId = owner.TeamId, + FirstName = owner.FirstName, + LastName = owner.LastName, + ItemName = entry["name"].ToString(), + ItemPath = entry["path_lower"].ToString(), + ItemPathDisplay = entry["path_display"].ToString(), + ItemSizeByte = 0 + }; + } else { + string serverModified = entry["server_modified"].ToString(); + string serverModifiedDate = string.Empty; + if (!string.IsNullOrEmpty(serverModified)) { + DateTime lastModified = DateTime.SpecifyKind( + DateTime.Parse(serverModified), + DateTimeKind.Utc + ); + serverModifiedDate = lastModified.ToString("dd MMM yyyy"); + } + string fileSizeStr = jsonDataSearch["entries"][i]["size"].ToString(); + long fileSize = 0; + long.TryParse(fileSizeStr, out fileSize); + lvItem = new ContentDisplayListViewItemModel() { + ItemType = type, + Email = owner.Email, + MemberId = owner.TeamId, + FirstName = owner.FirstName, + LastName = owner.LastName, + ItemName = entry["name"].ToString(), + ItemPath = entry["path_lower"].ToString(), + ItemPathDisplay = entry["path_display"].ToString(), + ItemSize = FileUtil.FormatFileSize(fileSize), + ItemSizeByte = fileSize, + LastModified = serverModifiedDate, + Uploaded = serverModifiedDate, + Created = serverModifiedDate + }; + } + lock (insertLock) { + model.Contents.Add(lvItem); + } + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo( + string.Format("Owner: [{0}] Item: [{1}] {2}/{3}", lvItem.Email, lvItem.ItemName, (++foundTotal), entryCount) + ); + }, null); + } + } + } + } + } + } catch (Exception ex) { + Console.WriteLine(ex.Message); + } + } + + private IList<TeamListViewItemModel> SearchOwner( + IDataMigrationModel model, + IMainPresenter presenter) { + IList<TeamListViewItemModel> members = new List<TeamListViewItemModel>(); + if (!string.IsNullOrEmpty(model.AccessToken)) { + MemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + service.ListMembersUrl = ApplicationResource.ActionListMembers; + IDataResponse response = service.ListMembers(new MemberData() { + SearchLimit = ApplicationResource.SearchDefaultLimit + }, model.AccessToken); + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo("Searching Owners..."); + }, null); + } + + if (response.StatusCode == HttpStatusCode.OK) { + if (response.Data != null) { + string data = response.Data.ToString(); + dynamic jsonData = JsonConvert.DeserializeObject<dynamic>(data); + int resultCount = jsonData["members"].Count; + int total = 0; + for (int i = 0; i < resultCount; i++) { + dynamic profile = jsonData["members"][i]["profile"]; + dynamic idObj = profile["team_member_id"]; + dynamic emailObj = profile["email"]; + dynamic name = profile["name"]; + dynamic status = profile["status"]; + if (status != null && (status[".tag"].ToString().Equals("active") || status[".tag"].ToString().Equals("suspended"))) { + string teamId = idObj.Value as string; + string email = emailObj.Value as string; + string firstName = name["given_name"].ToString(); + string surName = name["surname"].ToString(); + //string familiarName = name["familiar_name"] as string; + //string displayName = name["display_name"] as string; + + // update model + TeamListViewItemModel lvItem = new TeamListViewItemModel() { + Email = email, + TeamId = teamId, + FirstName = firstName, + LastName = surName + }; + members.Add(lvItem); + } + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo("Scanning Account(s): " + (++total)); + }, null); + } + } + + // collect more. + bool hasMore = jsonData["has_more"]; + string cursor = jsonData["cursor"]; + + while (hasMore) { + service.ListMembersContinuationUrl = ApplicationResource.ActionListMembersContinuation; + IDataResponse responseCont = service.ListMembersContinuation(new MemberData() { + Cursor = cursor + }, model.AccessToken); + + string dataCont = responseCont.Data.ToString(); + dynamic jsonDataCont = JsonConvert.DeserializeObject<dynamic>(dataCont); + + int resultContCount = jsonDataCont["members"].Count; + for (int i = 0; i < resultContCount; i++) { + dynamic profile = jsonDataCont["members"][i]["profile"]; + dynamic idObj = profile["team_member_id"]; + dynamic emailObj = profile["email"]; + dynamic name = profile["name"]; + dynamic status = profile["status"]; + + string teamId = idObj.Value as string; + string email = emailObj.Value as string; + string firstName = name["given_name"].ToString(); + string surName = name["surname"].ToString(); + + if (status != null && (status[".tag"].ToString().Equals("active") || status[".tag"].ToString().Equals("suspended"))) { + // update model + TeamListViewItemModel lvItem = new TeamListViewItemModel() { + Email = email, + TeamId = teamId, + FirstName = firstName, + LastName = surName + }; + members.Add(lvItem); + } + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo("Scanning Account(s): " + (++total)); + }, null); + } + } + hasMore = jsonDataCont["has_more"]; + cursor = jsonDataCont["cursor"]; + } + } + } + } + return members; + } + + #endregion REST Service call + + #region Events + + private void OnDataChanged(object sender, System.EventArgs e) { + IDataMigrationView view = base._view as IDataMigrationView; + IDataMigrationModel model = base._model as IDataMigrationModel; + PresenterBase.SetModelPropertiesFromView<IDataMigrationModel, IDataMigrationView>( + ref model, view + ); + } + + private void OnCommandExportContent(object sender, EventArgs e) { + // Export to CSV + IDataMigrationView view = base._view as IDataMigrationView; + IDataMigrationModel model = base._model as IDataMigrationModel; + PresenterBase.SetModelPropertiesFromView<IDataMigrationModel, IDataMigrationView>( + ref model, view + ); + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + try { + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Preparing Report..."); + }, null); + } + + FileInfo fileInfo = new FileInfo(model.OutputFileName); + if (Directory.Exists(fileInfo.DirectoryName)) { + Thread writeReport = new Thread(() => { + CsvConfiguration config = new CsvConfiguration() { + HasHeaderRecord = true, + Delimiter = ",", + Encoding = System.Text.Encoding.UTF8 + }; + config.RegisterClassMap(new DataMigrationHeaderMap()); + int total = model.Contents.Count; + using (CsvWriter writer = new CsvWriter(new StreamWriter(model.OutputFileName), config)) { + writer.WriteHeader<DataMigrationHeaderRecord>(); + for (int i = 0; i < model.Contents.Count; i++) { + ContentDisplayListViewItemModel lvItem = model.Contents[i]; + writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.OwnerName) ? lvItem.OwnerName : ""); + writer.WriteField<string>(lvItem.Email); + writer.WriteField<string>(lvItem.ItemPathDisplay); + writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemPathId) ? lvItem.ItemPathId : ""); + writer.WriteField<string>(lvItem.ItemName); + writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemId) ? lvItem.ItemId : ""); + writer.WriteField<string>(lvItem.ItemType); + writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemSize) ? lvItem.ItemSize : ""); + writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.Created) ? lvItem.Created : ""); + writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.LastModified) ? lvItem.LastModified : ""); + writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.Uploaded) ? lvItem.Uploaded : ""); + writer.NextRecord(); + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Writing Record: {0}/{1}", (i + 1), total)); + }, null); + } + } + } + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(true); + presenter.ActivateSpinner(false); + presenter.UpdateProgressInfo("Completed"); + }, null); + } + }); + writeReport.Start(); + } else { + throw new InvalidDataException(ErrorMessages.INVALID_EXPORT_FOLDER); + } + } catch (Exception ex) { + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(true); + presenter.ActivateSpinner(false); + presenter.UpdateProgressInfo("Completed"); + }, null); + } + } + } + + private void OnCommandDisplayContent(object sender, System.EventArgs e) { + IDataMigrationView view = base._view as IDataMigrationView; + IDataMigrationModel model = base._model as IDataMigrationModel; + IList<ContentDisplayListViewItemModel> items = model.Contents; + + if (items != null) { + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + + // lock UI + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Searching..."); + }, null); + } + + Thread search = new Thread(() => { + TimerUtils util = new TimerUtils(); + util.Start(); + if (string.IsNullOrEmpty(model.AccessToken)) { + presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.UpdateProgressInfo(""); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + } else { + MemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + // search all owners first. + IList<TeamListViewItemModel> owners = SearchOwner(model, presenter); + model.Contents.Clear(); // clear existing contents + Parallel.ForEach(owners, (owner) => { + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Retrieving Owner's Content: {0}", owner.Email)); + }, null); + } + SearchItems(service, owner, model, presenter); + }); + + // compute folder size. + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Sorting Data...")); + }, null); + } + // sort by email then by folder path + model.Contents = model.Contents.OrderBy(s => s.Email).ThenBy(s => s.ItemPathDisplay).ToList(); + ContentDisplayListViewItemModel currentFolderSelected = null; + foreach (ContentDisplayListViewItemModel lvItem in model.Contents) { + if (lvItem.ItemType.ToLower().Equals("folder")) { + if (currentFolderSelected != null) { // had previously selected folder. + currentFolderSelected.ItemSize = FileUtil.FormatFileSize(currentFolderSelected.ItemSizeByte); + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Calculating Folder Size: {0}", currentFolderSelected.ItemName)); + }, null); + } + } + currentFolderSelected = lvItem; + } else if (lvItem.ItemType.ToLower().Equals("file")) { + if (currentFolderSelected != null) { + currentFolderSelected.ItemSizeByte += lvItem.ItemSizeByte; + } + } + } + } + + if (SyncContext != null) { + TimeSpan diff = util.Stop(); + //Debug.WriteLine(string.Format("Time Elapsed: {0}", TimerUtils.ToTimeStamp(diff))); + + SyncContext.Post(delegate { + // update result and update view. + PresenterBase.SetViewPropertiesFromModel<IDataMigrationView, IDataMigrationModel>( + ref view, model + ); + //view.ShowGroups(true); + view.RenderContentSearchResult(); + view.EnableExportControl(true); + presenter.UpdateProgressInfo( + string.Format("Completed. Total Content(s) Count: {0} Elapsed Time: {1}", model.Contents.Count, TimerUtils.ToTimeStamp(diff)) + ); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } + }); + + search.Start(); + } + } + + #endregion Events + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DevicesPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DevicesPresenter.cs new file mode 100644 index 0000000..46d1278 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DevicesPresenter.cs @@ -0,0 +1,809 @@ +namespace DfBAdminToolkit.Presenter { + + using DfBAdminToolkit.Common.Services; + using DfBAdminToolkit.Common.Utils; + using DfBAdminToolkit.Model; + using DfBAdminToolkit.View; + using Newtonsoft.Json; + using System; + using System.Linq; + using System.Net; + using System.Threading; + using System.Collections; + using System.Collections.Generic; + + public class DevicesPresenter + : PresenterBase, IDevicesPresenter { + public string[] ContextMenuItemText { get; set; } + + public DevicesPresenter(IDevicesModel model, IDevicesView view) + : base(model, view) { + } + + protected override void Initialize() { + // read data from model + IDevicesView view = base._view as IDevicesView; + IDevicesModel model = base._model as IDevicesModel; + PresenterBase.SetViewPropertiesFromModel<IDevicesView, IDevicesModel>( + ref view, model + ); + SyncContext.Post(delegate { + view.RefreshAccessToken(); + }, null); + } + + protected override void WireViewEvents() { + if (!IsViewEventsWired) { + IDevicesView view = base._view as IDevicesView; + view.DataChanged += OnDataChanged; + view.CommandGetDevices += OnCommandGetDevices; + view.CommandDumpDevices += OnCommandDumpDevices; + IsViewEventsWired = true; + } + } + + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { + IDevicesView view = base._view as IDevicesView; + view.DataChanged -= OnDataChanged; + view.CommandGetDevices -= OnCommandGetDevices; + view.CommandDumpDevices -= OnCommandDumpDevices; + IsViewEventsWired = false; + } + } + + protected override void CleanUp() { + } + + public void UpdateSettings() { + OnDataChanged(this, new EventArgs()); + } + + #region REST Services + + private void DumpDevices(IDevicesModel model, IMainPresenter presenter) { + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo("Preparing Device Removal..."); + }, null); + } + + int counter = 0; + int total = model.DeviceList.Where(d => d.IsChecked && !string.IsNullOrEmpty(d.SessionId)).ToList().Count; + IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + service.DumpDevicesUrl = ApplicationResource.ActionDumpDevices; + + foreach (DeviceListViewItemModel lvItem in model.DeviceList) { + if (lvItem.IsChecked && !string.IsNullOrEmpty(lvItem.SessionId)) { + // notify progress + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Removing device: {0}/{1}", ++counter, total)); + }, null); + } + + service.DumpDevices( + new MemberData() { + SessionId = lvItem.SessionId, + MemberId = lvItem.TeamId, + ClientType = lvItem.ClientType + }, + model.UserAccessToken + ); + } + } + } + + private void GetDevices(IDevicesModel model, IMainPresenter presenter) { + if (!string.IsNullOrEmpty(model.UserAccessToken)) { + IMemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + service.GetDevicesUrl = ApplicationResource.ActionListTeamDevices; + List<string[]> members = new List<string[]>(); + + //BEGIN GET MEMBERS + MemberServices serviceMembers = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + serviceMembers.ListMembersUrl = ApplicationResource.ActionListMembers; + IDataResponse responseMembers = serviceMembers.ListMembers(new MemberData() + { + SearchLimit = ApplicationResource.SearchDefaultLimit + }, ApplicationResource.DefaultAccessToken); + + if (responseMembers.StatusCode == HttpStatusCode.OK) + { + if (responseMembers.Data != null) + { + string data = responseMembers.Data.ToString(); + dynamic jsonData = JsonConvert.DeserializeObject<dynamic>(data); + + int resultCount = jsonData["members"].Count; + for (int i = 0; i < resultCount; i++) + { + dynamic idObj = jsonData["members"][i]["profile"]["team_member_id"]; + dynamic emailObj = jsonData["members"][i]["profile"]["email"]; + string teamId = idObj.Value as string; + string email = emailObj.Value as string; + + string[] str = new string[2]; + str[0] = teamId; + str[1] = email; + members.Add(str); + } + //if the memberID count is above limit - default 1000 we need to grab the cursor and call continue + bool hasMore = jsonData["has_more"]; + string cursor = jsonData["cursor"]; + + while (hasMore) + { + serviceMembers.ListMembersContinuationUrl = ApplicationResource.ActionListMembersContinuation; + IDataResponse responseMembersCont = serviceMembers.ListMembersContinuation(new MemberData() + { + Cursor = cursor + }, ApplicationResource.DefaultAccessToken); + + string dataCont = responseMembersCont.Data.ToString(); + dynamic jsonDataCont = JsonConvert.DeserializeObject<dynamic>(dataCont); + + int resultContCount = jsonDataCont["members"].Count; + for (int i = 0; i < resultContCount; i++) + { + dynamic idObj = jsonDataCont["members"][i]["profile"]["team_member_id"]; + dynamic emailObj = jsonDataCont["members"][i]["profile"]["email"]; + string teamId = idObj.Value as string; + string email = emailObj.Value as string; + + string[] str = new string[2]; + str[0] = teamId; + str[1] = email; + members.Add(str); + } + hasMore = jsonDataCont["has_more"]; + cursor = jsonDataCont["cursor"]; + } + } + } + //END GET MEMBERS + + bool FilterCriteriaContains = false; + bool FilterCriteriaNotContains = false; + bool FilterCriteriaBeginsWith = false; + bool FilterCriteriaEndsWith = false; + if (model.FilterCriteria == "CONTAINS") { + FilterCriteriaContains = true; + } + if (model.FilterCriteria == "NOT CONTAINS") { + FilterCriteriaNotContains = true; + } + if (model.FilterCriteria == "BEGINS WITH") { + FilterCriteriaBeginsWith = true; + } + if (model.FilterCriteria == "ENDS WITH") { + FilterCriteriaEndsWith = true; + } + IDataResponse response = service.FindDevices(new MemberData() { + //no cursor needed on first hit + }, model.UserAccessToken); + + if (response.StatusCode == HttpStatusCode.OK) { + if (response.Data != null) { + string data = response.Data.ToString(); + dynamic jsonDevicesData = JsonConvert.DeserializeObject<dynamic>(data); + + // clear existing data first + model.DeviceList.Clear(); + + int resultCount = jsonDevicesData["devices"].Count; + if (resultCount > 0) { + for (int i = 0; i < resultCount; i++) { + DateTime created = new DateTime(); + string teamId = string.Empty; + string deviceName = string.Empty; + string ipAddress = string.Empty; + string sessionId = string.Empty; + string clientType = string.Empty; + string email = string.Empty; + + dynamic idObj = jsonDevicesData["devices"][i]["team_member_id"]; + int resultWebCount = jsonDevicesData["devices"][i]["web_sessions"].Count; + int resultDesktopCount = jsonDevicesData["devices"][i]["desktop_clients"].Count; + int resultMobileCount = jsonDevicesData["devices"][i]["mobile_clients"].Count; + + if (resultWebCount > 0) { + for (int i2 = 0; i2 < resultWebCount; i2++) { + dynamic deviceNameObj = jsonDevicesData["devices"][i]["web_sessions"][i2]["user_agent"]; + dynamic ipAddressObj = jsonDevicesData["devices"][i]["web_sessions"][i2]["ip_address"]; + dynamic sessionIdObj = jsonDevicesData["devices"][i]["web_sessions"][i2]["session_id"]; + clientType = "Web"; + created = jsonDevicesData["devices"][i]["web_sessions"][i2]["created"]; + if (idObj != null) { + teamId = idObj.Value as string; + } + if (deviceNameObj != null) { + deviceName = deviceNameObj.Value as string; + } + if (ipAddressObj != null) { + ipAddress = ipAddressObj.Value as string; + } + if (sessionIdObj != null) { + sessionId = sessionIdObj.Value as string; + } + + foreach (string[] lvitem in members) + { + if (teamId == lvitem[0]) + { + email = lvitem[1]; + } + } + // update model + DeviceListViewItemModel lvItem = new DeviceListViewItemModel() { + Created = created, + TeamId = teamId, + DeviceName = deviceName, + IpAddress = ipAddress, + SessionId = sessionId, + ClientType = clientType, + Email = email + }; + if (string.IsNullOrEmpty(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (FilterCriteriaContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaNotContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + //do nothing, don't add to list + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + //do nothing, don't add to list + } + if ((model.FilterType == "IpAddress" && (!ipAddress.Contains(model.Filter))) || (model.FilterType == "DeviceName" && (!deviceName.Contains(model.Filter)))) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaBeginsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaEndsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + } + if (resultDesktopCount > 0) { + for (int i3 = 0; i3 < resultDesktopCount; i3++) { + dynamic deviceNameObj = jsonDevicesData["devices"][i]["desktop_clients"][i3]["host_name"]; + dynamic ipAddressObj = jsonDevicesData["devices"][i]["desktop_clients"][i3]["ip_address"]; + dynamic sessionIdObj = jsonDevicesData["devices"][i]["desktop_clients"][i3]["session_id"]; + clientType = "Desktop"; + created = jsonDevicesData["devices"][i]["desktop_clients"][i3]["created"]; + if (idObj != null) { + teamId = idObj.Value as string; + } + if (deviceNameObj != null) { + deviceName = deviceNameObj.Value as string; + } + if (ipAddressObj != null) { + ipAddress = ipAddressObj.Value as string; + } + if (sessionIdObj != null) { + sessionId = sessionIdObj.Value as string; + } + foreach (string[] lvitem in members) + { + if (teamId == lvitem[0]) + { + email = lvitem[1]; + } + } + // update model + DeviceListViewItemModel lvItem = new DeviceListViewItemModel() { + Created = created, + TeamId = teamId, + DeviceName = deviceName, + IpAddress = ipAddress, + SessionId = sessionId, + ClientType = clientType, + Email = email + }; + if (string.IsNullOrEmpty(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (FilterCriteriaContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaNotContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + //do nothing, don't add to list + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + //do nothing, don't add to list + } + if ((model.FilterType == "IpAddress" && (!ipAddress.Contains(model.Filter))) || (model.FilterType == "DeviceName" && (!deviceName.Contains(model.Filter)))) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaBeginsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaEndsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + } + } + if (resultMobileCount > 0) { + for (int i4 = 0; i4 < resultMobileCount; i4++) { + dynamic deviceNameObj = jsonDevicesData["devices"][i]["mobile_clients"][i4]["device_name"]; + dynamic ipAddressObj = jsonDevicesData["devices"][i]["mobile_clients"][i4]["ip_address"]; + dynamic sessionIdObj = jsonDevicesData["devices"][i]["mobile_clients"][i4]["session_id"]; + clientType = "Mobile"; + created = jsonDevicesData["devices"][i]["mobile_clients"][i4]["created"]; + if (idObj != null) { + teamId = idObj.Value as string; + } + if (deviceNameObj != null) { + deviceName = deviceNameObj.Value as string; + } + if (ipAddressObj != null) { + ipAddress = ipAddressObj.Value as string; + } + if (sessionIdObj != null) { + sessionId = sessionIdObj.Value as string; + } + foreach (string[] lvitem in members) + { + if (teamId == lvitem[0]) + { + email = lvitem[1]; + } + } + // update model + DeviceListViewItemModel lvItem = new DeviceListViewItemModel() { + Created = created, + TeamId = teamId, + DeviceName = deviceName, + IpAddress = ipAddress, + SessionId = sessionId, + ClientType = clientType, + Email = email + }; + if (string.IsNullOrEmpty(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (FilterCriteriaContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaNotContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + //do nothing, don't add to list + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + //do nothing, don't add to list + } + if ((model.FilterType == "IpAddress" && (!ipAddress.Contains(model.Filter))) || (model.FilterType == "DeviceName" && (!deviceName.Contains(model.Filter)))) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaBeginsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaEndsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + } + } + } + } + //if the device count has more, we need to pull next batch from cursor value + bool hasMore = jsonDevicesData["has_more"]; + string cursor = jsonDevicesData["cursor"]; + + while (hasMore) { + service.GetDevicesUrl = ApplicationResource.ActionListTeamDevices; + IDataResponse responseCont = service.FindDevices(new MemberData() { + Cursor = cursor + }, model.UserAccessToken); + + string dataCont = responseCont.Data.ToString(); + dynamic jsonDevicesDataCont = JsonConvert.DeserializeObject<dynamic>(dataCont); + + int resultCountCont = jsonDevicesDataCont["devices"].Count; + if (resultCountCont > 0) { + for (int i = 0; i < resultCountCont; i++) { + DateTime created = new DateTime(); + string teamId = string.Empty; + string deviceName = string.Empty; + string ipAddress = string.Empty; + string sessionId = string.Empty; + string clientType = string.Empty; + string email = string.Empty; + + dynamic idObj = jsonDevicesDataCont["devices"][i]["team_member_id"]; + int resultWebCount = jsonDevicesDataCont["devices"][i]["web_sessions"].Count; + int resultDesktopCount = jsonDevicesDataCont["devices"][i]["desktop_clients"].Count; + int resultMobileCount = jsonDevicesDataCont["devices"][i]["mobile_clients"].Count; + + if (resultWebCount > 0) { + for (int i2 = 0; i2 < resultWebCount; i2++) { + dynamic deviceNameObj = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["user_agent"]; + dynamic ipAddressObj = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["ip_address"]; + dynamic sessionIdObj = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["session_id"]; + clientType = "Web"; + created = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["created"]; + if (idObj != null) { + teamId = idObj.Value as string; + } + if (deviceNameObj != null) { + deviceName = deviceNameObj.Value as string; + } + if (ipAddressObj != null) { + ipAddress = ipAddressObj.Value as string; + } + if (sessionIdObj != null) { + sessionId = sessionIdObj.Value as string; + } + foreach (string[] lvitem in members) + { + if (teamId == lvitem[0]) + { + email = lvitem[1]; + } + } + // update model + DeviceListViewItemModel lvItem = new DeviceListViewItemModel() { + Created = created, + TeamId = teamId, + DeviceName = deviceName, + IpAddress = ipAddress, + SessionId = sessionId, + ClientType = clientType, + Email = email + }; + if (string.IsNullOrEmpty(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (FilterCriteriaContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaNotContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + //do nothing, don't add to list + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + //do nothing, don't add to list + } + if ((model.FilterType == "IpAddress" && (!ipAddress.Contains(model.Filter))) || (model.FilterType == "DeviceName" && (!deviceName.Contains(model.Filter)))) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaBeginsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaEndsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + } + } + if (resultDesktopCount > 0) { + for (int i3 = 0; i3 < resultDesktopCount; i3++) { + dynamic deviceNameObj = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["host_name"]; + dynamic ipAddressObj = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["ip_address"]; + dynamic sessionIdObj = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["session_id"]; + clientType = "Desktop"; + created = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["created"]; + if (idObj != null) { + teamId = idObj.Value as string; + } + if (deviceNameObj != null) { + deviceName = deviceNameObj.Value as string; + } + if (ipAddressObj != null) { + ipAddress = ipAddressObj.Value as string; + } + if (sessionIdObj != null) { + sessionId = sessionIdObj.Value as string; + } + foreach (string[] lvitem in members) + { + if (teamId == lvitem[0]) + { + email = lvitem[1]; + } + } + // update model + DeviceListViewItemModel lvItem = new DeviceListViewItemModel() { + Created = created, + TeamId = teamId, + DeviceName = deviceName, + IpAddress = ipAddress, + SessionId = sessionId, + ClientType = clientType, + Email = email + }; + if (string.IsNullOrEmpty(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (FilterCriteriaContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaNotContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + //do nothing, don't add to list + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + //do nothing, don't add to list + } + if ((model.FilterType == "IpAddress" && (!ipAddress.Contains(model.Filter))) || (model.FilterType == "DeviceName" && (!deviceName.Contains(model.Filter)))) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaBeginsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaEndsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + } + } + if (resultMobileCount > 0) { + for (int i4 = 0; i4 < resultMobileCount; i4++) { + dynamic deviceNameObj = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["device_name"]; + dynamic ipAddressObj = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["ip_address"]; + dynamic sessionIdObj = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["session_id"]; + clientType = "Mobile"; + created = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["created"]; + if (idObj != null) { + teamId = idObj.Value as string; + } + if (deviceNameObj != null) { + deviceName = deviceNameObj.Value as string; + } + if (ipAddressObj != null) { + ipAddress = ipAddressObj.Value as string; + } + if (sessionIdObj != null) { + sessionId = sessionIdObj.Value as string; + } + foreach (string[] lvitem in members) + { + if (teamId == lvitem[0]) + { + email = lvitem[1]; + } + } + // update model + DeviceListViewItemModel lvItem = new DeviceListViewItemModel() { + Created = created, + TeamId = teamId, + DeviceName = deviceName, + IpAddress = ipAddress, + SessionId = sessionId, + ClientType = clientType, + Email = email + }; + if (string.IsNullOrEmpty(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (FilterCriteriaContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaNotContains && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.Contains(model.Filter)) { + //do nothing, don't add to list + } + if (model.FilterType == "DeviceName" && deviceName.Contains(model.Filter)) { + //do nothing, don't add to list + } + if ((model.FilterType == "IpAddress" && (!ipAddress.Contains(model.Filter))) || (model.FilterType == "DeviceName" && (!deviceName.Contains(model.Filter)))) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaBeginsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.StartsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + if (FilterCriteriaEndsWith && !string.IsNullOrEmpty(model.Filter)) { + if (model.FilterType == "IpAddress" && ipAddress.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + if (model.FilterType == "DeviceName" && deviceName.EndsWith(model.Filter)) { + model.DeviceList.Add(lvItem); + } + } + } + } + } + } + hasMore = jsonDevicesDataCont["has_more"]; + cursor = jsonDevicesDataCont["cursor"]; + } + } + } + } + } + } + + #endregion REST Services + + #region Events + + private void OnDataChanged(object sender, EventArgs e) { + IDevicesView view = base._view as IDevicesView; + IDevicesModel model = base._model as IDevicesModel; + PresenterBase.SetModelPropertiesFromView<IDevicesModel, IDevicesView>( + ref model, view + ); + } + + private void OnCommandGetDevices(object sender, EventArgs e) { + IDevicesView view = base._view as IDevicesView; + IDevicesModel model = base._model as IDevicesModel; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Gathering device list..."); + }, null); + } + Thread getDevices = new Thread(() => { + if (string.IsNullOrEmpty(model.UserAccessToken)) { + SyncContext.Post(delegate { + presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.UpdateProgressInfo(""); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } else { + // perform search + GetDevices(model, presenter); + if (SyncContext != null) { + SyncContext.Post(delegate { + // update result and update view. + PresenterBase.SetViewPropertiesFromModel<IDevicesView, IDevicesModel>( + ref view, model + ); + view.RenderDeviceSearchResult(); + if (model.DeviceList.Count > 0) { + view.EnableDeviceButton(true); + } + presenter.UpdateProgressInfo("Completed"); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } + } + }); + getDevices.Start(); + } + + //TO DO + private void OnCommandDumpDevices(object sender, EventArgs e) { + IDevicesView view = base._view as IDevicesView; + IDevicesModel model = base._model as IDevicesModel; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Processing..."); + }, null); + } + Thread dumpDevices = new Thread(() => { + if (string.IsNullOrEmpty(model.UserAccessToken)) { + SyncContext.Post(delegate { + presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.UpdateProgressInfo(""); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } else { + // dump devices selected + this.DumpDevices(model, presenter); + if (SyncContext != null) { + SyncContext.Post(delegate { + // update result and update view. + PresenterBase.SetViewPropertiesFromModel<IDevicesView, IDevicesModel>( + ref view, model + ); + view.RenderDeviceSearchResult(); + if (model.DeviceList.Count > 0) { + view.EnableDeviceButton(true); + } + presenter.UpdateProgressInfo("Completed"); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } + } + }); + dumpDevices.Start(); + } + + #endregion Events + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/DumpUserContentPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DumpUserContentPresenter.cs similarity index 70% rename from DfBAdminToolkit/DfBAdminToolkit/Presenter/DumpUserContentPresenter.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DumpUserContentPresenter.cs index 78a2c09..809d73e 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/DumpUserContentPresenter.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/DumpUserContentPresenter.cs @@ -1,32 +1,29 @@ -namespace DfBAdminToolkit.Presenter -{ +namespace DfBAdminToolkit.Presenter { + using DfBAdminToolkit.Common.Services; using DfBAdminToolkit.Common.Utils; using DfBAdminToolkit.Model; using DfBAdminToolkit.View; using Newtonsoft.Json; using System; - using System.Net; using System.Collections; using System.Collections.Generic; using System.Linq; + using System.Net; using System.Threading; using System.Windows.Forms; public class DumpUserContentPresenter - : PresenterBase, IDumpUserContentPresenter - { + : PresenterBase, IDumpUserContentPresenter { private static readonly string LIST_FILES = "List file(s)"; public string[] ContextMenuItemText { get; set; } public DumpUserContentPresenter(IDumpUserContentModel model, IDumpUserContentView view) - : base(model, view) - { + : base(model, view) { } - protected override void Initialize() - { + protected override void Initialize() { // read data from model IDumpUserContentView view = base._view as IDumpUserContentView; IDumpUserContentModel model = base._model as IDumpUserContentModel; @@ -39,16 +36,13 @@ protected override void Initialize() LIST_FILES }; view.SetContextMenuItemText(ContextMenuItemText); - SyncContext.Post(delegate - { + SyncContext.Post(delegate { view.RefreshAccessToken(); }, null); } - protected override void WireViewEvents() - { - if (!IsViewEventsWired) - { + protected override void WireViewEvents() { + if (!IsViewEventsWired) { IDumpUserContentView view = base._view as IDumpUserContentView; view.DataChanged += OnDataChanged; view.CommandListMembers += OnCommandListMembers; @@ -58,10 +52,8 @@ protected override void WireViewEvents() } } - protected override void UnWireViewEvents() - { - if (IsViewEventsWired) - { + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { IDumpUserContentView view = base._view as IDumpUserContentView; view.DataChanged -= OnDataChanged; view.CommandListMembers -= OnCommandListMembers; @@ -71,122 +63,120 @@ protected override void UnWireViewEvents() } } - protected override void CleanUp() - { + protected override void CleanUp() { + } + + public void UpdateSettings() { + OnDataChanged(this, new EventArgs()); } #region REST Service - private bool SearchFiles(IMemberServices service, string teamId, string email, IDumpUserContentModel model) - { + private bool SearchFiles( + IMemberServices service, + TeamListViewItemModel item, + IDumpUserContentModel model, + IMainPresenter presenter) { bool filesAdded = false; - try - { + try { service.ListFolderUrl = ApplicationResource.ActionListFolder; IDataResponse response = service.ListFolders( - new MemberData() - { - MemberId = teamId + new MemberData() { + MemberId = item.TeamId }, model.UserAccessToken); - if (response.StatusCode == HttpStatusCode.OK) - { - if (response.Data != null) - { + if (response.StatusCode == HttpStatusCode.OK) { + if (response.Data != null) { string content = response.Data as string; dynamic jsonDataSearch = JsonConvert.DeserializeObject<dynamic>(content); int entryCount = 0; - if (jsonDataSearch["entries"] != null) - { + if (jsonDataSearch["entries"] != null) { entryCount = jsonDataSearch["entries"].Count; } // remove existing file entries. - for (int i = model.MemberList.Count - 1; i >= 0; i--) - { + for (int i = model.MemberList.Count - 1; i >= 0; i--) { TeamListViewItemModel lvItem = model.MemberList[i]; - if (lvItem.TeamId.Equals(teamId)) - { + if (lvItem.TeamId.Equals(item.TeamId)) { model.MemberList.RemoveAt(i); } } - for (int i = 0; i < entryCount; i++) - { - if (jsonDataSearch["entries"][i][".tag"].ToString().Equals("file")) - { - TeamListViewItemModel lvItem = new TeamListViewItemModel() - { - Email = email, - TeamId = teamId, + int total = 0; + for (int i = 0; i < entryCount; i++) { + if (jsonDataSearch["entries"][i][".tag"].ToString().Equals("file")) { + TeamListViewItemModel lvItem = new TeamListViewItemModel() { + Email = item.Email, + TeamId = item.TeamId, FileName = jsonDataSearch["entries"][i]["name"].ToString(), FilePath = jsonDataSearch["entries"][i]["path_lower"].ToString(), FileSize = FileUtil.FormatFileSize(Convert.ToInt64(jsonDataSearch["entries"][i]["size"].ToString())), IsChecked = true }; model.MemberList.Add(lvItem); + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Searching Files For : {0} File Count: {1}", item.Email, (++total))); + }, null); } } - if (entryCount > 0) - { + if (entryCount > 0) { filesAdded = true; } } } - } - catch (Exception e) - { + } catch (Exception ex) { + Console.WriteLine(ex.Message); } return filesAdded; } - private void SearchMembers(IDumpUserContentModel model) - { - if (!string.IsNullOrEmpty(model.UserAccessToken)) - { + private void SearchMembers(IDumpUserContentModel model, IMainPresenter presenter) { + if (!string.IsNullOrEmpty(model.UserAccessToken)) { MemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); service.ListMembersUrl = ApplicationResource.ActionListMembers; - IDataResponse response = service.ListMembers(new MemberData() - { + IDataResponse response = service.ListMembers(new MemberData() { SearchLimit = ApplicationResource.SearchDefaultLimit }, model.UserAccessToken); - if (response.StatusCode == HttpStatusCode.OK) - { - if (response.Data != null) - { + if (response.StatusCode == HttpStatusCode.OK) { + if (response.Data != null) { string data = response.Data.ToString(); dynamic jsonData = JsonConvert.DeserializeObject<dynamic>(data); // clear existing data first model.MemberList.Clear(); - + int total = 0; int resultCount = jsonData["members"].Count; - for (int i = 0; i < resultCount; i++) - { - dynamic idObj = jsonData["members"][i]["profile"]["team_member_id"]; - dynamic emailObj = jsonData["members"][i]["profile"]["email"]; - string teamId = idObj.Value as string; - string email = emailObj.Value as string; - - // update model - TeamListViewItemModel lvItem = new TeamListViewItemModel() - { - Email = email, - TeamId = teamId - }; - - model.MemberList.Add(lvItem); + for (int i = 0; i < resultCount; i++) { + dynamic profile = jsonData["members"][i]["profile"]; + dynamic idObj = profile["team_member_id"]; + dynamic emailObj = profile["email"]; + dynamic status = profile["status"]; + if (status != null && (status[".tag"].ToString().Equals("active") || status[".tag"].ToString().Equals("suspended"))) { + string teamId = idObj.Value as string; + string email = emailObj.Value as string; + + // update model + TeamListViewItemModel lvItem = new TeamListViewItemModel() { + Email = email, + TeamId = teamId + }; + + model.MemberList.Add(lvItem); + } + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo("Scanning Account(s): " + (++total)); + }, null); + } } //if the memberID count is above limit - default 1000 we need to grab the cursor and call continue bool hasMore = jsonData["has_more"]; string cursor = jsonData["cursor"]; - while (hasMore) - { + while (hasMore) { service.ListMembersContinuationUrl = ApplicationResource.ActionListMembersContinuation; - IDataResponse responseCont = service.ListMembersContinuation(new MemberData() - { + IDataResponse responseCont = service.ListMembersContinuation(new MemberData() { Cursor = cursor }, model.UserAccessToken); @@ -194,21 +184,28 @@ private void SearchMembers(IDumpUserContentModel model) dynamic jsonDataCont = JsonConvert.DeserializeObject<dynamic>(dataCont); int resultContCount = jsonDataCont["members"].Count; - for (int i = 0; i < resultContCount; i++) - { - dynamic idObj = jsonDataCont["members"][i]["profile"]["team_member_id"]; - dynamic emailObj = jsonDataCont["members"][i]["profile"]["email"]; - string teamId = idObj.Value as string; - string email = emailObj.Value as string; - - // update model - TeamListViewItemModel lvItem = new TeamListViewItemModel() - { - Email = email, - TeamId = teamId - }; - - model.MemberList.Add(lvItem); + for (int i = 0; i < resultContCount; i++) { + dynamic profile = jsonDataCont["members"][i]["profile"]; + dynamic idObj = profile["team_member_id"]; + dynamic emailObj = profile["email"]; + dynamic status = profile["status"]; + if (status != null && (status[".tag"].ToString().Equals("active") || status[".tag"].ToString().Equals("suspended"))) { + string teamId = idObj.Value as string; + string email = emailObj.Value as string; + + // update model + TeamListViewItemModel lvItem = new TeamListViewItemModel() { + Email = email, + TeamId = teamId + }; + + model.MemberList.Add(lvItem); + } + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo("Scanning Account(s): " + (++total)); + }, null); + } } hasMore = jsonDataCont["has_more"]; cursor = jsonDataCont["cursor"]; @@ -218,12 +215,9 @@ private void SearchMembers(IDumpUserContentModel model) } } - private void DumpFiles(IDumpUserContentModel model, IMainPresenter presenter) - { - if (SyncContext != null) - { - SyncContext.Post(delegate - { + private void DumpFiles(IDumpUserContentModel model, IMainPresenter presenter) { + if (SyncContext != null) { + SyncContext.Post(delegate { presenter.UpdateProgressInfo("Preparing Download..."); }, null); } @@ -233,22 +227,17 @@ private void DumpFiles(IDumpUserContentModel model, IMainPresenter presenter) IMemberServices service = new MemberServices(ApplicationResource.ContentUrl, ApplicationResource.ApiVersion); service.FileDumpUrl = ApplicationResource.ActionFilesDownload; - foreach (TeamListViewItemModel lvItem in model.MemberList) - { - if (lvItem.IsChecked && !string.IsNullOrEmpty(lvItem.FileName)) - { + foreach (TeamListViewItemModel lvItem in model.MemberList) { + if (lvItem.IsChecked && !string.IsNullOrEmpty(lvItem.FileName)) { // notify progress - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { presenter.UpdateProgressInfo(string.Format("Downloading File: {0}/{1}", ++counter, total)); }, null); } service.DumpFile( - new MemberData() - { + new MemberData() { Email = lvItem.Email, Path = lvItem.FilePath, FileName = lvItem.FileName, @@ -265,8 +254,7 @@ private void DumpFiles(IDumpUserContentModel model, IMainPresenter presenter) #region Events - private void OnDataChanged(object sender, EventArgs e) - { + private void OnDataChanged(object sender, EventArgs e) { IDumpUserContentView view = base._view as IDumpUserContentView; IDumpUserContentModel model = base._model as IDumpUserContentModel; PresenterBase.SetModelPropertiesFromView<IDumpUserContentModel, IDumpUserContentView>( @@ -274,62 +262,43 @@ private void OnDataChanged(object sender, EventArgs e) ); } - private void OnCommandContextMenuClicked(object sender, Common.DataExchange.DataUpdatedEventArgs e) - { + private void OnCommandContextMenuClicked(object sender, Common.DataExchange.DataUpdatedEventArgs e) { MenuItem selectedContextMenuItem = sender as MenuItem; - if (selectedContextMenuItem != null) - { - if (selectedContextMenuItem.Text.ToLower().Equals(LIST_FILES, StringComparison.CurrentCultureIgnoreCase)) - { - if (e.Data != null) - { + if (selectedContextMenuItem != null) { + if (selectedContextMenuItem.Text.ToLower().Equals(LIST_FILES, StringComparison.CurrentCultureIgnoreCase)) { + if (e.Data != null) { IDumpUserContentView view = base._view as IDumpUserContentView; IDumpUserContentModel model = base._model as IDumpUserContentModel; IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); ArrayList list = (ArrayList)e.Data; IList<TeamListViewItemModel> selectedLvItems = list.Cast<TeamListViewItemModel>().ToList(); - if (selectedLvItems != null && selectedLvItems.Count > 0) - { + if (selectedLvItems != null && selectedLvItems.Count > 0) { // lock UI - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { presenter.EnableControl(false); presenter.ActivateSpinner(true); presenter.UpdateProgressInfo("Preparing Search..."); }, null); } - Thread search = new Thread(() => - { - if (string.IsNullOrEmpty(model.UserAccessToken)) - { - SyncContext.Post(delegate - { + Thread search = new Thread(() => { + if (string.IsNullOrEmpty(model.UserAccessToken)) { + SyncContext.Post(delegate { presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); presenter.UpdateProgressInfo(""); presenter.ActivateSpinner(false); presenter.EnableControl(true); }, null); - } - else - { + } else { MemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); - foreach (TeamListViewItemModel item in selectedLvItems) - { - SearchFiles(service, item.TeamId, item.Email, model); - SyncContext.Post(delegate - { - presenter.UpdateProgressInfo(string.Format("Searching Files For : {0}", item.Email)); - }, null); + foreach (TeamListViewItemModel item in selectedLvItems) { + SearchFiles(service, item, model, presenter); } // complete. - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { // update result and update view. PresenterBase.SetViewPropertiesFromModel<IDumpUserContentView, IDumpUserContentModel>( ref view, model @@ -351,16 +320,13 @@ private void OnCommandContextMenuClicked(object sender, Common.DataExchange.Data } } - private void OnCommandDumpFiles(object sender, EventArgs e) - { + private void OnCommandDumpFiles(object sender, EventArgs e) { IDumpUserContentView view = base._view as IDumpUserContentView; IDumpUserContentModel model = base._model as IDumpUserContentModel; IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { presenter.EnableControl(false); presenter.ActivateSpinner(true); presenter.UpdateProgressInfo("Processing..."); @@ -369,36 +335,26 @@ private void OnCommandDumpFiles(object sender, EventArgs e) // TODO: to improve stability, we will need to ensure to kill // thread when user exits application while thread is running for REST service call - Thread dumpFiles = new Thread(() => - { - if (string.IsNullOrEmpty(model.UserAccessToken)) - { - SyncContext.Post(delegate - { + Thread dumpFiles = new Thread(() => { + if (string.IsNullOrEmpty(model.UserAccessToken)) { + SyncContext.Post(delegate { presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); presenter.UpdateProgressInfo(""); presenter.ActivateSpinner(false); presenter.EnableControl(true); }, null); - } - else if (string.IsNullOrEmpty(model.OutputFolder)) - { - SyncContext.Post(delegate - { + } else if (string.IsNullOrEmpty(model.OutputFolder)) { + SyncContext.Post(delegate { presenter.ShowErrorMessage(ErrorMessages.MISSING_OUTPUT_FOLDER, ErrorMessages.DLG_DEFAULT_TITLE); presenter.UpdateProgressInfo(""); presenter.ActivateSpinner(false); presenter.EnableControl(true); }, null); - } - else - { + } else { // perform search this.DumpFiles(model, presenter); - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { // update result and update view. presenter.UpdateProgressInfo("Completed"); presenter.ActivateSpinner(false); @@ -410,17 +366,14 @@ private void OnCommandDumpFiles(object sender, EventArgs e) dumpFiles.Start(); } - private void OnCommandListMembers(object sender, EventArgs e) - { + private void OnCommandListMembers(object sender, EventArgs e) { IDumpUserContentView view = base._view as IDumpUserContentView; IDumpUserContentModel model = base._model as IDumpUserContentModel; IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); // notify view to mark start of process - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { presenter.EnableControl(false); presenter.ActivateSpinner(true); presenter.UpdateProgressInfo("Processing..."); @@ -429,33 +382,25 @@ private void OnCommandListMembers(object sender, EventArgs e) // TODO: to improve stability, we will need to ensure to kill // thread when user exits application while thread is running for REST service call - Thread memberSearch = new Thread(() => - { - if (string.IsNullOrEmpty(model.UserAccessToken)) - { - SyncContext.Post(delegate - { + Thread memberSearch = new Thread(() => { + if (string.IsNullOrEmpty(model.UserAccessToken)) { + SyncContext.Post(delegate { presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); presenter.UpdateProgressInfo(""); presenter.ActivateSpinner(false); presenter.EnableControl(true); }, null); - } - else - { + } else { // perform search - this.SearchMembers(model); - if (SyncContext != null) - { - SyncContext.Post(delegate - { + this.SearchMembers(model, presenter); + if (SyncContext != null) { + SyncContext.Post(delegate { // update result and update view. PresenterBase.SetViewPropertiesFromModel<IDumpUserContentView, IDumpUserContentModel>( ref view, model ); - view.RenderMembersFileSearchResult(); - if (model.MemberList.Count > 0) - { + view.RenderMembersSearchResult(); + if (model.MemberList.Count > 0) { view.LazyInitializeContextMenu(); view.EnableContextMenuItems(true); //view.EnableDumpControl(true); diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDataMigrationPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDataMigrationPresenter.cs new file mode 100644 index 0000000..9d86859 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDataMigrationPresenter.cs @@ -0,0 +1,7 @@ +namespace DfBAdminToolkit.Presenter { + public interface IDataMigrationPresenter + : IPresenter { + + void UpdateSettings(); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDevicesPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDevicesPresenter.cs new file mode 100644 index 0000000..cfb514a --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDevicesPresenter.cs @@ -0,0 +1,8 @@ +namespace DfBAdminToolkit.Presenter { + public interface IDevicesPresenter + : IPresenter { + string[] ContextMenuItemText { get; set; } + + void UpdateSettings(); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IDumpUserContentPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDumpUserContentPresenter.cs similarity index 52% rename from DfBAdminToolkit/DfBAdminToolkit/Presenter/IDumpUserContentPresenter.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDumpUserContentPresenter.cs index 37d5ec3..de93511 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IDumpUserContentPresenter.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IDumpUserContentPresenter.cs @@ -1,8 +1,8 @@ -namespace DfBAdminToolkit.Presenter -{ +namespace DfBAdminToolkit.Presenter { public interface IDumpUserContentPresenter - : IPresenter - { + : IPresenter { string[] ContextMenuItemText { get; set; } + + void UpdateSettings(); } } \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ILegalPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ILegalPresenter.cs new file mode 100644 index 0000000..1c63126 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ILegalPresenter.cs @@ -0,0 +1,5 @@ +namespace DfBAdminToolkit.Presenter { + public interface ILegalPresenter + : IPresenter { + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IMainPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IMainPresenter.cs similarity index 81% rename from DfBAdminToolkit/DfBAdminToolkit/Presenter/IMainPresenter.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IMainPresenter.cs index 70544fc..48dc59c 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IMainPresenter.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IMainPresenter.cs @@ -1,8 +1,7 @@ -namespace DfBAdminToolkit.Presenter -{ +namespace DfBAdminToolkit.Presenter { public interface IMainPresenter - : IPresenter - { + : IPresenter { + void ShowView(); void ActivateSpinner(bool activate); diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IPresenter.cs similarity index 63% rename from DfBAdminToolkit/DfBAdminToolkit/Presenter/IPresenter.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IPresenter.cs index 79eec03..a8bc834 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IPresenter.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IPresenter.cs @@ -1,9 +1,8 @@ -namespace DfBAdminToolkit.Presenter -{ +namespace DfBAdminToolkit.Presenter { + using System.Threading; - public interface IPresenter - { + public interface IPresenter { bool IsViewEventsWired { get; set; } SynchronizationContext SyncContext { get; set; } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IProvisioningPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IProvisioningPresenter.cs new file mode 100644 index 0000000..cbee8c5 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/IProvisioningPresenter.cs @@ -0,0 +1,7 @@ +namespace DfBAdminToolkit.Presenter { + public interface IProvisioningPresenter + : IPresenter { + + void UpdateSettings(); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ISettingsPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ISettingsPresenter.cs new file mode 100644 index 0000000..f65b561 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ISettingsPresenter.cs @@ -0,0 +1,8 @@ +using System.Windows.Forms; + +namespace DfBAdminToolkit.Presenter { + public interface ISettingsPresenter { + + void ShowSettings(IWin32Window owner); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ITextSearchPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ITextSearchPresenter.cs new file mode 100644 index 0000000..d6dee47 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ITextSearchPresenter.cs @@ -0,0 +1,7 @@ +namespace DfBAdminToolkit.Presenter { + public interface ITextSearchPresenter + : IPresenter { + + void UpdateSettings(); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/LegalPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/LegalPresenter.cs similarity index 80% rename from DfBAdminToolkit/DfBAdminToolkit/Presenter/LegalPresenter.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/LegalPresenter.cs index b5d772e..e641e2e 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/LegalPresenter.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/LegalPresenter.cs @@ -1,5 +1,5 @@ -namespace DfBAdminToolkit.Presenter -{ +namespace DfBAdminToolkit.Presenter { + using DfBAdminToolkit.Common.Utils; using DfBAdminToolkit.Model; using DfBAdminToolkit.View; @@ -7,15 +7,13 @@ using System.Windows.Forms; public class LegalPresenter - : PresenterBase, ILegalPresenter - { + : PresenterBase, ILegalPresenter { + public LegalPresenter(ILegalModel model, ILegalView view) - : base(model, view) - { + : base(model, view) { } - protected override void Initialize() - { + protected override void Initialize() { // read data from model ILegalView view = base._view as ILegalView; ILegalModel model = base._model as ILegalModel; @@ -24,10 +22,8 @@ protected override void Initialize() ); } - protected override void WireViewEvents() - { - if (!IsViewEventsWired) - { + protected override void WireViewEvents() { + if (!IsViewEventsWired) { ILegalView view = base._view as ILegalView; view.DataChanged += OnDataChanged; view.CommandAccept += OnCommandAccept; @@ -36,10 +32,8 @@ protected override void WireViewEvents() } } - protected override void UnWireViewEvents() - { - if (IsViewEventsWired) - { + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { ILegalView view = base._view as ILegalView; view.DataChanged -= OnDataChanged; view.CommandAccept -= OnCommandAccept; @@ -48,14 +42,12 @@ protected override void UnWireViewEvents() } } - protected override void CleanUp() - { + protected override void CleanUp() { } #region Events - private void OnDataChanged(object sender, System.EventArgs e) - { + private void OnDataChanged(object sender, System.EventArgs e) { ILegalView view = base._view as ILegalView; ILegalModel model = base._model as ILegalModel; PresenterBase.SetModelPropertiesFromView<ILegalModel, ILegalView>( @@ -63,21 +55,17 @@ private void OnDataChanged(object sender, System.EventArgs e) ); } - private void OnCommandDecline(object sender, System.EventArgs e) - { + private void OnCommandDecline(object sender, System.EventArgs e) { Application.Exit(); } - private void OnCommandAccept(object sender, System.EventArgs e) - { + private void OnCommandAccept(object sender, System.EventArgs e) { RegistryKey key = RegistryUtils.CreateKey(ApplicationResource.RegistryEntryPoint); RegistryUtils.SetKeyValue(key, ApplicationResource.RegistryKey, bool.TrueString); IView view = base._view; - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { // hide legal view view.HideView(); diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/MainPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/MainPresenter.cs new file mode 100644 index 0000000..5a4e591 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/MainPresenter.cs @@ -0,0 +1,97 @@ +namespace DfBAdminToolkit.Presenter { + + using DfBAdminToolkit.Model; + using DfBAdminToolkit.View; + + public class MainPresenter + : PresenterBase, IMainPresenter { + + public MainPresenter() + : this(new MainModel(), new MainView()) { + } + + public MainPresenter(IMainModel model, IMainView view) + : base(model, view) { + } + + protected override void Initialize() { + // TODO: + // any main view related components will be synced from + // model here + } + + protected override void WireViewEvents() { + if (!IsViewEventsWired) { + // TODO: + // wire up main view events + } + } + + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { + // TODO: + // unwire main view events + } + } + + protected override void CleanUp() { + } + + #region Signals + + public void ShowView() { + if (SyncContext != null) { + SyncContext.Post(delegate { + base._view.ShowView(); + }, null); + } + } + + public void ActivateSpinner(bool activate) { + IMainView view = base._view as IMainView; + if (SyncContext != null) { + SyncContext.Post(delegate { + view.EnableLoadingSpinner(activate); + }, null); + } + } + + public void EnableControl(bool enable) { + IMainView view = base._view as IMainView; + if (SyncContext != null) { + SyncContext.Post(delegate { + view.EnableView(enable); + }, null); + } + } + + public void UpdateProgressInfo(string text) { + IMainView view = base._view as IMainView; + if (SyncContext != null) { + SyncContext.Post(delegate { + view.UpdateProgressText(text); + }, null); + } + } + + public void ShowErrorMessage(string text, string title) { + IMainView view = base._view as IMainView; + if (SyncContext != null) { + SyncContext.Post(delegate { + view.ShowErrorMessage(text, title); + }, null); + } + } + + public void ShowInfoMessage(string text) { + IMainView view = base._view as IMainView; + if (SyncContext != null) { + SyncContext.Post(delegate { + view.ShowInfoMessage(text); + }, null); + } + } + + #endregion Signals + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/PresenterBase.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/PresenterBase.cs similarity index 71% rename from DfBAdminToolkit/DfBAdminToolkit/Presenter/PresenterBase.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/PresenterBase.cs index 35161c9..8910578 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/PresenterBase.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/PresenterBase.cs @@ -1,5 +1,5 @@ -namespace DfBAdminToolkit.Presenter -{ +namespace DfBAdminToolkit.Presenter { + using DfBAdminToolkit.Model; using DfBAdminToolkit.View; using System; @@ -8,8 +8,7 @@ using System.Reflection; using System.Threading; - public class PresenterBase - { + public class PresenterBase { private static readonly object _syncLock = new object(); protected IModel _model; protected IView _view; @@ -18,8 +17,7 @@ public class PresenterBase public SynchronizationContext SyncContext { get; set; } - public PresenterBase(IModel model, IView view) - { + public PresenterBase(IModel model, IView view) { _model = model; _view = view; SyncContext = _view.SyncContext; @@ -27,26 +25,21 @@ public PresenterBase(IModel model, IView view) WireViewEvents(); } - ~PresenterBase() - { + ~PresenterBase() { UnWireViewEvents(); CleanUp(); } - protected virtual void Initialize() - { + protected virtual void Initialize() { } - protected virtual void WireViewEvents() - { + protected virtual void WireViewEvents() { } - protected virtual void UnWireViewEvents() - { + protected virtual void UnWireViewEvents() { } - protected virtual void CleanUp() - { + protected virtual void CleanUp() { } #region Helper @@ -55,12 +48,9 @@ protected static void SyncProperties<T, E>( T source, ref E target, Type customAttribute, - Type customAttributeToCompare) - { - lock (_syncLock) - { - try - { + Type customAttributeToCompare) { + lock (_syncLock) { + try { List<PropertyInfo> sourceProperties = source.GetType().GetProperties() .Where(p => p.GetCustomAttributes(customAttribute, true).Length > 0).ToList(); @@ -69,14 +59,11 @@ protected static void SyncProperties<T, E>( .Where(p => p.GetCustomAttributes(customAttributeToCompare, true).Length > 0).ToList(); bool isSyncAllowed = true; - foreach (PropertyInfo srcCompProp in propertiesToCompare) - { - if (srcCompProp.CanRead) - { + foreach (PropertyInfo srcCompProp in propertiesToCompare) { + if (srcCompProp.CanRead) { PropertyInfo tgtCompProp = target.GetType().GetProperty(srcCompProp.Name); if (tgtCompProp != null && - tgtCompProp.PropertyType.Equals(srcCompProp.PropertyType)) - { + tgtCompProp.PropertyType.Equals(srcCompProp.PropertyType)) { object sourceValue = Convert.ChangeType( srcCompProp.GetValue(source, null), @@ -88,118 +75,91 @@ object targetValue tgtCompProp.GetValue(target, null), tgtCompProp.PropertyType ); - if (!sourceValue.ToString().Equals(targetValue.ToString())) - { + if (!sourceValue.ToString().Equals(targetValue.ToString())) { isSyncAllowed = false; } } } } - if (isSyncAllowed) - { - foreach (PropertyInfo srcProp in sourceProperties) - { - if (srcProp.CanRead) - { + if (isSyncAllowed) { + foreach (PropertyInfo srcProp in sourceProperties) { + if (srcProp.CanRead) { PropertyInfo tgtProp = target.GetType().GetProperty(srcProp.Name); if (tgtProp != null && - tgtProp.PropertyType.Equals(srcProp.PropertyType)) - { + tgtProp.PropertyType.Equals(srcProp.PropertyType)) { object valueToAssign = Convert.ChangeType( srcProp.GetValue(source, null), tgtProp.PropertyType ); - if (valueToAssign != null) - { + if (valueToAssign != null) { tgtProp.SetValue(target, valueToAssign, null); } } } } } - } - catch - { + } catch { throw; } } } - protected static void SetModelPropertiesFromView<T, E>(ref T model, E view) - { - lock (_syncLock) - { - try - { - foreach (PropertyInfo viewProperty in view.GetType().GetProperties()) - { - if (viewProperty.CanRead) - { + protected static void SetModelPropertiesFromView<T, E>(ref T model, E view) { + lock (_syncLock) { + try { + foreach (PropertyInfo viewProperty in view.GetType().GetProperties()) { + if (viewProperty.CanRead) { PropertyInfo modelProperty = model.GetType().GetProperty(viewProperty.Name); if (modelProperty != null && - modelProperty.PropertyType.Equals(viewProperty.PropertyType)) - { + modelProperty.PropertyType.Equals(viewProperty.PropertyType)) { object valueToAssign = Convert.ChangeType( viewProperty.GetValue(view, null), modelProperty.PropertyType ); - if (valueToAssign != null) - { + if (valueToAssign != null) { modelProperty.SetValue(model, valueToAssign, null); } } } } - } - catch - { + } catch { throw; } } } - protected static void SetViewPropertiesFromModel<T, E>(ref T view, E model) - { - lock (_syncLock) - { - try - { - foreach (PropertyInfo viewProperty in view.GetType().GetProperties()) - { - if (viewProperty.CanWrite) - { + protected static void SetViewPropertiesFromModel<T, E>(ref T view, E model) { + lock (_syncLock) { + try { + foreach (PropertyInfo viewProperty in view.GetType().GetProperties()) { + if (viewProperty.CanWrite) { PropertyInfo modelProperty = model.GetType().GetProperty(viewProperty.Name); if (modelProperty != null && - modelProperty.PropertyType.Equals(viewProperty.PropertyType)) - { + modelProperty.PropertyType.Equals(viewProperty.PropertyType)) { object modelValue = modelProperty.GetValue(model, null); - if (modelValue != null) - { + if (modelValue != null) { object valueToAssign = Convert.ChangeType( modelValue, viewProperty.PropertyType ); - if (valueToAssign != null) - { + if (valueToAssign != null) { viewProperty.SetValue(view, valueToAssign, null); } } } } } - } - catch - { + } catch { throw; } } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs new file mode 100644 index 0000000..0c246e0 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs @@ -0,0 +1,440 @@ +namespace DfBAdminToolkit.Presenter { + + using CsvHelper; + using CsvHelper.Configuration; + using DfBAdminToolkit.Common.Services; + using DfBAdminToolkit.Common.Utils; + using DfBAdminToolkit.Model; + using DfBAdminToolkit.View; + using Newtonsoft.Json; + using System; + using System.Configuration; + using System.IO; + using System.Linq; + using System.Net; + using System.Threading; + + public class ProvisioningPresenter + : PresenterBase, IProvisioningPresenter { + + public ProvisioningPresenter(IProvisioningModel model, IProvisioningView view) + : base(model, view) { + } + + protected override void Initialize() { + IProvisioningView view = base._view as IProvisioningView; + IProvisioningModel model = base._model as IProvisioningModel; + PresenterBase.SetViewPropertiesFromModel<IProvisioningView, IProvisioningModel>( + ref view, model + ); + + SyncContext.Post(delegate { + view.RefreshAccessToken(); + }, null); + } + + protected override void WireViewEvents() { + if (!IsViewEventsWired) { + IProvisioningView view = base._view as IProvisioningView; + view.DataChanged += OnDataChanged; + view.CommandProvision += OnCommandProvision; + view.CommandDeprovision += OnCommandDeprovision; + view.CommandLoadInputFile += OnCommandLoadInputFile; + view.CommandCreateCSV += OnCommandListMembersCreateCSV; + IsViewEventsWired = true; + } + } + + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { + IProvisioningView view = base._view as IProvisioningView; + view.DataChanged -= OnDataChanged; + view.CommandProvision -= OnCommandProvision; + view.CommandDeprovision -= OnCommandDeprovision; + view.CommandLoadInputFile -= OnCommandLoadInputFile; + view.CommandCreateCSV -= OnCommandListMembersCreateCSV; + IsViewEventsWired = false; + } + } + + protected override void CleanUp() { + } + + public bool LoadInputFile(IProvisioningModel model, IMainPresenter presenter) { + bool loaded = true; + try { + FileInfo fInfo = new FileInfo(model.InputFilePath); + if (fInfo.Exists) { + // try load. + model.Members.Clear(); + CsvConfiguration config = new CsvConfiguration() { + HasHeaderRecord = false + }; + using (CsvReader reader = new CsvReader(new StreamReader(fInfo.FullName), config)) { + while (reader.Read()) { + try { + MemberListViewItemModel lvItem = new MemberListViewItemModel() { + Email = reader.GetField<string>(0), + FirstName = reader.GetField<string>(1), + LastName = reader.GetField<string>(2), + IsChecked = true + }; + model.Members.Add(lvItem); + } catch { + throw new InvalidDataException(ErrorMessages.INVALID_CSV_DATA); + } + } + if (model.Members.Any()) { + loaded = true; + } + } + } else { + throw new InvalidDataException(ErrorMessages.MISSING_CSV_FILE); + } + } catch (Exception e) { + // error message. + SyncContext.Post(delegate { + presenter.ShowErrorMessage(e.Message, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.UpdateProgressInfo(""); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } + return loaded; + } + + public void UpdateSettings() { + OnDataChanged(this, new EventArgs()); + } + + #region REST Service + + private string ProvisionRoles(IProvisioningModel model, IMainPresenter presenter) { + string errorMessage = string.Empty; + IMemberServices service = service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + service.AddMemberUrl = ApplicationResource.ActionAddMember; + foreach (MemberListViewItemModel item in model.Members.Where(m => m.IsChecked).ToList()) { + IServiceResponse response = service.AddMember(new MemberData() { + Email = item.Email, + FirstName = item.FirstName, + LastName = item.LastName, + SendWelcomeEmail = model.SendWelcomeEmail, + RoleName = model.SelectedRole + }, model.AccessToken); + + if (response.StatusCode == System.Net.HttpStatusCode.OK) { + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Updated Member: {0}: {1} {2}", item.Email, item.FirstName, item.LastName)); + }, null); + } + } else { + errorMessage = ErrorMessages.FAILED_TO_ADD_MEMBER; + } + } + return errorMessage; + } + + private string DeprovisionRoles(IProvisioningModel model, IMainPresenter presenter) { + string errorMessage = string.Empty; + IMemberServices service = service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + service.RemoveMemberUrl = ApplicationResource.ActionRemoveMember; + foreach (MemberListViewItemModel item in model.Members.Where(m => m.IsChecked).ToList()) { + IServiceResponse response = service.RemoveMember(new MemberData() { + Email = item.Email + }, model.AccessToken); + + if (response.StatusCode == System.Net.HttpStatusCode.OK) { + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Removed Member: {0}", item.Email)); + }, null); + } + } else { + errorMessage = ErrorMessages.FAILED_TO_REMOVE_MEMBER; + } + } + return errorMessage; + } + + private void SearchMembersCreateCSV(IProvisioningModel model) { + string UserAccessToken = ConfigurationManager.AppSettings.Get("DefaultAccessToken"); + if (!string.IsNullOrEmpty(UserAccessToken)) { + MemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); + service.ListMembersUrl = ApplicationResource.ActionListMembers; + IDataResponse response = service.ListMembers(new MemberData() { + SearchLimit = ApplicationResource.SearchDefaultLimit + }, UserAccessToken); + + if (response.StatusCode == HttpStatusCode.OK) { + if (response.Data != null) { + string data = response.Data.ToString(); + dynamic jsonData = JsonConvert.DeserializeObject<dynamic>(data); + + // clear existing data first + model.Members.Clear(); + + int resultCount = jsonData["members"].Count; + for (int i = 0; i < resultCount; i++) { + dynamic emailObj = jsonData["members"][i]["profile"]["email"]; + dynamic statusObj = jsonData["members"][i]["profile"]["status"][".tag"]; + dynamic firstNameObj = jsonData["members"][i]["profile"]["name"]["given_name"]; + dynamic lastNameObj = jsonData["members"][i]["profile"]["name"]["surname"]; + dynamic roleObj = jsonData["members"][i]["role"][".tag"]; + string email = emailObj.Value as string; + string status = statusObj.Value as string; + string firstName = firstNameObj.Value as string; + string lastName = lastNameObj.Value as string; + string role = roleObj.Value as string; + + // update model + MemberListViewItemModel lvItem = new MemberListViewItemModel() { + Email = email, + FirstName = firstName, + LastName = lastName, + Status = status, + Role = role + }; + + model.Members.Add(lvItem); + } + //if the memberID count is above limit - default 1000 we need to grab the cursor and call continue + bool hasMore = jsonData["has_more"]; + string cursor = jsonData["cursor"]; + + while (hasMore) { + service.ListMembersContinuationUrl = ApplicationResource.ActionListMembersContinuation; + IDataResponse responseCont = service.ListMembersContinuation(new MemberData() { + Cursor = cursor + }, UserAccessToken); + + string dataCont = responseCont.Data.ToString(); + dynamic jsonDataCont = JsonConvert.DeserializeObject<dynamic>(dataCont); + + int resultContCount = jsonDataCont["members"].Count; + for (int i = 0; i < resultContCount; i++) { + dynamic emailObj = jsonDataCont["members"][i]["profile"]["email"]; + dynamic statusObj = jsonDataCont["members"][i]["profile"]["status"][".tag"]; + dynamic firstNameObj = jsonDataCont["members"][i]["profile"]["name"]["given_name"]; + dynamic lastNameObj = jsonDataCont["members"][i]["profile"]["name"]["surname"]; + dynamic roleObj = jsonDataCont["members"][i]["role"][".tag"]; + string email = emailObj.Value as string; + string status = statusObj.Value as string; + string firstName = firstNameObj.Value as string; + string lastName = lastNameObj.Value as string; + string role = roleObj.Value as string; + + // update model + MemberListViewItemModel lvItem = new MemberListViewItemModel() { + Email = email, + FirstName = firstName, + LastName = lastName, + Status = status, + Role = role + }; + + model.Members.Add(lvItem); + } + hasMore = jsonDataCont["has_more"]; + cursor = jsonDataCont["cursor"]; + } + } + } + } + } + + #endregion REST Service + + #region Events + + private void OnCommandLoadInputFile(object sender, EventArgs e) { + IProvisioningView view = base._view as IProvisioningView; + IProvisioningModel model = base._model as IProvisioningModel; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Loading Input File..."); + }, null); + } + + // TODO: to improve stability, we will need to ensure to kill + // thread when user exits application while thread is running for REST service call + Thread load = new Thread(() => { + if (!string.IsNullOrEmpty(model.AccessToken)) { + bool loaded = this.LoadInputFile(model, presenter); + if (SyncContext != null) { + SyncContext.Post(delegate { + // update result and update view. + view.RenderMemberList(model.Members); + presenter.UpdateProgressInfo("CSV Loaded"); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + view.EnableProvisionButton(loaded); + view.EnableDeprovisionButton(loaded); + }, null); + } + } + }); + load.Start(); + } + + private void OnCommandProvision(object sender, System.EventArgs e) { + IProvisioningView view = base._view as IProvisioningView; + IProvisioningModel model = base._model as IProvisioningModel; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Processing..."); + }, null); + } + + // TODO: to improve stability, we will need to ensure to kill + // thread when user exits application while thread is running for REST service call + Thread provision = new Thread(() => { + if (string.IsNullOrEmpty(model.AccessToken)) { + SyncContext.Post(delegate { + presenter.EnableControl(true); + presenter.ActivateSpinner(false); + presenter.UpdateProgressInfo(""); + }, null); + } else if (string.IsNullOrEmpty(model.SelectedRole)) { + SyncContext.Post(delegate { + presenter.ShowErrorMessage(ErrorMessages.MISSING_ROLE, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.EnableControl(true); + presenter.ActivateSpinner(false); + presenter.UpdateProgressInfo(""); + }, null); + } else { + string error = ProvisionRoles(model, presenter); + if (SyncContext != null) { + SyncContext.Post(delegate { + if (!string.IsNullOrEmpty(error)) { + presenter.ShowErrorMessage(error, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.UpdateProgressInfo(""); + } else { + presenter.UpdateProgressInfo("Completed"); + } + // update result and update view. + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } + } + }); + provision.Start(); + } + + private void OnCommandDeprovision(object sender, System.EventArgs e) { + IProvisioningView view = base._view as IProvisioningView; + IProvisioningModel model = base._model as IProvisioningModel; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Processing..."); + }, null); + } + + // TODO: to improve stability, we will need to ensure to kill + // thread when user exits application while thread is running for REST service call + Thread deprovision = new Thread(() => { + if (string.IsNullOrEmpty(model.AccessToken)) { + SyncContext.Post(delegate { + presenter.EnableControl(true); + presenter.ActivateSpinner(false); + presenter.UpdateProgressInfo(""); + }, null); + } else { + string error = DeprovisionRoles(model, presenter); + if (SyncContext != null) { + SyncContext.Post(delegate { + if (!string.IsNullOrEmpty(error)) { + presenter.ShowErrorMessage(error, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.UpdateProgressInfo(""); + } else { + presenter.UpdateProgressInfo("Completed"); + } + // update result and update view. + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } + } + }); + deprovision.Start(); + } + + private void OnCommandListMembersCreateCSV(object sender, EventArgs e) { + IProvisioningView view = base._view as IProvisioningView; + IProvisioningModel model = base._model as IProvisioningModel; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + + // notify view to mark start of process + if (SyncContext != null) { + SyncContext.Post(delegate { + presenter.EnableControl(false); + presenter.ActivateSpinner(true); + presenter.UpdateProgressInfo("Creating CSV file..."); + }, null); + } + + // TODO: to improve stability, we will need to ensure to kill + // thread when user exits application while thread is running for REST service call + Thread createCSV = new Thread(() => { + if (string.IsNullOrEmpty(ConfigurationManager.AppSettings.Get("DefaultAccessToken"))) { + SyncContext.Post(delegate { + presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); + presenter.UpdateProgressInfo(""); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } else { + // perform search + this.SearchMembersCreateCSV(model); + if (SyncContext != null) { + SyncContext.Post(delegate { + // update result and update view. + PresenterBase.SetViewPropertiesFromModel<IProvisioningView, IProvisioningModel>( + ref view, model + ); + //view.RenderMembersFileSearchResult(); + string sPath = string.Empty; + if (model.Members.Count > 0) { + //create CSV file in My Documents folder + sPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\DBMembers.csv"; + + StreamWriter SaveFile = new StreamWriter(sPath); + foreach (var item in model.Members) { + SaveFile.WriteLine(item.Email + "," + item.FirstName + "," + item.LastName + "," + item.Status + "," + item.Role); + } + SaveFile.Close(); + } + presenter.UpdateProgressInfo("Completed. Exported file located at " + sPath); + presenter.ActivateSpinner(false); + presenter.EnableControl(true); + }, null); + } + } + }); + // start async search + createCSV.Start(); + } + + private void OnDataChanged(object sender, System.EventArgs e) { + IProvisioningView view = base._view as IProvisioningView; + IProvisioningModel model = base._model as IProvisioningModel; + PresenterBase.SetModelPropertiesFromView<IProvisioningModel, IProvisioningView>( + ref model, view + ); + } + + #endregion Events + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/SettingsPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/SettingsPresenter.cs new file mode 100644 index 0000000..b177aec --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/SettingsPresenter.cs @@ -0,0 +1,132 @@ +namespace DfBAdminToolkit.Presenter { + + using Common.Utils; + using Model; + using System.Configuration; + using System.Windows.Forms; + using View; + + public class SettingsPresenter + : PresenterBase, ISettingsPresenter { + + public SettingsPresenter(ISettingsModel model, ISettingsView view) + : base(model, view) { + Initialize(); + } + + protected override void Initialize() { + ConfigurationManager.RefreshSection("configuration"); + FileUtil.ResetConfigMechanism(); + GetConfigSettings(); + + ISettingsView view = base._view as ISettingsView; + ISettingsModel model = base._model as ISettingsModel; + PresenterBase.SetViewPropertiesFromModel<ISettingsView, ISettingsModel>( + ref view, model + ); + } + + protected override void WireViewEvents() { + if (!IsViewEventsWired) { + ISettingsView view = base._view as ISettingsView; + view.DataChanged += OnDataChanged; + view.CommandApplySettings += OnCommandApplySettings; + view.CommandCancelSettings += OnCommandCancelSettings; + IsViewEventsWired = true; + } + } + + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { + ISettingsView view = base._view as ISettingsView; + view.DataChanged -= OnDataChanged; + view.CommandApplySettings -= OnCommandApplySettings; + view.CommandCancelSettings -= OnCommandCancelSettings; + IsViewEventsWired = false; + } + } + + private void UpdateConfigSettings() { + ISettingsModel model = base._model as ISettingsModel; + + //update config file with any new settings you changed + FileUtil.UpdateKey("BaseUrl", model.ApiBaseUrl.Trim()); + FileUtil.UpdateKey("ContentUrl", model.ApiContentBaseUrl.Trim()); + FileUtil.UpdateKey("ApiVersion", model.ApiVersion.Trim()); + FileUtil.UpdateKey("SearchDefaultLimit", model.SearchDefaultLimit.ToString()); + FileUtil.UpdateKey("DefaultAccessToken", model.DefaultAccessToken.Trim()); + FileUtil.UpdateKey("DefaultProvisionToken", model.DefaultProvisionToken.Trim()); + Configuration config = ConfigurationManager.OpenExeConfiguration(FileUtil.GetAppPath() + "DfBAdminToolkit.exe"); + ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name); + FileUtil.ResetConfigMechanism(); + } + + private void GetConfigSettings() { + ISettingsModel model = base._model as ISettingsModel; + Configuration config = ConfigurationManager.OpenExeConfiguration(FileUtil.GetAppPath() + "DfBAdminToolkit.exe"); + ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name); + FileUtil.ResetConfigMechanism(); + + model.DefaultAccessToken = ApplicationResource.DefaultAccessToken; + model.DefaultProvisionToken = ApplicationResource.DefaultProvisionToken; + model.SearchDefaultLimit = ApplicationResource.SearchDefaultLimit; + model.ApiBaseUrl = ApplicationResource.BaseUrl; + model.ApiContentBaseUrl = ApplicationResource.ContentUrl; + model.ApiVersion = ApplicationResource.ApiVersion; + } + + public void ShowSettings(IWin32Window owner) { + ISettingsView view = base._view as ISettingsView; + IWin32Window parent = owner; + if (SyncContext != null) { + SyncContext.Post(delegate { + view.LoadSettingValues(); + view.ShowView(parent); + }, null); + } + } + + #region Events + + private void OnCommandApplySettings(object sender, System.EventArgs e) { + ISettingsModel model = base._model as ISettingsModel; + ISettingsView view = base._view as ISettingsView; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + PresenterBase.SetModelPropertiesFromView<ISettingsModel, ISettingsView>( + ref model, view + ); + UpdateConfigSettings(); + + // we will probably don't need to broadcast changes, + // as previous result becomes no longere meaningful upon update of token or API urls. + if (SyncContext != null) { + SyncContext.Post(delegate { + view.HideView(); + presenter.UpdateProgressInfo("Settings Updated"); + Application.Restart(); + }, null); + } + } + + private void OnCommandCancelSettings(object sender, System.EventArgs e) { + ISettingsView view = base._view as ISettingsView; + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); + if (SyncContext != null) { + SyncContext.Post(delegate { + view.HideView(); + presenter.UpdateProgressInfo("Settings Update Cancelled"); + }, null); + } + } + + private void OnDataChanged(object sender, System.EventArgs e) { + ISettingsView view = base._view as ISettingsView; + ISettingsModel model = base._model as ISettingsModel; + PresenterBase.SetModelPropertiesFromView<ISettingsModel, ISettingsView>( + ref model, view + ); + } + + #endregion Events + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/TextSearchPresenter.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/TextSearchPresenter.cs similarity index 76% rename from DfBAdminToolkit/DfBAdminToolkit/Presenter/TextSearchPresenter.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/TextSearchPresenter.cs index 5db9260..aef2ddd 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/TextSearchPresenter.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Presenter/TextSearchPresenter.cs @@ -1,5 +1,5 @@ -namespace DfBAdminToolkit.Presenter -{ +namespace DfBAdminToolkit.Presenter { + using DfBAdminToolkit.Common.Services; using DfBAdminToolkit.Common.Utils; using DfBAdminToolkit.Model; @@ -10,15 +10,13 @@ using System.Threading; public class TextSearchPresenter - : PresenterBase, ITextSearchPresenter - { + : PresenterBase, ITextSearchPresenter { + public TextSearchPresenter(ITextSearchModel model, ITextSearchView view) - : base(model, view) - { + : base(model, view) { } - protected override void Initialize() - { + protected override void Initialize() { // read data from model ITextSearchView view = base._view as ITextSearchView; ITextSearchModel model = base._model as ITextSearchModel; @@ -26,18 +24,15 @@ protected override void Initialize() ref view, model ); - SyncContext.Post(delegate - { + SyncContext.Post(delegate { view.RefreshAccessToken(); view.RenderSearchModeSelections(); view.SetSearchResultLimit(model.SearchResultsLimit); }, null); } - protected override void WireViewEvents() - { - if (!IsViewEventsWired) - { + protected override void WireViewEvents() { + if (!IsViewEventsWired) { // TODO: // Wire up events ITextSearchView view = base._view as ITextSearchView; @@ -48,10 +43,8 @@ protected override void WireViewEvents() } } - protected override void UnWireViewEvents() - { - if (IsViewEventsWired) - { + protected override void UnWireViewEvents() { + if (IsViewEventsWired) { // TODO // Unwire events ITextSearchView view = base._view as ITextSearchView; @@ -62,82 +55,78 @@ protected override void UnWireViewEvents() } } - protected override void CleanUp() - { + protected override void CleanUp() { + } + + public void UpdateSettings() { + OnDataChanged(this, new EventArgs()); } #region REST Service - private bool SearchFiles(IMemberServices service/*string url*/, string memberId, ITextSearchModel model, string email) - { + private bool SearchFiles( + IMemberServices service, + string memberId, + ITextSearchModel model, + string email, + IMainPresenter presenter) { bool filesAdded = false; - try - { + try { service.SearchFilesUrl = ApplicationResource.ActionFileSearch; - IDataResponse response = service.SearchFiles(new MemberData() - { + IDataResponse response = service.SearchFiles(new MemberData() { SearchText = model.QueryString, SearchLimit = ApplicationResource.SearchFileCountLimit,//model.SearchResultsLimit, SearchMode = model.GetSearchModeForService(), MemberId = memberId }, model.AccessToken); - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - if (response.Data != null) - { + if (response.StatusCode == System.Net.HttpStatusCode.OK) { + if (response.Data != null) { string data = response.Data.ToString(); dynamic jsonDataSearch = JsonConvert.DeserializeObject<dynamic>(data); if (jsonDataSearch["matches"] != null && - jsonDataSearch["matches"].ToString() != "[]") - { + jsonDataSearch["matches"].ToString() != "[]") { int matchCount = jsonDataSearch["matches"].Count; - for (int j = 0; j < matchCount; j++) - { + for (int j = 0; j < matchCount; j++) { string pathLower = jsonDataSearch["matches"][j]["metadata"]["path_lower"]; // update model - MemberListViewItemModel item = new MemberListViewItemModel() - { + MemberListViewItemModel item = new MemberListViewItemModel() { Email = email, Path = pathLower, MemberId = memberId }; // add searched members to list. model.MemberList.Add(item); + + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Member: {0} File : {1}", email, item.Path)); + }, null); } - if (matchCount > 0) - { + + if (matchCount > 0) { filesAdded = true; } } } } - } - catch (Exception e) - { - // consume - // TODO: - // log error to DB? + } catch (Exception e) { + Console.WriteLine(e.Message); } return filesAdded; } - private void SearchMembers(ITextSearchModel model) - { + private void SearchMembers(ITextSearchModel model) { if (!string.IsNullOrEmpty(model.QueryString) && - !string.IsNullOrEmpty(model.AccessToken)) - { + !string.IsNullOrEmpty(model.AccessToken)) { MemberServices service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); service.ListMembersUrl = ApplicationResource.ActionListMembers; - IDataResponse response = service.ListMembers(new MemberData() - { + IDataResponse response = service.ListMembers(new MemberData() { SearchLimit = model.SearchResultsLimit }, model.AccessToken); + IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - if (response.Data != null) - { + if (response.StatusCode == System.Net.HttpStatusCode.OK) { + if (response.Data != null) { string data = response.Data.ToString(); dynamic jsonData = JsonConvert.DeserializeObject<dynamic>(data); @@ -145,30 +134,28 @@ private void SearchMembers(ITextSearchModel model) model.MemberList.Clear(); int resultCount = jsonData["members"].Count; - for (int i = 0; i < resultCount; i++) - { + for (int i = 0; i < resultCount; i++) { dynamic idObj = jsonData["members"][i]["profile"]["team_member_id"]; dynamic emailObj = jsonData["members"][i]["profile"]["email"]; string memberId = idObj.Value as string; string email = emailObj.Value as string; // update model - MemberListViewItemModel lvItem = new MemberListViewItemModel() - { + MemberListViewItemModel lvItem = new MemberListViewItemModel() { Email = email, MemberId = memberId }; // perform file search - if (!SearchFiles(service, memberId, model, email)) - { + if (!SearchFiles(service, memberId, model, email, presenter)) { model.MemberList.Add(lvItem); } + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(string.Format("Searching Content(s) From : {0}", email)); + }, null); } } - } - else - { + } else { // TODO: Report error } } @@ -178,8 +165,7 @@ private void SearchMembers(ITextSearchModel model) #region Events - private void OnDataChanged(object sender, System.EventArgs e) - { + private void OnDataChanged(object sender, System.EventArgs e) { ITextSearchView view = base._view as ITextSearchView; ITextSearchModel model = base._model as ITextSearchModel; PresenterBase.SetModelPropertiesFromView<ITextSearchModel, ITextSearchView>( @@ -187,17 +173,14 @@ private void OnDataChanged(object sender, System.EventArgs e) ); } - private void OnCommandMemberSearch(object sender, System.EventArgs e) - { + private void OnCommandMemberSearch(object sender, System.EventArgs e) { ITextSearchModel model = base._model as ITextSearchModel; ITextSearchView view = base._view as ITextSearchView; IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); // notify view to mark start of process - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { presenter.EnableControl(false); presenter.ActivateSpinner(true); presenter.UpdateProgressInfo("Processing..."); @@ -206,36 +189,26 @@ private void OnCommandMemberSearch(object sender, System.EventArgs e) // TODO: to improve stability, we will need to ensure to kill // thread when user exits application while thread is running for REST service call - Thread memberSearch = new Thread(() => - { - if (string.IsNullOrEmpty(model.QueryString)) - { - SyncContext.Post(delegate - { + Thread memberSearch = new Thread(() => { + if (string.IsNullOrEmpty(model.QueryString)) { + SyncContext.Post(delegate { presenter.ShowErrorMessage(ErrorMessages.MISSING_QUERYSTRING, ErrorMessages.DLG_DEFAULT_TITLE); presenter.UpdateProgressInfo(""); presenter.ActivateSpinner(false); presenter.EnableControl(true); }, null); - } - else if (string.IsNullOrEmpty(model.AccessToken)) - { - SyncContext.Post(delegate - { + } else if (string.IsNullOrEmpty(model.AccessToken)) { + SyncContext.Post(delegate { presenter.ShowErrorMessage(ErrorMessages.INVALID_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); presenter.UpdateProgressInfo(""); presenter.ActivateSpinner(false); presenter.EnableControl(true); }, null); - } - else - { + } else { // perform search this.SearchMembers(model); - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { // update result and update view. view.RenderMembersSearchResult(); presenter.UpdateProgressInfo("Completed"); @@ -249,8 +222,7 @@ private void OnCommandMemberSearch(object sender, System.EventArgs e) memberSearch.Start(); } - private void OnCommandClear(object sender, EventArgs e) - { + private void OnCommandClear(object sender, EventArgs e) { ITextSearchModel model = base._model as ITextSearchModel; ITextSearchView view = base._view as ITextSearchView; IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); @@ -263,10 +235,8 @@ private void OnCommandClear(object sender, EventArgs e) PresenterBase.SetViewPropertiesFromModel<ITextSearchView, ITextSearchModel>( ref view, model ); - if (SyncContext != null) - { - SyncContext.Post(delegate - { + if (SyncContext != null) { + SyncContext.Post(delegate { view.RenderComponents(); }, null); } diff --git a/DfBAdminToolkit/DfBAdminToolkit/Program.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Program.cs similarity index 67% rename from DfBAdminToolkit/DfBAdminToolkit/Program.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Program.cs index 18f414b..de3ff33 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Program.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Program.cs @@ -1,5 +1,5 @@ -namespace DfBAdminToolkit -{ +namespace DfBAdminToolkit { + using DfBAdminToolkit.Common.Utils; using DfBAdminToolkit.Model; using DfBAdminToolkit.Presenter; @@ -8,15 +8,13 @@ using System; using System.Windows.Forms; - internal static class Program - { + internal static class Program { + /// <summary> /// The main entry point for the application. /// </summary> [STAThread] - private static void Main() - - { + private static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); @@ -24,28 +22,21 @@ private static void Main() // check legal acceptance status // if user hasn't accepted license term yet, force user to land on legal page first. - - //TEMP - unbinding the legal check to get it to users.. will reenable later - //bool userPreviouslyAcceptedLegalTerm = false; - bool userPreviouslyAcceptedLegalTerm = true; - //RegistryKey key = RegistryUtils.FindKey(ApplicationResource.RegistryEntryPoint); - //if (key != null) - //{ - // // check acceptance status - // string value = RegistryUtils.GetKeyValue(key, ApplicationResource.RegistryKey); - // bool.TryParse(value, out userPreviouslyAcceptedLegalTerm); - //} - if (userPreviouslyAcceptedLegalTerm) - { + bool userPreviouslyAcceptedLegalTerm = false; + RegistryKey key = RegistryUtils.FindKey(ApplicationResource.RegistryEntryPoint); + if (key != null) { + // check acceptance status + string value = RegistryUtils.GetKeyValue(key, ApplicationResource.RegistryKey); + bool.TryParse(value, out userPreviouslyAcceptedLegalTerm); + } + if (userPreviouslyAcceptedLegalTerm) { IMainView appView = new MainView(); IMainModel appModel = new MainModel(); IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>( new object[] { appModel, appView } ); Application.Run(appView as MainView); - } - else - { + } else { // show legal view ILegalView legalView = new LegalView(); ILegalModel legalModel = new LegalModel(); @@ -57,17 +48,18 @@ private static void Main() Unbind(); } - private static void Bind() - { + private static void Bind() { SimpleResolver.Instance.Bind<IMainPresenter>(typeof(MainPresenter)); SimpleResolver.Instance.Bind<ILegalPresenter>(typeof(LegalPresenter)); SimpleResolver.Instance.Bind<ITextSearchPresenter>(typeof(TextSearchPresenter)); SimpleResolver.Instance.Bind<IDumpUserContentPresenter>(typeof(DumpUserContentPresenter)); SimpleResolver.Instance.Bind<IProvisioningPresenter>(typeof(ProvisioningPresenter)); + SimpleResolver.Instance.Bind<IDevicesPresenter>(typeof(DevicesPresenter)); + SimpleResolver.Instance.Bind<IDataMigrationPresenter>(typeof(DataMigrationPresenter)); + SimpleResolver.Instance.Bind<ISettingsPresenter>(typeof(SettingsPresenter)); } - private static void Unbind() - { + private static void Unbind() { SimpleResolver.Instance.Dispose(); } } diff --git a/DfBAdminToolkit/DfBAdminToolkit/Properties/AssemblyInfo.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Properties/AssemblyInfo.cs similarity index 90% rename from DfBAdminToolkit/DfBAdminToolkit/Properties/AssemblyInfo.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Properties/AssemblyInfo.cs index 162b9bd..f0ffe1f 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/Properties/AssemblyInfo.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/Properties/AssemblyInfo.cs @@ -8,7 +8,7 @@ [assembly: AssemblyTitle("Dropbox Business Admin Toolkit")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] +[assembly: AssemblyCompany("Dropbox Enterprise Services")] [assembly: AssemblyProduct("Dropbox Business Admin Toolkit")] [assembly: AssemblyCopyright("Copyright © 2016")] [assembly: AssemblyTrademark("")] @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("2.0.0.0")] +[assembly: AssemblyFileVersion("2.0.0.0")] diff --git a/DfBAdminToolkit/DfBAdminToolkit/Properties/Resources.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Resources.Designer.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Properties/Resources.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Resources.Designer.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/Properties/Resources.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Resources.resx similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Properties/Resources.resx rename to DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Resources.resx diff --git a/DfBAdminToolkit/DfBAdminToolkit/Properties/Settings.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Settings.Designer.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Properties/Settings.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Settings.Designer.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/Properties/Settings.settings b/DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Settings.settings similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Properties/Settings.settings rename to DfBAdminToolkit-v2/DfBAdminToolkit/Properties/Settings.settings diff --git a/DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/CustomTabControl.dll b/DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/CustomTabControl.dll similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/CustomTabControl.dll rename to DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/CustomTabControl.dll diff --git a/DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/MRG.Controls.UI.dll b/DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/MRG.Controls.UI.dll similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Referenced Dlls/MRG.Controls.UI.dll rename to DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/MRG.Controls.UI.dll diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/Newtonsoft.Json.dll similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.dll rename to DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/Newtonsoft.Json.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net452/RestSharp.dll b/DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net452/RestSharp.dll rename to DfBAdminToolkit-v2/DfBAdminToolkit/Referenced Dlls/RestSharp.dll diff --git a/DfBAdminToolkit/DfBAdminToolkit/Tooltips.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/Tooltips.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/Tooltips.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/Tooltips.cs diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.Designer.cs new file mode 100644 index 0000000..2d114fb --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.Designer.cs @@ -0,0 +1,429 @@ +namespace DfBAdminToolkit.View { + partial class DataMigrationView { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) { + if (disposing && (components != null)) { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() { + this.components = new System.ComponentModel.Container(); + DfBAdminToolkit.Common.Component.Office2010White office2010White1 = new DfBAdminToolkit.Common.Component.Office2010White(); + DfBAdminToolkit.Common.Component.Office2010Blue office2010Blue1 = new DfBAdminToolkit.Common.Component.Office2010Blue(); + this.tableLayoutPanel_DataMigration = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel_DataMigrationOperationGroup = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel_DataMigrationOperationButtonGroup = new System.Windows.Forms.TableLayoutPanel(); + this.buttonEx_DataMigrationDisplayContent = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.tableLayoutPanel_DataMigrationSplitContainer = new System.Windows.Forms.TableLayoutPanel(); + this.label_DataMigrationContentDisplay = new System.Windows.Forms.Label(); + this.label_DataMigrationSplitter = new System.Windows.Forms.Label(); + this.fastObjectListView_DataMigrationContentDisplay = new BrightIdeasSoftware.FastObjectListView(); + this.olvColumn_DMOwner = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMLogin = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMPath = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMPathId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMItemName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMItemId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMItemType = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMItemSize = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMCreated = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMLastModified = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumn_DMUploaded = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.tableLayoutPanel_DataMigrationExportGroup = new System.Windows.Forms.TableLayoutPanel(); + this.buttonEx_DataMigrationExportReport = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.label_DataMigrationOutputFilePath = new System.Windows.Forms.Label(); + this.tableLayoutPanel_DataMigrationExportSelectGroup = new System.Windows.Forms.TableLayoutPanel(); + this.buttonEx_DataMigrationSelectFolder = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.textBox_DataMigrationOutputPath = new DfBAdminToolkit.Common.Component.TextBoxEx(this.components); + this.tableLayoutPanel_DataMigration.SuspendLayout(); + this.tableLayoutPanel_DataMigrationOperationGroup.SuspendLayout(); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.SuspendLayout(); + this.tableLayoutPanel_DataMigrationSplitContainer.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.fastObjectListView_DataMigrationContentDisplay)).BeginInit(); + this.tableLayoutPanel_DataMigrationExportGroup.SuspendLayout(); + this.tableLayoutPanel_DataMigrationExportSelectGroup.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel_DataMigration + // + this.tableLayoutPanel_DataMigration.ColumnCount = 1; + this.tableLayoutPanel_DataMigration.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigration.Controls.Add(this.tableLayoutPanel_DataMigrationOperationGroup, 0, 0); + this.tableLayoutPanel_DataMigration.Controls.Add(this.tableLayoutPanel_DataMigrationSplitContainer, 0, 1); + this.tableLayoutPanel_DataMigration.Controls.Add(this.fastObjectListView_DataMigrationContentDisplay, 0, 2); + this.tableLayoutPanel_DataMigration.Controls.Add(this.tableLayoutPanel_DataMigrationExportGroup, 0, 3); + this.tableLayoutPanel_DataMigration.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DataMigration.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel_DataMigration.Name = "tableLayoutPanel_DataMigration"; + this.tableLayoutPanel_DataMigration.RowCount = 4; + this.tableLayoutPanel_DataMigration.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 42F)); + this.tableLayoutPanel_DataMigration.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 32F)); + this.tableLayoutPanel_DataMigration.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigration.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel_DataMigration.Size = new System.Drawing.Size(463, 459); + this.tableLayoutPanel_DataMigration.TabIndex = 0; + // + // tableLayoutPanel_DataMigrationOperationGroup + // + this.tableLayoutPanel_DataMigrationOperationGroup.ColumnCount = 2; + this.tableLayoutPanel_DataMigrationOperationGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationOperationGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 250F)); + this.tableLayoutPanel_DataMigrationOperationGroup.Controls.Add(this.tableLayoutPanel_DataMigrationOperationButtonGroup, 1, 0); + this.tableLayoutPanel_DataMigrationOperationGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DataMigrationOperationGroup.Location = new System.Drawing.Point(3, 3); + this.tableLayoutPanel_DataMigrationOperationGroup.Name = "tableLayoutPanel_DataMigrationOperationGroup"; + this.tableLayoutPanel_DataMigrationOperationGroup.RowCount = 1; + this.tableLayoutPanel_DataMigrationOperationGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationOperationGroup.Size = new System.Drawing.Size(457, 36); + this.tableLayoutPanel_DataMigrationOperationGroup.TabIndex = 0; + // + // tableLayoutPanel_DataMigrationOperationButtonGroup + // + this.tableLayoutPanel_DataMigrationOperationButtonGroup.ColumnCount = 2; + this.tableLayoutPanel_DataMigrationOperationButtonGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.Controls.Add(this.buttonEx_DataMigrationDisplayContent, 1, 0); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DataMigrationOperationButtonGroup.Location = new System.Drawing.Point(208, 1); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.Margin = new System.Windows.Forms.Padding(1); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.Name = "tableLayoutPanel_DataMigrationOperationButtonGroup"; + this.tableLayoutPanel_DataMigrationOperationButtonGroup.RowCount = 1; + this.tableLayoutPanel_DataMigrationOperationButtonGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.Size = new System.Drawing.Size(248, 34); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.TabIndex = 0; + // + // buttonEx_DataMigrationDisplayContent + // + office2010White1.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010White1.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010White1.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010White1.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010White1.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); + office2010White1.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); + office2010White1.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(154)))), ((int)(((byte)(154)))), ((int)(((byte)(154))))); + office2010White1.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + office2010White1.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); + office2010White1.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + office2010White1.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010White1.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010White1.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); + office2010White1.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); + office2010White1.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010White1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010White1.TextColor = System.Drawing.Color.Black; + this.buttonEx_DataMigrationDisplayContent.ColorTable = office2010White1; + this.buttonEx_DataMigrationDisplayContent.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonEx_DataMigrationDisplayContent.Location = new System.Drawing.Point(127, 3); + this.buttonEx_DataMigrationDisplayContent.Name = "buttonEx_DataMigrationDisplayContent"; + this.buttonEx_DataMigrationDisplayContent.Size = new System.Drawing.Size(118, 28); + this.buttonEx_DataMigrationDisplayContent.TabIndex = 0; + this.buttonEx_DataMigrationDisplayContent.Text = "Display Content"; + this.buttonEx_DataMigrationDisplayContent.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; + this.buttonEx_DataMigrationDisplayContent.UseVisualStyleBackColor = true; + // + // tableLayoutPanel_DataMigrationSplitContainer + // + this.tableLayoutPanel_DataMigrationSplitContainer.ColumnCount = 1; + this.tableLayoutPanel_DataMigrationSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationSplitContainer.Controls.Add(this.label_DataMigrationContentDisplay, 0, 1); + this.tableLayoutPanel_DataMigrationSplitContainer.Controls.Add(this.label_DataMigrationSplitter, 0, 0); + this.tableLayoutPanel_DataMigrationSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DataMigrationSplitContainer.Location = new System.Drawing.Point(3, 45); + this.tableLayoutPanel_DataMigrationSplitContainer.Name = "tableLayoutPanel_DataMigrationSplitContainer"; + this.tableLayoutPanel_DataMigrationSplitContainer.RowCount = 2; + this.tableLayoutPanel_DataMigrationSplitContainer.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 2F)); + this.tableLayoutPanel_DataMigrationSplitContainer.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationSplitContainer.Size = new System.Drawing.Size(457, 26); + this.tableLayoutPanel_DataMigrationSplitContainer.TabIndex = 1; + // + // label_DataMigrationContentDisplay + // + this.label_DataMigrationContentDisplay.AutoSize = true; + this.label_DataMigrationContentDisplay.Dock = System.Windows.Forms.DockStyle.Bottom; + this.label_DataMigrationContentDisplay.Location = new System.Drawing.Point(3, 13); + this.label_DataMigrationContentDisplay.Name = "label_DataMigrationContentDisplay"; + this.label_DataMigrationContentDisplay.Size = new System.Drawing.Size(451, 13); + this.label_DataMigrationContentDisplay.TabIndex = 0; + this.label_DataMigrationContentDisplay.Text = "Content Display"; + // + // label_DataMigrationSplitter + // + this.label_DataMigrationSplitter.AutoSize = true; + this.label_DataMigrationSplitter.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.label_DataMigrationSplitter.Dock = System.Windows.Forms.DockStyle.Top; + this.label_DataMigrationSplitter.Location = new System.Drawing.Point(0, 0); + this.label_DataMigrationSplitter.Margin = new System.Windows.Forms.Padding(0); + this.label_DataMigrationSplitter.Name = "label_DataMigrationSplitter"; + this.label_DataMigrationSplitter.Size = new System.Drawing.Size(457, 2); + this.label_DataMigrationSplitter.TabIndex = 1; + // + // fastObjectListView_DataMigrationContentDisplay + // + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMOwner); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMLogin); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMPath); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMPathId); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMItemName); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMItemId); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMItemType); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMItemSize); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMCreated); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMLastModified); + this.fastObjectListView_DataMigrationContentDisplay.AllColumns.Add(this.olvColumn_DMUploaded); + this.fastObjectListView_DataMigrationContentDisplay.CellEditUseWholeCell = false; + this.fastObjectListView_DataMigrationContentDisplay.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.olvColumn_DMOwner, + this.olvColumn_DMLogin, + this.olvColumn_DMPath, + this.olvColumn_DMPathId, + this.olvColumn_DMItemName, + this.olvColumn_DMItemId, + this.olvColumn_DMItemType, + this.olvColumn_DMItemSize, + this.olvColumn_DMCreated, + this.olvColumn_DMLastModified, + this.olvColumn_DMUploaded}); + this.fastObjectListView_DataMigrationContentDisplay.Cursor = System.Windows.Forms.Cursors.Default; + this.fastObjectListView_DataMigrationContentDisplay.Dock = System.Windows.Forms.DockStyle.Fill; + this.fastObjectListView_DataMigrationContentDisplay.SelectedBackColor = System.Drawing.Color.Empty; + this.fastObjectListView_DataMigrationContentDisplay.SelectedBackColor = System.Drawing.Color.Empty; + this.fastObjectListView_DataMigrationContentDisplay.Location = new System.Drawing.Point(3, 77); + this.fastObjectListView_DataMigrationContentDisplay.Name = "fastObjectListView_DataMigrationContentDisplay"; + this.fastObjectListView_DataMigrationContentDisplay.ShowGroups = false; + this.fastObjectListView_DataMigrationContentDisplay.Size = new System.Drawing.Size(457, 341); + this.fastObjectListView_DataMigrationContentDisplay.TabIndex = 2; + this.fastObjectListView_DataMigrationContentDisplay.UseCompatibleStateImageBehavior = false; + this.fastObjectListView_DataMigrationContentDisplay.View = System.Windows.Forms.View.Details; + this.fastObjectListView_DataMigrationContentDisplay.VirtualMode = true; + // + // olvColumn_DMOwner + // + this.olvColumn_DMOwner.AspectName = "OwnerName"; + this.olvColumn_DMOwner.Hideable = false; + this.olvColumn_DMOwner.Text = "Owner Name"; + this.olvColumn_DMOwner.Width = 80; + // + // olvColumn_DMLogin + // + this.olvColumn_DMLogin.AspectName = "Email"; + this.olvColumn_DMLogin.Hideable = false; + this.olvColumn_DMLogin.Text = "Owner Login"; + this.olvColumn_DMLogin.Width = 80; + // + // olvColumn_DMPath + // + this.olvColumn_DMPath.AspectName = "ItemPathDisplay"; + this.olvColumn_DMPath.Text = "Path"; + this.olvColumn_DMPath.Width = 100; + // + // olvColumn_DMPathId + // + this.olvColumn_DMPathId.AspectName = "ItemPathId"; + this.olvColumn_DMPathId.Text = "Path ID"; + // + // olvColumn_DMItemName + // + this.olvColumn_DMItemName.AspectName = "ItemName"; + this.olvColumn_DMItemName.Text = "Item Name"; + this.olvColumn_DMItemName.Width = 80; + // + // olvColumn_DMItemId + // + this.olvColumn_DMItemId.AspectName = "ItemId"; + this.olvColumn_DMItemId.Text = "Item ID"; + // + // olvColumn_DMItemType + // + this.olvColumn_DMItemType.AspectName = "ItemType"; + this.olvColumn_DMItemType.Text = "Item Type"; + // + // olvColumn_DMItemSize + // + this.olvColumn_DMItemSize.AspectName = "ItemSize"; + this.olvColumn_DMItemSize.Text = "Item Size"; + // + // olvColumn_DMCreated + // + this.olvColumn_DMCreated.AspectName = "Created"; + this.olvColumn_DMCreated.Text = "Created"; + this.olvColumn_DMCreated.Width = 80; + // + // olvColumn_DMLastModified + // + this.olvColumn_DMLastModified.AspectName = "LastUpdated"; + this.olvColumn_DMLastModified.Text = "Last Modified"; + this.olvColumn_DMLastModified.Width = 80; + // + // olvColumn_DMUploaded + // + this.olvColumn_DMUploaded.AspectName = "Uploaded"; + this.olvColumn_DMUploaded.FillsFreeSpace = true; + this.olvColumn_DMUploaded.Text = "Uploaded"; + this.olvColumn_DMUploaded.Width = 80; + // + // tableLayoutPanel_DataMigrationExportGroup + // + this.tableLayoutPanel_DataMigrationExportGroup.ColumnCount = 3; + this.tableLayoutPanel_DataMigrationExportGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 90F)); + this.tableLayoutPanel_DataMigrationExportGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationExportGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 115F)); + this.tableLayoutPanel_DataMigrationExportGroup.Controls.Add(this.buttonEx_DataMigrationExportReport, 2, 0); + this.tableLayoutPanel_DataMigrationExportGroup.Controls.Add(this.label_DataMigrationOutputFilePath, 0, 0); + this.tableLayoutPanel_DataMigrationExportGroup.Controls.Add(this.tableLayoutPanel_DataMigrationExportSelectGroup, 1, 0); + this.tableLayoutPanel_DataMigrationExportGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DataMigrationExportGroup.Location = new System.Drawing.Point(3, 424); + this.tableLayoutPanel_DataMigrationExportGroup.Name = "tableLayoutPanel_DataMigrationExportGroup"; + this.tableLayoutPanel_DataMigrationExportGroup.RowCount = 1; + this.tableLayoutPanel_DataMigrationExportGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationExportGroup.Size = new System.Drawing.Size(457, 32); + this.tableLayoutPanel_DataMigrationExportGroup.TabIndex = 3; + // + // buttonEx_DataMigrationExportReport + // + office2010Blue1.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue1.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue1.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue1.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue1.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); + office2010Blue1.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); + office2010Blue1.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue1.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue1.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(97)))), ((int)(((byte)(181))))); + office2010Blue1.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(125)))), ((int)(((byte)(219))))); + office2010Blue1.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue1.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue1.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); + office2010Blue1.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); + office2010Blue1.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue1.TextColor = System.Drawing.Color.White; + this.buttonEx_DataMigrationExportReport.ColorTable = office2010Blue1; + this.buttonEx_DataMigrationExportReport.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonEx_DataMigrationExportReport.Location = new System.Drawing.Point(343, 2); + this.buttonEx_DataMigrationExportReport.Margin = new System.Windows.Forms.Padding(1, 2, 1, 2); + this.buttonEx_DataMigrationExportReport.Name = "buttonEx_DataMigrationExportReport"; + this.buttonEx_DataMigrationExportReport.Size = new System.Drawing.Size(113, 28); + this.buttonEx_DataMigrationExportReport.TabIndex = 0; + this.buttonEx_DataMigrationExportReport.Text = "Export Report"; + this.buttonEx_DataMigrationExportReport.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; + this.buttonEx_DataMigrationExportReport.UseVisualStyleBackColor = true; + // + // label_DataMigrationOutputFilePath + // + this.label_DataMigrationOutputFilePath.AutoSize = true; + this.label_DataMigrationOutputFilePath.Dock = System.Windows.Forms.DockStyle.Fill; + this.label_DataMigrationOutputFilePath.Location = new System.Drawing.Point(3, 0); + this.label_DataMigrationOutputFilePath.Name = "label_DataMigrationOutputFilePath"; + this.label_DataMigrationOutputFilePath.Size = new System.Drawing.Size(84, 32); + this.label_DataMigrationOutputFilePath.TabIndex = 1; + this.label_DataMigrationOutputFilePath.Text = "Output File"; + this.label_DataMigrationOutputFilePath.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // tableLayoutPanel_DataMigrationExportSelectGroup + // + this.tableLayoutPanel_DataMigrationExportSelectGroup.ColumnCount = 2; + this.tableLayoutPanel_DataMigrationExportSelectGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationExportSelectGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F)); + this.tableLayoutPanel_DataMigrationExportSelectGroup.Controls.Add(this.buttonEx_DataMigrationSelectFolder, 1, 0); + this.tableLayoutPanel_DataMigrationExportSelectGroup.Controls.Add(this.textBox_DataMigrationOutputPath, 0, 0); + this.tableLayoutPanel_DataMigrationExportSelectGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DataMigrationExportSelectGroup.Location = new System.Drawing.Point(91, 1); + this.tableLayoutPanel_DataMigrationExportSelectGroup.Margin = new System.Windows.Forms.Padding(1); + this.tableLayoutPanel_DataMigrationExportSelectGroup.Name = "tableLayoutPanel_DataMigrationExportSelectGroup"; + this.tableLayoutPanel_DataMigrationExportSelectGroup.RowCount = 1; + this.tableLayoutPanel_DataMigrationExportSelectGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DataMigrationExportSelectGroup.Size = new System.Drawing.Size(250, 30); + this.tableLayoutPanel_DataMigrationExportSelectGroup.TabIndex = 2; + // + // buttonEx_DataMigrationSelectFolder + // + this.buttonEx_DataMigrationSelectFolder.ColorTable = office2010White1; + this.buttonEx_DataMigrationSelectFolder.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonEx_DataMigrationSelectFolder.Location = new System.Drawing.Point(193, 2); + this.buttonEx_DataMigrationSelectFolder.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); + this.buttonEx_DataMigrationSelectFolder.Name = "buttonEx_DataMigrationSelectFolder"; + this.buttonEx_DataMigrationSelectFolder.Size = new System.Drawing.Size(54, 26); + this.buttonEx_DataMigrationSelectFolder.TabIndex = 0; + this.buttonEx_DataMigrationSelectFolder.Text = "Select"; + this.buttonEx_DataMigrationSelectFolder.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; + this.buttonEx_DataMigrationSelectFolder.UseVisualStyleBackColor = true; + // + // textBox_DataMigrationOutputPath + // + this.textBox_DataMigrationOutputPath.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBox_DataMigrationOutputPath.FileFilter = null; + this.textBox_DataMigrationOutputPath.Location = new System.Drawing.Point(3, 5); + this.textBox_DataMigrationOutputPath.Margin = new System.Windows.Forms.Padding(3, 5, 3, 3); + this.textBox_DataMigrationOutputPath.Name = "textBox_DataMigrationOutputPath"; + this.textBox_DataMigrationOutputPath.ReadOnly = true; + this.textBox_DataMigrationOutputPath.Size = new System.Drawing.Size(184, 20); + this.textBox_DataMigrationOutputPath.TabIndex = 1; + // + // DataMigrationView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(463, 459); + this.Controls.Add(this.tableLayoutPanel_DataMigration); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "DataMigrationView"; + this.Text = "DataMigrationView"; + this.tableLayoutPanel_DataMigration.ResumeLayout(false); + this.tableLayoutPanel_DataMigrationOperationGroup.ResumeLayout(false); + this.tableLayoutPanel_DataMigrationOperationButtonGroup.ResumeLayout(false); + this.tableLayoutPanel_DataMigrationSplitContainer.ResumeLayout(false); + this.tableLayoutPanel_DataMigrationSplitContainer.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.fastObjectListView_DataMigrationContentDisplay)).EndInit(); + this.tableLayoutPanel_DataMigrationExportGroup.ResumeLayout(false); + this.tableLayoutPanel_DataMigrationExportGroup.PerformLayout(); + this.tableLayoutPanel_DataMigrationExportSelectGroup.ResumeLayout(false); + this.tableLayoutPanel_DataMigrationExportSelectGroup.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DataMigration; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DataMigrationOperationGroup; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DataMigrationOperationButtonGroup; + private Common.Component.ButtonEx buttonEx_DataMigrationDisplayContent; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DataMigrationSplitContainer; + private System.Windows.Forms.Label label_DataMigrationContentDisplay; + private System.Windows.Forms.Label label_DataMigrationSplitter; + private BrightIdeasSoftware.FastObjectListView fastObjectListView_DataMigrationContentDisplay; + private BrightIdeasSoftware.OLVColumn olvColumn_DMOwner; + private BrightIdeasSoftware.OLVColumn olvColumn_DMLogin; + private BrightIdeasSoftware.OLVColumn olvColumn_DMPath; + private BrightIdeasSoftware.OLVColumn olvColumn_DMPathId; + private BrightIdeasSoftware.OLVColumn olvColumn_DMItemName; + private BrightIdeasSoftware.OLVColumn olvColumn_DMItemId; + private BrightIdeasSoftware.OLVColumn olvColumn_DMItemType; + private BrightIdeasSoftware.OLVColumn olvColumn_DMItemSize; + private BrightIdeasSoftware.OLVColumn olvColumn_DMCreated; + private BrightIdeasSoftware.OLVColumn olvColumn_DMLastModified; + private BrightIdeasSoftware.OLVColumn olvColumn_DMUploaded; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DataMigrationExportGroup; + private Common.Component.ButtonEx buttonEx_DataMigrationExportReport; + private System.Windows.Forms.Label label_DataMigrationOutputFilePath; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DataMigrationExportSelectGroup; + private Common.Component.ButtonEx buttonEx_DataMigrationSelectFolder; + private Common.Component.TextBoxEx textBox_DataMigrationOutputPath; + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.cs new file mode 100644 index 0000000..6b218c2 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.cs @@ -0,0 +1,213 @@ +namespace DfBAdminToolkit.View { + + using BrightIdeasSoftware; + using Model; + using System; + using System.Collections.Generic; + using System.Threading; + using System.Windows.Forms; + + public partial class DataMigrationView + : Form, IDataMigrationView { + public event EventHandler DataChanged; + public event EventHandler CommandDisplayContent; + public event EventHandler CommandExportContent; + + public SynchronizationContext SyncContext { get; set; } + public bool ComponentEventsWired { get; set; } + public List<ContentDisplayListViewItemModel> Contents { get; set; } + public string OutputFileName { get; set; } + + public enum OlvContentIndex : int { + OwnerName, + OwnerLogin, + ItemPathDisplay, + ItemPathId, + ItemName, + ItemId, + ItemType, + ItemSize, + Created, + LastModified, + Uploaded + } + + public DataMigrationView() { + InitializeComponent(); + Initialize(); + InitializeOLVContentDisplay(); + WireComponentEvents(); + } + + ~DataMigrationView() { + UnWireComponentEvents(); + } + + public void WireComponentEvents() { + if (!ComponentEventsWired) { + this.buttonEx_DataMigrationDisplayContent.Click += ButtonEx_DataMigrationDisplayContent_Click; + this.buttonEx_DataMigrationExportReport.Click += ButtonEx_DataMigrationExportReport_Click; + this.buttonEx_DataMigrationSelectFolder.Click += ButtonEx_DataMigrationSelectFolder_Click; + this.textBox_DataMigrationOutputPath.OnDragDropEnd += TextBox_DataMigrationOutputFolderPath_OnDragDropEnd; + ComponentEventsWired = true; + } + } + + public void UnWireComponentEvents() { + if (ComponentEventsWired) { + this.buttonEx_DataMigrationDisplayContent.Click -= ButtonEx_DataMigrationDisplayContent_Click; + this.buttonEx_DataMigrationExportReport.Click -= ButtonEx_DataMigrationExportReport_Click; + this.buttonEx_DataMigrationSelectFolder.Click -= ButtonEx_DataMigrationSelectFolder_Click; + this.textBox_DataMigrationOutputPath.OnDragDropEnd -= TextBox_DataMigrationOutputFolderPath_OnDragDropEnd; + ComponentEventsWired = false; + } + } + + public void Initialize() { + ComponentEventsWired = false; + SyncContext = SynchronizationContext.Current; + TopLevel = false; + Dock = DockStyle.Fill; + + this.tableLayoutPanel_DataMigrationExportGroup.Enabled = false; + this.buttonEx_DataMigrationExportReport.Enabled = false; + } + + private void InitializeOLVContentDisplay() { + this.fastObjectListView_DataMigrationContentDisplay.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.None; + this.fastObjectListView_DataMigrationContentDisplay.UseExplorerTheme = false; + this.fastObjectListView_DataMigrationContentDisplay.UseTranslucentHotItem = true; + this.fastObjectListView_DataMigrationContentDisplay.FullRowSelect = true; + this.fastObjectListView_DataMigrationContentDisplay.HotTracking = true; + this.fastObjectListView_DataMigrationContentDisplay.ShowGroups = false; + this.fastObjectListView_DataMigrationContentDisplay.HeaderToolTip.IsBalloon = false; + this.fastObjectListView_DataMigrationContentDisplay.GridLines = true; + TypedObjectListView<ContentDisplayListViewItemModel> olv = new TypedObjectListView<ContentDisplayListViewItemModel>( + this.fastObjectListView_DataMigrationContentDisplay + ); + + olv.GetColumn((int)OlvContentIndex.OwnerName).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.OwnerName : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.OwnerLogin).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.Email : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.ItemPathDisplay).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.ItemPathDisplay : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.ItemId).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.ItemId : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.ItemName).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.ItemName : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.ItemId).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.ItemId : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.ItemType).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.ItemType : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.ItemSize).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.ItemSize : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.Created).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.Created : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.LastModified).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.LastModified : string.Empty; + }; + + olv.GetColumn((int)OlvContentIndex.Uploaded).AspectGetter + = delegate (ContentDisplayListViewItemModel model) { + return (model != null) ? model.Uploaded : string.Empty; + }; + } + + public void ShowView() { + this.Show(); + } + + public void HideView() { + this.Hide(); + } + + #region Slots + + public void RenderContentSearchResult() { + this.fastObjectListView_DataMigrationContentDisplay.SetObjects( + Contents + ); + } + + public void EnableExportControl(bool enable) { + this.tableLayoutPanel_DataMigrationExportGroup.Enabled = enable; + this.tableLayoutPanel_DataMigrationExportGroup.Update(); + } + + public void EnableExportButton(bool enable) { + this.buttonEx_DataMigrationExportReport.Enabled = enable; + this.buttonEx_DataMigrationExportReport.Update(); + } + + #endregion Slots + + #region Events + + private void ButtonEx_DataMigrationDisplayContent_Click(object sender, EventArgs e) { + if (CommandDisplayContent != null) { + CommandDisplayContent(sender, e); + } + } + + private void ButtonEx_DataMigrationSelectFolder_Click(object sender, EventArgs e) { + SaveFileDialog outputFileDlg = new SaveFileDialog(); + outputFileDlg.Filter = "CSV|*.csv"; + outputFileDlg.Title = "Please provide report file name"; + outputFileDlg.ShowDialog(); + if (!string.IsNullOrEmpty(outputFileDlg.FileName)) { + OutputFileName = outputFileDlg.FileName; + this.textBox_DataMigrationOutputPath.Text = OutputFileName; + this.EnableExportButton(true); + } + } + + private void ButtonEx_DataMigrationExportReport_Click(object sender, EventArgs e) { + InvokeDataChanged(sender, e); + if (CommandExportContent != null) { + CommandExportContent(sender, e); + } + } + + private void TextBox_DataMigrationOutputFolderPath_OnDragDropEnd(object sender, EventArgs e) { + OutputFileName = this.textBox_DataMigrationOutputPath.Text; + EnableExportControl(true); + } + + private void InvokeDataChanged(object sender, EventArgs e) { + if (DataChanged != null) { + DataChanged(sender, e); + } + } + + #endregion Events + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.resx similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.resx rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/DataMigrationView.resx diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.Designer.cs new file mode 100644 index 0000000..4ae5357 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.Designer.cs @@ -0,0 +1,409 @@ +namespace DfBAdminToolkit.View +{ + partial class DevicesView + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + DfBAdminToolkit.Common.Component.Office2010Blue office2010Blue1 = new DfBAdminToolkit.Common.Component.Office2010Blue(); + this.tableLayoutPanel_DevicesMain = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel_MemberListGroup = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel_DevicesFileCommandGroup = new System.Windows.Forms.TableLayoutPanel(); + this.label_DevicesOutputDir = new System.Windows.Forms.Label(); + this.tableLayoutPanel_DevicesFileSelection = new System.Windows.Forms.TableLayoutPanel(); + this.objectListView_DeviceList = new BrightIdeasSoftware.ObjectListView(); + this.olvColumnContent_Email = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumnContent_DeviceName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumnContent_IpAddress = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumnContent_ClientType = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumnContent_Created = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumnContent_TeamId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.olvColumnContent_SessionId = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); + this.tableLayoutPanel_DevicesSplitContainer = new System.Windows.Forms.TableLayoutPanel(); + this.buttonEx_DevicesDump = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.buttonLoadDevices = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.textBoxDeviceFilter = new System.Windows.Forms.TextBox(); + this.radioIpAddress = new System.Windows.Forms.RadioButton(); + this.radioDeviceFilter = new System.Windows.Forms.RadioButton(); + this.buttonDeviceFilterList = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.comboFilterCriteria = new System.Windows.Forms.ComboBox(); + this.textBox_DeviceListAccessToken = new System.Windows.Forms.TextBox(); + this.tableLayoutPanel_DevicesMain.SuspendLayout(); + this.tableLayoutPanel_MemberListGroup.SuspendLayout(); + this.tableLayoutPanel_DevicesFileCommandGroup.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.objectListView_DeviceList)).BeginInit(); + this.tableLayoutPanel_DevicesSplitContainer.SuspendLayout(); + this.SuspendLayout(); + // + // tableLayoutPanel_DevicesMain + // + this.tableLayoutPanel_DevicesMain.ColumnCount = 1; + this.tableLayoutPanel_DevicesMain.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DevicesMain.Controls.Add(this.tableLayoutPanel_MemberListGroup, 0, 0); + this.tableLayoutPanel_DevicesMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DevicesMain.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel_DevicesMain.Name = "tableLayoutPanel_DevicesMain"; + this.tableLayoutPanel_DevicesMain.RowCount = 1; + this.tableLayoutPanel_DevicesMain.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DevicesMain.Size = new System.Drawing.Size(481, 457); + this.tableLayoutPanel_DevicesMain.TabIndex = 0; + // + // tableLayoutPanel_MemberListGroup + // + this.tableLayoutPanel_MemberListGroup.ColumnCount = 1; + this.tableLayoutPanel_MemberListGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_MemberListGroup.Controls.Add(this.tableLayoutPanel_DevicesFileCommandGroup, 0, 3); + this.tableLayoutPanel_MemberListGroup.Controls.Add(this.objectListView_DeviceList, 0, 2); + this.tableLayoutPanel_MemberListGroup.Controls.Add(this.tableLayoutPanel_DevicesSplitContainer, 0, 1); + this.tableLayoutPanel_MemberListGroup.Controls.Add(this.textBox_DeviceListAccessToken, 0, 0); + this.tableLayoutPanel_MemberListGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_MemberListGroup.Location = new System.Drawing.Point(3, 3); + this.tableLayoutPanel_MemberListGroup.Name = "tableLayoutPanel_MemberListGroup"; + this.tableLayoutPanel_MemberListGroup.RowCount = 4; + this.tableLayoutPanel_MemberListGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 6F)); + this.tableLayoutPanel_MemberListGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 35F)); + this.tableLayoutPanel_MemberListGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_MemberListGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 38F)); + this.tableLayoutPanel_MemberListGroup.Size = new System.Drawing.Size(475, 451); + this.tableLayoutPanel_MemberListGroup.TabIndex = 0; + // + // tableLayoutPanel_DevicesFileCommandGroup + // + this.tableLayoutPanel_DevicesFileCommandGroup.ColumnCount = 3; + this.tableLayoutPanel_DevicesFileCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 90F)); + this.tableLayoutPanel_DevicesFileCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DevicesFileCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 115F)); + this.tableLayoutPanel_DevicesFileCommandGroup.Controls.Add(this.label_DevicesOutputDir, 0, 0); + this.tableLayoutPanel_DevicesFileCommandGroup.Controls.Add(this.tableLayoutPanel_DevicesFileSelection, 1, 0); + this.tableLayoutPanel_DevicesFileCommandGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DevicesFileCommandGroup.Enabled = false; + this.tableLayoutPanel_DevicesFileCommandGroup.Location = new System.Drawing.Point(1, 414); + this.tableLayoutPanel_DevicesFileCommandGroup.Margin = new System.Windows.Forms.Padding(1); + this.tableLayoutPanel_DevicesFileCommandGroup.Name = "tableLayoutPanel_DevicesFileCommandGroup"; + this.tableLayoutPanel_DevicesFileCommandGroup.RowCount = 1; + this.tableLayoutPanel_DevicesFileCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DevicesFileCommandGroup.Size = new System.Drawing.Size(473, 36); + this.tableLayoutPanel_DevicesFileCommandGroup.TabIndex = 2; + // + // label_DevicesOutputDir + // + this.label_DevicesOutputDir.AutoSize = true; + this.label_DevicesOutputDir.Dock = System.Windows.Forms.DockStyle.Fill; + this.label_DevicesOutputDir.Location = new System.Drawing.Point(3, 0); + this.label_DevicesOutputDir.Name = "label_DevicesOutputDir"; + this.label_DevicesOutputDir.Size = new System.Drawing.Size(84, 36); + this.label_DevicesOutputDir.TabIndex = 0; + this.label_DevicesOutputDir.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // tableLayoutPanel_DevicesFileSelection + // + this.tableLayoutPanel_DevicesFileSelection.ColumnCount = 2; + this.tableLayoutPanel_DevicesFileSelection.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DevicesFileSelection.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 60F)); + this.tableLayoutPanel_DevicesFileSelection.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DevicesFileSelection.Location = new System.Drawing.Point(91, 1); + this.tableLayoutPanel_DevicesFileSelection.Margin = new System.Windows.Forms.Padding(1); + this.tableLayoutPanel_DevicesFileSelection.Name = "tableLayoutPanel_DevicesFileSelection"; + this.tableLayoutPanel_DevicesFileSelection.RowCount = 1; + this.tableLayoutPanel_DevicesFileSelection.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DevicesFileSelection.Size = new System.Drawing.Size(266, 34); + this.tableLayoutPanel_DevicesFileSelection.TabIndex = 1; + // + // objectListView_DeviceList + // + this.objectListView_DeviceList.AllColumns.Add(this.olvColumnContent_Email); + this.objectListView_DeviceList.AllColumns.Add(this.olvColumnContent_DeviceName); + this.objectListView_DeviceList.AllColumns.Add(this.olvColumnContent_IpAddress); + this.objectListView_DeviceList.AllColumns.Add(this.olvColumnContent_ClientType); + this.objectListView_DeviceList.AllColumns.Add(this.olvColumnContent_Created); + this.objectListView_DeviceList.AllColumns.Add(this.olvColumnContent_TeamId); + this.objectListView_DeviceList.AllColumns.Add(this.olvColumnContent_SessionId); + this.objectListView_DeviceList.CellEditUseWholeCell = false; + this.objectListView_DeviceList.CheckBoxes = true; + this.objectListView_DeviceList.CheckedAspectName = "IsChecked"; + this.objectListView_DeviceList.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { + this.olvColumnContent_Email, + this.olvColumnContent_DeviceName, + this.olvColumnContent_IpAddress, + this.olvColumnContent_ClientType, + this.olvColumnContent_Created, + this.olvColumnContent_TeamId, + this.olvColumnContent_SessionId}); + this.objectListView_DeviceList.Cursor = System.Windows.Forms.Cursors.Default; + this.objectListView_DeviceList.Dock = System.Windows.Forms.DockStyle.Fill; + this.objectListView_DeviceList.EmptyListMsg = "No Result"; + this.objectListView_DeviceList.FullRowSelect = true; + this.objectListView_DeviceList.HideSelection = false; + this.objectListView_DeviceList.SelectedBackColor = System.Drawing.Color.Empty; + this.objectListView_DeviceList.SelectedBackColor = System.Drawing.Color.Empty; + this.objectListView_DeviceList.Location = new System.Drawing.Point(3, 50); + this.objectListView_DeviceList.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3); + this.objectListView_DeviceList.Name = "objectListView_DeviceList"; + this.objectListView_DeviceList.ShowFilterMenuOnRightClick = false; + this.objectListView_DeviceList.ShowGroups = false; + this.objectListView_DeviceList.ShowImagesOnSubItems = true; + this.objectListView_DeviceList.ShowItemCountOnGroups = true; + this.objectListView_DeviceList.Size = new System.Drawing.Size(469, 360); + this.objectListView_DeviceList.SortGroupItemsByPrimaryColumn = false; + this.objectListView_DeviceList.TabIndex = 0; + this.objectListView_DeviceList.UseCellFormatEvents = true; + this.objectListView_DeviceList.UseCompatibleStateImageBehavior = false; + this.objectListView_DeviceList.UseFilterIndicator = true; + this.objectListView_DeviceList.UseHotItem = true; + this.objectListView_DeviceList.UseNotifyPropertyChanged = true; + this.objectListView_DeviceList.UseTranslucentHotItem = true; + this.objectListView_DeviceList.View = System.Windows.Forms.View.Details; + // + // olvColumnContent_Email + // + this.olvColumnContent_Email.AspectName = "Email"; + this.olvColumnContent_Email.HeaderCheckBox = true; + this.olvColumnContent_Email.Text = "Email"; + this.olvColumnContent_Email.Width = 170; + // + // olvColumnContent_DeviceName + // + this.olvColumnContent_DeviceName.AspectName = "DeviceName"; + this.olvColumnContent_DeviceName.MinimumWidth = 130; + this.olvColumnContent_DeviceName.Text = "Device Name"; + this.olvColumnContent_DeviceName.Width = 180; + // + // olvColumnContent_IpAddress + // + this.olvColumnContent_IpAddress.AspectName = "IpAddress"; + this.olvColumnContent_IpAddress.Hideable = false; + this.olvColumnContent_IpAddress.MinimumWidth = 90; + this.olvColumnContent_IpAddress.Text = "Ip Address"; + this.olvColumnContent_IpAddress.Width = 90; + // + // olvColumnContent_ClientType + // + this.olvColumnContent_ClientType.AspectName = "ClientType"; + this.olvColumnContent_ClientType.Text = "Client Type"; + this.olvColumnContent_ClientType.Width = 75; + // + // olvColumnContent_Created + // + this.olvColumnContent_Created.AspectName = "Created"; + this.olvColumnContent_Created.Text = "Created"; + this.olvColumnContent_Created.Width = 130; + // + // olvColumnContent_TeamId + // + this.olvColumnContent_TeamId.AspectName = "TeamId"; + this.olvColumnContent_TeamId.MinimumWidth = 200; + this.olvColumnContent_TeamId.Text = "Team ID"; + this.olvColumnContent_TeamId.Width = 200; + // + // olvColumnContent_SessionId + // + this.olvColumnContent_SessionId.AspectName = "SessionId"; + this.olvColumnContent_SessionId.FillsFreeSpace = true; + this.olvColumnContent_SessionId.Text = "Session Id"; + this.olvColumnContent_SessionId.Width = 100; + // + // tableLayoutPanel_DevicesSplitContainer + // + this.tableLayoutPanel_DevicesSplitContainer.ColumnCount = 7; + this.tableLayoutPanel_DevicesSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel_DevicesSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel_DevicesSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 35F)); + this.tableLayoutPanel_DevicesSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 65F)); + this.tableLayoutPanel_DevicesSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel_DevicesSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel_DevicesSplitContainer.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel_DevicesSplitContainer.Controls.Add(this.buttonEx_DevicesDump, 0, 1); + this.tableLayoutPanel_DevicesSplitContainer.Controls.Add(this.buttonLoadDevices, 0, 1); + this.tableLayoutPanel_DevicesSplitContainer.Controls.Add(this.textBoxDeviceFilter, 3, 1); + this.tableLayoutPanel_DevicesSplitContainer.Controls.Add(this.radioIpAddress, 4, 1); + this.tableLayoutPanel_DevicesSplitContainer.Controls.Add(this.radioDeviceFilter, 5, 1); + this.tableLayoutPanel_DevicesSplitContainer.Controls.Add(this.buttonDeviceFilterList, 6, 1); + this.tableLayoutPanel_DevicesSplitContainer.Controls.Add(this.comboFilterCriteria, 2, 1); + this.tableLayoutPanel_DevicesSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_DevicesSplitContainer.Location = new System.Drawing.Point(3, 9); + this.tableLayoutPanel_DevicesSplitContainer.Name = "tableLayoutPanel_DevicesSplitContainer"; + this.tableLayoutPanel_DevicesSplitContainer.RowCount = 2; + this.tableLayoutPanel_DevicesSplitContainer.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 4F)); + this.tableLayoutPanel_DevicesSplitContainer.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DevicesSplitContainer.Size = new System.Drawing.Size(469, 29); + this.tableLayoutPanel_DevicesSplitContainer.TabIndex = 3; + // + // buttonEx_DevicesDump + // + office2010Blue1.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue1.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue1.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue1.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue1.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); + office2010Blue1.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); + office2010Blue1.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue1.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue1.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(97)))), ((int)(((byte)(181))))); + office2010Blue1.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(125)))), ((int)(((byte)(219))))); + office2010Blue1.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue1.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue1.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); + office2010Blue1.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); + office2010Blue1.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue1.TextColor = System.Drawing.Color.White; + this.buttonEx_DevicesDump.ColorTable = office2010Blue1; + this.buttonEx_DevicesDump.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonEx_DevicesDump.Enabled = false; + this.buttonEx_DevicesDump.Location = new System.Drawing.Point(118, 7); + this.buttonEx_DevicesDump.Name = "buttonEx_DevicesDump"; + this.buttonEx_DevicesDump.Size = new System.Drawing.Size(133, 19); + this.buttonEx_DevicesDump.TabIndex = 8; + this.buttonEx_DevicesDump.Text = "Remove Device(s)"; + this.buttonEx_DevicesDump.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; + this.buttonEx_DevicesDump.UseVisualStyleBackColor = true; + // + // buttonLoadDevices + // + this.buttonLoadDevices.ColorTable = office2010Blue1; + this.buttonLoadDevices.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonLoadDevices.Location = new System.Drawing.Point(3, 7); + this.buttonLoadDevices.Name = "buttonLoadDevices"; + this.buttonLoadDevices.Size = new System.Drawing.Size(109, 19); + this.buttonLoadDevices.TabIndex = 5; + this.buttonLoadDevices.Text = "Search Device(s)"; + this.buttonLoadDevices.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; + this.buttonLoadDevices.UseVisualStyleBackColor = true; + // + // textBoxDeviceFilter + // + this.textBoxDeviceFilter.Dock = System.Windows.Forms.DockStyle.Fill; + this.textBoxDeviceFilter.Location = new System.Drawing.Point(245, 7); + this.textBoxDeviceFilter.Name = "textBoxDeviceFilter"; + this.textBoxDeviceFilter.Size = new System.Drawing.Size(1, 20); + this.textBoxDeviceFilter.TabIndex = 1; + // + // radioIpAddress + // + this.radioIpAddress.AutoSize = true; + this.radioIpAddress.Location = new System.Drawing.Point(223, 7); + this.radioIpAddress.Name = "radioIpAddress"; + this.radioIpAddress.Size = new System.Drawing.Size(76, 17); + this.radioIpAddress.TabIndex = 2; + this.radioIpAddress.TabStop = true; + this.radioIpAddress.Text = "IP Address"; + this.radioIpAddress.UseVisualStyleBackColor = true; + // + // radioDeviceFilter + // + this.radioDeviceFilter.AutoSize = true; + this.radioDeviceFilter.Location = new System.Drawing.Point(305, 7); + this.radioDeviceFilter.Name = "radioDeviceFilter"; + this.radioDeviceFilter.Size = new System.Drawing.Size(90, 17); + this.radioDeviceFilter.TabIndex = 3; + this.radioDeviceFilter.TabStop = true; + this.radioDeviceFilter.Text = "Device Name"; + this.radioDeviceFilter.UseVisualStyleBackColor = true; + // + // buttonDeviceFilterList + // + this.buttonDeviceFilterList.ColorTable = office2010Blue1; + this.buttonDeviceFilterList.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonDeviceFilterList.Location = new System.Drawing.Point(401, 7); + this.buttonDeviceFilterList.Name = "buttonDeviceFilterList"; + this.buttonDeviceFilterList.Size = new System.Drawing.Size(66, 19); + this.buttonDeviceFilterList.TabIndex = 4; + this.buttonDeviceFilterList.Text = "Filter"; + this.buttonDeviceFilterList.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; + this.buttonDeviceFilterList.UseVisualStyleBackColor = true; + this.buttonDeviceFilterList.Visible = false; + // + // comboFilterCriteria + // + this.comboFilterCriteria.Dock = System.Windows.Forms.DockStyle.Fill; + this.comboFilterCriteria.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboFilterCriteria.FormattingEnabled = true; + this.comboFilterCriteria.Items.AddRange(new object[] { + "CONTAINS", + "NOT CONTAINS", + "BEGINS WITH", + "ENDS WITH"}); + this.comboFilterCriteria.Location = new System.Drawing.Point(257, 7); + this.comboFilterCriteria.Name = "comboFilterCriteria"; + this.comboFilterCriteria.Size = new System.Drawing.Size(1, 21); + this.comboFilterCriteria.TabIndex = 9; + // + // textBox_DeviceListAccessToken + // + this.textBox_DeviceListAccessToken.Location = new System.Drawing.Point(2, 2); + this.textBox_DeviceListAccessToken.Margin = new System.Windows.Forms.Padding(2); + this.textBox_DeviceListAccessToken.Name = "textBox_DeviceListAccessToken"; + this.textBox_DeviceListAccessToken.Size = new System.Drawing.Size(68, 20); + this.textBox_DeviceListAccessToken.TabIndex = 4; + this.textBox_DeviceListAccessToken.Visible = false; + // + // DevicesView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(481, 457); + this.Controls.Add(this.tableLayoutPanel_DevicesMain); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Name = "DevicesView"; + this.Text = "DevicesView"; + this.tableLayoutPanel_DevicesMain.ResumeLayout(false); + this.tableLayoutPanel_MemberListGroup.ResumeLayout(false); + this.tableLayoutPanel_MemberListGroup.PerformLayout(); + this.tableLayoutPanel_DevicesFileCommandGroup.ResumeLayout(false); + this.tableLayoutPanel_DevicesFileCommandGroup.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.objectListView_DeviceList)).EndInit(); + this.tableLayoutPanel_DevicesSplitContainer.ResumeLayout(false); + this.tableLayoutPanel_DevicesSplitContainer.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DevicesMain; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_MemberListGroup; + private BrightIdeasSoftware.ObjectListView objectListView_DeviceList; + private BrightIdeasSoftware.OLVColumn olvColumnContent_TeamId; + private BrightIdeasSoftware.OLVColumn olvColumnContent_DeviceName; + private BrightIdeasSoftware.OLVColumn olvColumnContent_SessionId; + private BrightIdeasSoftware.OLVColumn olvColumnContent_IpAddress; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DevicesFileCommandGroup; + private System.Windows.Forms.Label label_DevicesOutputDir; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DevicesFileSelection; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DevicesSplitContainer; + private BrightIdeasSoftware.OLVColumn olvColumnContent_ClientType; + private System.Windows.Forms.TextBox textBox_DeviceListAccessToken; + private BrightIdeasSoftware.OLVColumn olvColumnContent_Created; + private System.Windows.Forms.ComboBox comboFilterCriteria; + private Common.Component.ButtonEx buttonDeviceFilterList; + private System.Windows.Forms.RadioButton radioDeviceFilter; + private System.Windows.Forms.RadioButton radioIpAddress; + private System.Windows.Forms.TextBox textBoxDeviceFilter; + private Common.Component.ButtonEx buttonLoadDevices; + private Common.Component.ButtonEx buttonEx_DevicesDump; + private BrightIdeasSoftware.OLVColumn olvColumnContent_Email; + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.cs new file mode 100644 index 0000000..eaca812 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.cs @@ -0,0 +1,370 @@ +namespace DfBAdminToolkit.View +{ + + using BrightIdeasSoftware; + using DfBAdminToolkit.Common.DataExchange; + using DfBAdminToolkit.Common.Utils; + using DfBAdminToolkit.Model; + using System; + using System.Collections.Generic; + using System.Drawing; + using System.Threading; + using System.Windows.Forms; + + public partial class DevicesView : Form, IDevicesView + { + private bool _suppressErrorMessage = false; + + public event EventHandler DataChanged; + public event EventHandler CommandGetDevices; + public event EventHandler CommandDumpDevices; + + public SynchronizationContext SyncContext { get; set; } + + public bool ComponentEventsWired { get; set; } + + public string UserAccessToken { get; set; } + + public string Filter { get; set; } + + public string FilterType { get; set; } + + public string FilterCriteria { get; set; } + + public List<DeviceListViewItemModel> DeviceList { get; set; } + + public enum OlvDeviceIndex : int + { + Email, + TeamId, + DeviceName, + IpAddress, + ClientType, + Created, + SessionId + } + + public DevicesView() + { + InitializeComponent(); + Initialize(); + WireComponentEvents(); + this.radioIpAddress.Checked = true; + this.comboFilterCriteria.Text = "CONTAINS"; + } + + ~DevicesView() + { + UnWireComponentEvents(); + } + + #region Initialization + + public void Initialize() + { + ComponentEventsWired = false; + SyncContext = SynchronizationContext.Current; + TopLevel = false; + Dock = DockStyle.Fill; + UserAccessToken = string.Empty; + DeviceList = new List<DeviceListViewItemModel>(); + } + + public void WireComponentEvents() + { + if (!ComponentEventsWired) + { + this.textBoxDeviceFilter.TextChanged += textBoxDeviceFilter_TextChanged; + this.radioIpAddress.CheckedChanged += radioIpAddress_CheckedChanged; + this.radioDeviceFilter.CheckedChanged += radioDeviceFilter_CheckedChanged; + this.comboFilterCriteria.TextChanged += comboFilterCriteria_TextChanged; + this.buttonEx_DevicesDump.Click += Button_DevicesDump_Click; + this.buttonLoadDevices.Click += Button_DevicesList_Click; + this.objectListView_DeviceList.ItemChecked += ObjectListView_DeviceList_ItemChecked; + this.objectListView_DeviceList.HeaderCheckBoxChanging += ObjectListView_DeviceList_HeaderCheckBoxChanging; + this.objectListView_DeviceList.ItemCheck += ObjectListView_DeviceList_ItemCheck; + ComponentEventsWired = true; + } + } + + public void UnWireComponentEvents() + { + if (ComponentEventsWired) + { + this.textBoxDeviceFilter.TextChanged -= textBoxDeviceFilter_TextChanged; + this.radioIpAddress.CheckedChanged -= radioIpAddress_CheckedChanged; + this.radioDeviceFilter.CheckedChanged -= radioDeviceFilter_CheckedChanged; + this.comboFilterCriteria.TextChanged -= comboFilterCriteria_TextChanged; + this.buttonEx_DevicesDump.Click -= Button_DevicesDump_Click; + this.buttonLoadDevices.Click -= Button_DevicesList_Click; + this.objectListView_DeviceList.ItemChecked -= ObjectListView_DeviceList_ItemChecked; + this.objectListView_DeviceList.HeaderCheckBoxChanging -= ObjectListView_DeviceList_HeaderCheckBoxChanging; + this.objectListView_DeviceList.ItemCheck -= ObjectListView_DeviceList_ItemCheck; + ComponentEventsWired = false; + } + } + + private void InitializeOLVMembers() + { + // don't allow edit + this.objectListView_DeviceList.CellEditActivation = BrightIdeasSoftware.ObjectListView.CellEditActivateMode.None; + this.objectListView_DeviceList.UseExplorerTheme = false; + this.objectListView_DeviceList.UseTranslucentHotItem = false; + this.objectListView_DeviceList.FullRowSelect = true; + this.objectListView_DeviceList.HotTracking = true; + this.objectListView_DeviceList.ShowGroups = false; + this.objectListView_DeviceList.HeaderToolTip.IsBalloon = false; + this.objectListView_DeviceList.HotItemStyle.BackColor = Color.AliceBlue; + this.objectListView_DeviceList.HotItemStyle.ForeColor = Color.MediumBlue; + //this.objectListView_Members.HotItemStyle.Overlay = new MemberInfoOverlay(); + + TypedObjectListView<DeviceListViewItemModel> olv = new TypedObjectListView<DeviceListViewItemModel>( + this.objectListView_DeviceList + ); + + olv.GetColumn((int)OlvDeviceIndex.Created).AspectGetter + = delegate (DeviceListViewItemModel model) { + return (model != null) ? model.Created : System.DateTime.MinValue; + }; + + olv.GetColumn((int)OlvDeviceIndex.Email).AspectGetter + = delegate (DeviceListViewItemModel model) { + return (model != null) ? model.Email : string.Empty; + }; + + olv.GetColumn((int)OlvDeviceIndex.TeamId).AspectGetter + = delegate (DeviceListViewItemModel model) { + return (model != null) ? model.TeamId : string.Empty; + }; + + olv.GetColumn((int)OlvDeviceIndex.DeviceName).AspectGetter + = delegate (DeviceListViewItemModel model) { + return (model != null) ? model.DeviceName : string.Empty; + }; + + olv.GetColumn((int)OlvDeviceIndex.IpAddress).AspectGetter + = delegate (DeviceListViewItemModel model) { + return (model != null) ? model.IpAddress : string.Empty; + }; + + olv.GetColumn((int)OlvDeviceIndex.SessionId).AspectGetter + = delegate (DeviceListViewItemModel model) { + return (model != null) ? model.SessionId : string.Empty; + }; + + olv.GetColumn((int)OlvDeviceIndex.ClientType).AspectGetter + = delegate (DeviceListViewItemModel model) { + return (model != null) ? model.ClientType : string.Empty; + }; + } + + #endregion Initialization + + public void ShowView() + { + this.Show(); + } + + public void HideView() + { + this.Hide(); + } + + #region Slots + + public void RenderDeviceSearchResult() + { + this.objectListView_DeviceList.SetObjects( + DeviceList + ); + // disable row if device name doesn't exist + foreach (Object item in this.objectListView_DeviceList.Objects) + { + DeviceListViewItemModel model = item as DeviceListViewItemModel; + if (model != null) + { + if (string.IsNullOrEmpty(model.DeviceName)) + { + // force disable row. + this.objectListView_DeviceList.DisableObject(item); + } + } + } + + if (this.objectListView_DeviceList.GetItemCount() == this.objectListView_DeviceList.CheckedObjects.Count) + { + this.objectListView_DeviceList.CheckHeaderCheckBox(olvColumnContent_TeamId); + } + } + + public void EnableDeviceControl(bool enable) + { + this.tableLayoutPanel_DevicesFileCommandGroup.Enabled = enable; + this.tableLayoutPanel_DevicesFileCommandGroup.Update(); + } + + public void EnableDeviceButton(bool enable) + { + this.buttonEx_DevicesDump.Enabled = true; + this.buttonEx_DevicesDump.Update(); + } + + public void RefreshAccessToken() + { + this.textBox_DeviceListAccessToken.Text = this.UserAccessToken; + } + + private void UncheckHeaderCheckbox(ObjectListView olv, OLVColumn col) + { + // unbind event temporarily and uncheck header box + olv.HeaderCheckBoxChanging -= ObjectListView_DeviceList_HeaderCheckBoxChanging; + olv.UncheckHeaderCheckBox(col); + olv.HeaderCheckBoxChanging += ObjectListView_DeviceList_HeaderCheckBoxChanging; + } + + public void ShowGroups(bool show) + { + this.objectListView_DeviceList.ShowGroups = show; + this.objectListView_DeviceList.Refresh(); + } + + #endregion Slots + + #region Events + + private void Button_DevicesList_Click(object sender, EventArgs e) + { + InvokeDataChanged(sender, e); + if (CommandGetDevices != null) + { + CommandGetDevices(sender, e); + } + } + + private void TextBox_MemberListAccessToken_TextChanged(object sender, EventArgs e) + { + UserAccessToken = this.textBox_DeviceListAccessToken.Text; + } + + private void textBoxDeviceFilter_TextChanged(object sender, EventArgs e) + { + Filter = this.textBoxDeviceFilter.Text; + FilterCriteria = this.comboFilterCriteria.Text; + if (radioIpAddress.Checked == true) + { + FilterType = "IpAddress"; + } + if (radioDeviceFilter.Checked == true) + { + FilterType = "DeviceName"; + } + } + + private void radioIpAddress_CheckedChanged(object sender, EventArgs e) + { + Filter = this.textBoxDeviceFilter.Text; + FilterCriteria = this.comboFilterCriteria.Text; + if (radioIpAddress.Checked == true) + { + FilterType = "IpAddress"; + } + else + { + FilterType = "DeviceName"; + } + } + + private void radioDeviceFilter_CheckedChanged(object sender, EventArgs e) + { + Filter = this.textBoxDeviceFilter.Text; + FilterCriteria = this.comboFilterCriteria.Text; + if (radioDeviceFilter.Checked == true) + { + FilterType = "DeviceName"; + } + else + { + FilterType = "IpAddress"; + } + } + + private void comboFilterCriteria_TextChanged(object sender, EventArgs e) + { + FilterCriteria = this.comboFilterCriteria.Text; + } + + private void Button_DevicesDump_Click(object sender, EventArgs e) + { + InvokeDataChanged(sender, e); + if (CommandDumpDevices != null) + { + CommandDumpDevices(sender, e); + } + } + + private void ObjectListView_DeviceList_ItemCheck(object sender, ItemCheckEventArgs e) + { + // first of all, if user tries to check mark item which files were NOT loaded yet, + // show warning and don't allow user to check mark + ObjectListView olv = sender as ObjectListView; + DeviceListViewItemModel item = olv.GetModelObject(e.Index) as DeviceListViewItemModel; + if (item != null) + { + if (string.IsNullOrEmpty(item.DeviceName)) + { + if (!_suppressErrorMessage) + { + MessageBoxUtil.ShowError(this, ErrorMessages.MISSING_FILES); + } + e.NewValue = CheckState.Unchecked; + } + } + } + + private void ObjectListView_DeviceList_ItemChecked(object sender, ItemCheckedEventArgs e) + { + ObjectListView olv = sender as ObjectListView; + + if (olv.GetItemCount() == olv.CheckedObjects.Count) + { + olv.CheckHeaderCheckBox(olvColumnContent_TeamId); + } + else { + UncheckHeaderCheckbox(olv, olvColumnContent_TeamId); + } + } + + private void ObjectListView_DeviceList_HeaderCheckBoxChanging(object sender, HeaderCheckBoxChangingEventArgs e) + { + ObjectListView olv = sender as ObjectListView; + CheckState newState = e.NewCheckState; + if (newState == CheckState.Checked) + { + // suppress message box + _suppressErrorMessage = true; + if (olv.Objects != null) + { + olv.CheckAll(); + } + _suppressErrorMessage = false; + } + else if (newState == CheckState.Unchecked) + { + if (olv.Objects != null && olv.CheckedObjects.Count > 0) + { + olv.UncheckAll(); + } + } + } + + private void InvokeDataChanged(object sender, EventArgs e) + { + if (DataChanged != null) + { + DataChanged(sender, e); + } + } + + #endregion Events + } +} diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.resx similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.resx rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/DevicesView.resx diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.Designer.cs similarity index 95% rename from DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.Designer.cs index 1493786..4f5808b 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.Designer.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.Designer.cs @@ -99,11 +99,12 @@ private void InitializeComponent() // // tableLayoutPanel_MemberListCommandGroup // - this.tableLayoutPanel_MemberListCommandGroup.ColumnCount = 2; + this.tableLayoutPanel_MemberListCommandGroup.ColumnCount = 3; this.tableLayoutPanel_MemberListCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel_MemberListCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 110F)); + this.tableLayoutPanel_MemberListCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 250F)); this.tableLayoutPanel_MemberListCommandGroup.Controls.Add(this.tableLayoutPanel_MemberListAccessToken, 0, 0); - this.tableLayoutPanel_MemberListCommandGroup.Controls.Add(this.tableLayoutPanel_DumpUserContentDisplayCommandGroup, 1, 0); + this.tableLayoutPanel_MemberListCommandGroup.Controls.Add(this.tableLayoutPanel_DumpUserContentDisplayCommandGroup, 2, 0); this.tableLayoutPanel_MemberListCommandGroup.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel_MemberListCommandGroup.Location = new System.Drawing.Point(1, 1); this.tableLayoutPanel_MemberListCommandGroup.Margin = new System.Windows.Forms.Padding(1); @@ -125,7 +126,7 @@ private void InitializeComponent() this.tableLayoutPanel_MemberListAccessToken.Name = "tableLayoutPanel_MemberListAccessToken"; this.tableLayoutPanel_MemberListAccessToken.RowCount = 1; this.tableLayoutPanel_MemberListAccessToken.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel_MemberListAccessToken.Size = new System.Drawing.Size(357, 34); + this.tableLayoutPanel_MemberListAccessToken.Size = new System.Drawing.Size(107, 34); this.tableLayoutPanel_MemberListAccessToken.TabIndex = 0; // // label_MemberListAccessToken @@ -147,21 +148,25 @@ private void InitializeComponent() this.textBox_MemberListAccessToken.Location = new System.Drawing.Point(91, 7); this.textBox_MemberListAccessToken.Margin = new System.Windows.Forms.Padding(1, 7, 1, 1); this.textBox_MemberListAccessToken.Name = "textBox_MemberListAccessToken"; - this.textBox_MemberListAccessToken.Size = new System.Drawing.Size(265, 20); + this.textBox_MemberListAccessToken.Size = new System.Drawing.Size(15, 20); this.textBox_MemberListAccessToken.TabIndex = 0; this.textBox_MemberListAccessToken.Visible = false; // // tableLayoutPanel_DumpUserContentDisplayCommandGroup // - this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.ColumnCount = 1; - this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Controls.Add(this.buttonEx_DumpUserContentDisplayMembers, 0, 0); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.ColumnCount = 2; + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 49F)); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 51F)); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 49F)); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 51F)); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Controls.Add(this.buttonEx_DumpUserContentDisplayMembers, 1, 0); this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Dock = System.Windows.Forms.DockStyle.Fill; - this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Location = new System.Drawing.Point(366, 3); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Location = new System.Drawing.Point(226, 3); this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Name = "tableLayoutPanel_DumpUserContentDisplayCommandGroup"; this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.RowCount = 1; - this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Size = new System.Drawing.Size(104, 34); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.Size = new System.Drawing.Size(244, 34); this.tableLayoutPanel_DumpUserContentDisplayCommandGroup.TabIndex = 1; // // buttonEx_DumpUserContentDisplayMembers @@ -185,10 +190,10 @@ private void InitializeComponent() office2010White1.TextColor = System.Drawing.Color.Black; this.buttonEx_DumpUserContentDisplayMembers.ColorTable = office2010White1; this.buttonEx_DumpUserContentDisplayMembers.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonEx_DumpUserContentDisplayMembers.Location = new System.Drawing.Point(3, 3); + this.buttonEx_DumpUserContentDisplayMembers.Location = new System.Drawing.Point(122, 3); this.buttonEx_DumpUserContentDisplayMembers.Name = "buttonEx_DumpUserContentDisplayMembers"; - this.buttonEx_DumpUserContentDisplayMembers.Size = new System.Drawing.Size(98, 28); - this.buttonEx_DumpUserContentDisplayMembers.TabIndex = 0; + this.buttonEx_DumpUserContentDisplayMembers.Size = new System.Drawing.Size(119, 28); + this.buttonEx_DumpUserContentDisplayMembers.TabIndex = 3; this.buttonEx_DumpUserContentDisplayMembers.Text = "Display Members"; this.buttonEx_DumpUserContentDisplayMembers.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; this.buttonEx_DumpUserContentDisplayMembers.UseVisualStyleBackColor = true; @@ -338,23 +343,23 @@ private void InitializeComponent() this.olvColumnContent_Email.HeaderCheckBox = true; this.olvColumnContent_Email.HeaderCheckBoxUpdatesRowCheckBoxes = false; this.olvColumnContent_Email.Hideable = false; - this.olvColumnContent_Email.MinimumWidth = 100; + this.olvColumnContent_Email.MinimumWidth = 170; this.olvColumnContent_Email.Text = "Email"; - this.olvColumnContent_Email.Width = 100; + this.olvColumnContent_Email.Width = 170; // // olvColumnContent_TeamId // this.olvColumnContent_TeamId.AspectName = "TeamId"; - this.olvColumnContent_TeamId.MinimumWidth = 180; + this.olvColumnContent_TeamId.MinimumWidth = 150; this.olvColumnContent_TeamId.Text = "Team ID"; - this.olvColumnContent_TeamId.Width = 180; + this.olvColumnContent_TeamId.Width = 150; // // olvColumnContent_FilePath // this.olvColumnContent_FilePath.AspectName = "FilePath"; - this.olvColumnContent_FilePath.MinimumWidth = 180; + this.olvColumnContent_FilePath.MinimumWidth = 220; this.olvColumnContent_FilePath.Text = "Path"; - this.olvColumnContent_FilePath.Width = 200; + this.olvColumnContent_FilePath.Width = 220; // // olvColumnContent_FileName // @@ -369,6 +374,7 @@ private void InitializeComponent() this.olvColumnContent_FileSize.AspectName = "FileSize"; this.olvColumnContent_FileSize.FillsFreeSpace = true; this.olvColumnContent_FileSize.Text = "File Size"; + this.olvColumnContent_FileSize.Width = 100; // // tableLayoutPanel_DumpUserContentSplitContainer // @@ -440,7 +446,6 @@ private void InitializeComponent() private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_MemberListAccessToken; private System.Windows.Forms.Label label_MemberListAccessToken; private DfBAdminToolkit.Common.Component.TextBoxEx textBox_MemberListAccessToken; - private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DumpUserContentDisplayCommandGroup; private BrightIdeasSoftware.OLVColumn olvColumnContent_Email; private BrightIdeasSoftware.OLVColumn olvColumnContent_TeamId; private BrightIdeasSoftware.OLVColumn olvColumnContent_FilePath; @@ -453,8 +458,9 @@ private void InitializeComponent() private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DumpUserContentSplitContainer; private System.Windows.Forms.Label label_DumpUserContentSpliter; private System.Windows.Forms.Label label_DumpUserContentResult; - private Common.Component.ButtonEx buttonEx_DumpUserContentDisplayMembers; private Common.Component.ButtonEx buttonEx_DumpUserContentSelect; private Common.Component.ButtonEx buttonEx_DumpUserContentDump; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_DumpUserContentDisplayCommandGroup; + private Common.Component.ButtonEx buttonEx_DumpUserContentDisplayMembers; } } \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.cs similarity index 93% rename from DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.cs index 37cb68c..7759e20 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/DumpUserContentView.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.cs @@ -171,7 +171,7 @@ public void EnableContextMenuItems(bool enable) { } } - public void RenderMembersFileSearchResult() { + public void RenderMembersSearchResult() { this.objectListView_MemberList.SetObjects( MemberList ); @@ -191,6 +191,30 @@ public void RenderMembersFileSearchResult() { } } + public void RenderMembersFileSearchResult() + { + this.objectListView_MemberList.SetObjects( + MemberList + ); + foreach (Object item in this.objectListView_MemberList.Objects) + { + TeamListViewItemModel model = item as TeamListViewItemModel; + if (model != null) + { + if (string.IsNullOrEmpty(model.FileName)) + { + // remove all excpet the files that were located under that users group + this.objectListView_MemberList.RemoveObject(item); + } + } + } + + if (this.objectListView_MemberList.GetItemCount() == this.objectListView_MemberList.CheckedObjects.Count) + { + this.objectListView_MemberList.CheckHeaderCheckBox(olvColumnContent_Email); + } + } + public void EnableDumpControl(bool enable) { this.tableLayoutPanel_DumpUserContentFileCommandGroup.Enabled = enable; this.tableLayoutPanel_DumpUserContentFileCommandGroup.Update(); diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.resx similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.resx rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/DumpUserContentView.resx diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDataMigrationView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDataMigrationView.cs new file mode 100644 index 0000000..a7d8216 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDataMigrationView.cs @@ -0,0 +1,18 @@ +namespace DfBAdminToolkit.View { + + using System; + + public interface IDataMigrationView + : IView { + event EventHandler CommandDisplayContent; + event EventHandler CommandExportContent; + + string OutputFileName { get; set; } + + void RenderContentSearchResult(); + + void EnableExportControl(bool enable); + + void EnableExportButton(bool enable); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDevicesView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDevicesView.cs new file mode 100644 index 0000000..c2dba1b --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDevicesView.cs @@ -0,0 +1,34 @@ +namespace DfBAdminToolkit.View +{ + using DfBAdminToolkit.Common.DataExchange; + using DfBAdminToolkit.Model; + using System; + using System.Collections.Generic; + + public interface IDevicesView + : IView + { + event EventHandler CommandGetDevices; + event EventHandler CommandDumpDevices; + + string UserAccessToken { get; set; } + + string Filter { get; set; } + + string FilterType { get; set; } + + string FilterCriteria { get; set; } + + List<DeviceListViewItemModel> DeviceList { get; set; } + + void RefreshAccessToken(); + + void RenderDeviceSearchResult(); + + void EnableDeviceControl(bool enable); + + void EnableDeviceButton(bool enable); + + void ShowGroups(bool show); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/IDumpUserContentView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDumpUserContentView.cs similarity index 95% rename from DfBAdminToolkit/DfBAdminToolkit/View/IDumpUserContentView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/IDumpUserContentView.cs index 3c999b1..da74864 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/IDumpUserContentView.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IDumpUserContentView.cs @@ -22,6 +22,8 @@ public interface IDumpUserContentView void RefreshAccessToken(); + void RenderMembersSearchResult(); + void RenderMembersFileSearchResult(); void EnableDumpControl(bool enable); diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/ILegalView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ILegalView.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/ILegalView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/ILegalView.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/IMainView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IMainView.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/IMainView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/IMainView.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/IProvisioningView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IProvisioningView.cs similarity index 82% rename from DfBAdminToolkit/DfBAdminToolkit/View/IProvisioningView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/IProvisioningView.cs index e61b152..0c4969a 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/IProvisioningView.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IProvisioningView.cs @@ -8,7 +8,9 @@ public interface IProvisioningView : IView { event EventHandler CommandProvision; + event EventHandler CommandDeprovision; event EventHandler CommandLoadInputFile; + event EventHandler CommandCreateCSV; bool SendWelcomeEmail { get; set; } @@ -20,6 +22,8 @@ public interface IProvisioningView void EnableProvisionButton(bool enable); + void EnableDeprovisionButton(bool enable); + void EnableLoadInputFileButton(bool enable); void RefreshAccessToken(); diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/ISettingsView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ISettingsView.cs new file mode 100644 index 0000000..4f37b41 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ISettingsView.cs @@ -0,0 +1,21 @@ +namespace DfBAdminToolkit.View { + + using System; + using System.Windows.Forms; + + public interface ISettingsView + : IView { + event EventHandler CommandApplySettings; + event EventHandler CommandCancelSettings; + + string DefaultAccessToken { get; set; } + string DefaultProvisionToken { get; set; } + int SearchDefaultLimit { get; set; } + string ApiBaseUrl { get; set; } + string ApiContentBaseUrl { get; set; } + string ApiVersion { get; set; } + + void LoadSettingValues(); + void ShowView(IWin32Window owner); + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/ITextSearchView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ITextSearchView.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/ITextSearchView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/ITextSearchView.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/IView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/IView.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/IView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/IView.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/LegalView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/LegalView.Designer.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/LegalView.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/LegalView.Designer.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/LegalView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/LegalView.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/LegalView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/LegalView.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/LegalView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/LegalView.resx similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/LegalView.resx rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/LegalView.resx diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/MainView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.Designer.cs similarity index 80% rename from DfBAdminToolkit/DfBAdminToolkit/View/MainView.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.Designer.cs index 6f4232d..074a3f1 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/MainView.Designer.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.Designer.cs @@ -33,29 +33,29 @@ private void InitializeComponent() this.statusStrip_Main = new System.Windows.Forms.StatusStrip(); this.loadingCircleToolStripMenuItem_Main = new MRG.Controls.UI.LoadingCircleToolStripMenuItem(); this.toolStripStatusLabel_Progress = new System.Windows.Forms.ToolStripStatusLabel(); + this.menuStrip_Main = new System.Windows.Forms.MenuStrip(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.tableLayoutPanel_MainGroup.SuspendLayout(); this.statusStrip_Main.SuspendLayout(); - this.menuStrip1.SuspendLayout(); + this.menuStrip_Main.SuspendLayout(); this.SuspendLayout(); // // tableLayoutPanel_MainGroup // - this.tableLayoutPanel_MainGroup.Anchor = System.Windows.Forms.AnchorStyles.Right; this.tableLayoutPanel_MainGroup.ColumnCount = 1; this.tableLayoutPanel_MainGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel_MainGroup.Controls.Add(this.statusStrip_Main, 0, 1); - this.tableLayoutPanel_MainGroup.Location = new System.Drawing.Point(0, 30); - this.tableLayoutPanel_MainGroup.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); + this.tableLayoutPanel_MainGroup.Controls.Add(this.statusStrip_Main, 0, 2); + this.tableLayoutPanel_MainGroup.Controls.Add(this.menuStrip_Main, 0, 0); + this.tableLayoutPanel_MainGroup.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel_MainGroup.Location = new System.Drawing.Point(0, 0); this.tableLayoutPanel_MainGroup.Name = "tableLayoutPanel_MainGroup"; - this.tableLayoutPanel_MainGroup.RowCount = 2; + this.tableLayoutPanel_MainGroup.RowCount = 3; + this.tableLayoutPanel_MainGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 26F)); this.tableLayoutPanel_MainGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel_MainGroup.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel_MainGroup.RowStyles.Add(new System.Windows.Forms.RowStyle()); - this.tableLayoutPanel_MainGroup.Size = new System.Drawing.Size(1287, 1012); + this.tableLayoutPanel_MainGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 27F)); + this.tableLayoutPanel_MainGroup.Size = new System.Drawing.Size(858, 681); this.tableLayoutPanel_MainGroup.TabIndex = 3; // // statusStrip_Main @@ -64,10 +64,9 @@ private void InitializeComponent() this.statusStrip_Main.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.loadingCircleToolStripMenuItem_Main, this.toolStripStatusLabel_Progress}); - this.statusStrip_Main.Location = new System.Drawing.Point(0, 990); + this.statusStrip_Main.Location = new System.Drawing.Point(0, 654); this.statusStrip_Main.Name = "statusStrip_Main"; - this.statusStrip_Main.Padding = new System.Windows.Forms.Padding(2, 0, 21, 0); - this.statusStrip_Main.Size = new System.Drawing.Size(1287, 22); + this.statusStrip_Main.Size = new System.Drawing.Size(858, 27); this.statusStrip_Main.TabIndex = 3; this.statusStrip_Main.Text = "statusStrip_Main"; // @@ -98,7 +97,18 @@ private void InitializeComponent() // toolStripStatusLabel_Progress // this.toolStripStatusLabel_Progress.Name = "toolStripStatusLabel_Progress"; - this.toolStripStatusLabel_Progress.Size = new System.Drawing.Size(0, 17); + this.toolStripStatusLabel_Progress.Size = new System.Drawing.Size(0, 22); + // + // menuStrip_Main + // + this.menuStrip_Main.Dock = System.Windows.Forms.DockStyle.Fill; + this.menuStrip_Main.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem}); + this.menuStrip_Main.Location = new System.Drawing.Point(0, 0); + this.menuStrip_Main.Name = "menuStrip_Main"; + this.menuStrip_Main.Size = new System.Drawing.Size(858, 26); + this.menuStrip_Main.TabIndex = 4; + this.menuStrip_Main.Text = "menuStrip1"; // // fileToolStripMenuItem // @@ -106,7 +116,7 @@ private void InitializeComponent() this.settingsToolStripMenuItem, this.exitToolStripMenuItem}); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; - this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 19); + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 22); this.fileToolStripMenuItem.Text = "File"; // // settingsToolStripMenuItem @@ -114,7 +124,6 @@ private void InitializeComponent() this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; this.settingsToolStripMenuItem.Size = new System.Drawing.Size(125, 22); this.settingsToolStripMenuItem.Text = "Settings..."; - this.settingsToolStripMenuItem.Click += new System.EventHandler(this.settingsToolStripMenuItem_Click); // // exitToolStripMenuItem // @@ -122,53 +131,36 @@ private void InitializeComponent() this.exitToolStripMenuItem.Size = new System.Drawing.Size(125, 22); this.exitToolStripMenuItem.Text = "Exit"; // - // menuStrip1 - // - this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.fileToolStripMenuItem}); - this.menuStrip1.Location = new System.Drawing.Point(0, 0); - this.menuStrip1.Name = "menuStrip1"; - this.menuStrip1.Padding = new System.Windows.Forms.Padding(9, 3, 0, 3); - this.menuStrip1.Size = new System.Drawing.Size(1287, 25); - this.menuStrip1.TabIndex = 4; - this.menuStrip1.Text = "menuStrip1"; - // // MainView // - this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; - this.ClientSize = new System.Drawing.Size(1287, 1048); + this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.ClientSize = new System.Drawing.Size(858, 681); this.Controls.Add(this.tableLayoutPanel_MainGroup); - this.Controls.Add(this.menuStrip1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MainMenuStrip = this.menuStrip1; - this.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5); - this.MaximizeBox = false; - this.MinimumSize = new System.Drawing.Size(952, 717); + this.MainMenuStrip = this.menuStrip_Main; + this.MinimumSize = new System.Drawing.Size(640, 480); this.Name = "MainView"; - this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; this.Text = "Dropbox Business Admin Toolkit"; this.tableLayoutPanel_MainGroup.ResumeLayout(false); this.tableLayoutPanel_MainGroup.PerformLayout(); this.statusStrip_Main.ResumeLayout(false); this.statusStrip_Main.PerformLayout(); - this.menuStrip1.ResumeLayout(false); - this.menuStrip1.PerformLayout(); + this.menuStrip_Main.ResumeLayout(false); + this.menuStrip_Main.PerformLayout(); this.ResumeLayout(false); - this.PerformLayout(); } #endregion private System.Windows.Forms.TableLayoutPanel tableLayoutPanel_MainGroup; - private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.StatusStrip statusStrip_Main; private MRG.Controls.UI.LoadingCircleToolStripMenuItem loadingCircleToolStripMenuItem_Main; private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel_Progress; + private System.Windows.Forms.MenuStrip menuStrip_Main; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem settingsToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; } } diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/MainView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.cs similarity index 57% rename from DfBAdminToolkit/DfBAdminToolkit/View/MainView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.cs index 6155c29..e7de9ae 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/MainView.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.cs @@ -1,5 +1,5 @@ -namespace DfBAdminToolkit.View -{ +namespace DfBAdminToolkit.View { + using DfBAdminToolkit.Common.Utils; using DfBAdminToolkit.Model; using DfBAdminToolkit.Presenter; @@ -8,8 +8,7 @@ using System.Threading; using System.Windows.Forms; - public partial class MainView : Form, IMainView - { + public partial class MainView : Form, IMainView { public event EventHandler CommandQuitApplication; public event EventHandler DataChanged; @@ -18,80 +17,73 @@ public partial class MainView : Form, IMainView private CustomTabControl _tabControl; private IList<TabPage> _tabPages; - private enum TabIndex : int - { + private new enum TabIndex : int { TextSearch = 0, DumpContent = 1, - Provisioning = 2 + Provisioning = 2, + Devices = 3, + DataMigration = 4 } #endregion Runtime components - public bool ComponentEventsWired - { + public bool ComponentEventsWired { get; set; } public SynchronizationContext SyncContext { get; set; } - public MainView() - { + public MainView() { InitializeComponent(); InitializeRuntimeComponent(); Initialize(); WireComponentEvents(); } - ~MainView() - { + ~MainView() { UnWireComponentEvents(); } - public void WireComponentEvents() - { - if (!ComponentEventsWired) - { + public void WireComponentEvents() { + if (!ComponentEventsWired) { // TODO: event wiring _tabControl.SelectedIndexChanged += TabControl_SelectedIndexChanged; + settingsToolStripMenuItem.Click += SettingsToolStripMenuItem_Click; + exitToolStripMenuItem.Click += ExitToolStripMenuItem_Click; ComponentEventsWired = true; } } - public void UnWireComponentEvents() - { - if (ComponentEventsWired) - { + public void UnWireComponentEvents() { + if (ComponentEventsWired) { // TODO: event release _tabControl.SelectedIndexChanged -= TabControl_SelectedIndexChanged; + settingsToolStripMenuItem.Click -= SettingsToolStripMenuItem_Click; + exitToolStripMenuItem.Click -= ExitToolStripMenuItem_Click; ComponentEventsWired = false; } } - public void Initialize() - { + public void Initialize() { SyncContext = SynchronizationContext.Current; StartPosition = FormStartPosition.CenterScreen; ComponentEventsWired = false; RegisterTabPages(); bool checkToken = FileUtil.TokenCheck(); - if (!checkToken) - { - MessageBox.Show("You must go to File->Settings to add your app tokens before performing any actions in the toolkit.", "Dropbox Business Toolkit", MessageBoxButtons.OK); + if (!checkToken) { + ShowErrorMessage(ErrorMessages.MISSING_TOKEN, ErrorMessages.DLG_DEFAULT_TITLE); } } - public void ShowView() - { + public void ShowView() { this.Show(); } - public void HideView() - { + public void HideView() { this.Hide(); } - private void InitializeRuntimeComponent() - { + private void InitializeRuntimeComponent() { _tabControl = new CustomTabControl(); _tabControl.Name = "tabControl_Main"; _tabControl.Dock = DockStyle.Fill; @@ -103,71 +95,88 @@ private void InitializeRuntimeComponent() // add pages. _tabPages = new List<TabPage>(); - _tabPages.Add(new TabPage() - { + _tabPages.Add(new TabPage() { Name = "tabPage_FullTextSearch", Text = "Full Text Search", Dock = DockStyle.Fill, Padding = new Padding(5, 3, 5, 3), UseVisualStyleBackColor = true }); - _tabPages.Add(new TabPage() - { + _tabPages.Add(new TabPage() { Name = "tabPage_DumpUserContents", Text = "Dump User Contents", Dock = DockStyle.Fill, Padding = new Padding(5, 3, 5, 3), UseVisualStyleBackColor = true }); - _tabPages.Add(new TabPage() - { + _tabPages.Add(new TabPage() { Name = "tabPage_Provisioning", Text = "Provisioning", Dock = DockStyle.Fill, Padding = new Padding(5, 3, 5, 3), UseVisualStyleBackColor = true }); + _tabPages.Add(new TabPage() { + Name = "tabPage_Devices", + Text = "Devices", + Dock = DockStyle.Fill, + Padding = new Padding(5, 3, 5, 3), + UseVisualStyleBackColor = true + }); + _tabPages.Add(new TabPage() { + Name = "tabPage_DataMigration", + Text = "Data Migration", + Dock = DockStyle.Fill, + Padding = new Padding(5, 3, 3, 5), + UseVisualStyleBackColor = true + }); } #region Events - protected override void OnShown(EventArgs e) - { + protected override void OnShown(EventArgs e) { base.OnShown(e); RepaintTabControlBackground(); } - private void TabControl_SelectedIndexChanged(object sender, EventArgs e) - { + private void TabControl_SelectedIndexChanged(object sender, EventArgs e) { RepaintTabControlBackground(); } + private void SettingsToolStripMenuItem_Click(object sender, EventArgs e) { + ISettingsPresenter presenter = GetSettingPresenter(); + presenter.ShowSettings(this); + } + + private void ExitToolStripMenuItem_Click(object sender, EventArgs e) { + // TODO: + // Add thread exit handling here. + + Application.Exit(); + } + #endregion Events #region Slots & helpers - public void EnableView(bool enable) - { + public void EnableView(bool enable) { this.tableLayoutPanel_MainGroup.Enabled = enable; this.tableLayoutPanel_MainGroup.Update(); } - public void EnableLoadingSpinner(bool enable) - { + public void EnableLoadingSpinner(bool enable) { this.loadingCircleToolStripMenuItem_Main.Visible = enable; this.loadingCircleToolStripMenuItem_Main.LoadingCircleControl.Active = enable; this.loadingCircleToolStripMenuItem_Main.LoadingCircleControl.Update(); this.statusStrip_Main.Update(); } - public void UpdateProgressText(string text) - { + public void UpdateProgressText(string text) { this.toolStripStatusLabel_Progress.Text = text; this.statusStrip_Main.Update(); } - private void RepaintTabControlBackground() - { + private void RepaintTabControlBackground() { // enforce unified tab color _tabControl.SelectedTab.BackColor = System.Drawing.SystemColors.Control; } @@ -176,23 +185,25 @@ private void RepaintTabControlBackground() #region Child view registration - private void RegisterTabPages() - { + private void RegisterTabPages() { // register full text search view _tabPages[(int)TabIndex.TextSearch].Controls.Add(CreateTextSearchView()); _tabPages[(int)TabIndex.DumpContent].Controls.Add(CreateDumpUserContentView()); _tabPages[(int)TabIndex.Provisioning].Controls.Add(CreateProvisionView()); + _tabPages[(int)TabIndex.Devices].Controls.Add(CreateDevicesView()); + _tabPages[(int)TabIndex.DataMigration].Controls.Add(CreateDataMigrationView()); _tabControl.Controls.Add(_tabPages[(int)TabIndex.TextSearch]); _tabControl.Controls.Add(_tabPages[(int)TabIndex.DumpContent]); _tabControl.Controls.Add(_tabPages[(int)TabIndex.Provisioning]); + _tabControl.Controls.Add(_tabPages[(int)TabIndex.Devices]); + _tabControl.Controls.Add(_tabPages[(int)TabIndex.DataMigration]); // select first tab _tabControl.SelectTab((int)TabIndex.TextSearch); } - private TextSearchView CreateTextSearchView() - { + private TextSearchView CreateTextSearchView() { ITextSearchModel model = new TextSearchModel(); ITextSearchView view = new TextSearchView(); ITextSearchPresenter presenter = SimpleResolver.Instance.Get<ITextSearchPresenter>( @@ -202,8 +213,7 @@ private TextSearchView CreateTextSearchView() return view as TextSearchView; } - private DumpUserContentView CreateDumpUserContentView() - { + private DumpUserContentView CreateDumpUserContentView() { IDumpUserContentModel model = new DumpUserContentModel(); IDumpUserContentView view = new DumpUserContentView(); IDumpUserContentPresenter presenter = SimpleResolver.Instance.Get<IDumpUserContentPresenter>( @@ -213,8 +223,7 @@ private DumpUserContentView CreateDumpUserContentView() return view as DumpUserContentView; } - private ProvisioningView CreateProvisionView() - { + private ProvisioningView CreateProvisionView() { IProvisioningModel model = new ProvisioningModel(); IProvisioningView view = new ProvisioningView(); IProvisioningPresenter presenter = SimpleResolver.Instance.Get<IProvisioningPresenter>( @@ -224,26 +233,52 @@ private ProvisioningView CreateProvisionView() return view as ProvisioningView; } + private DevicesView CreateDevicesView() { + IDevicesModel model = new DevicesModel(); + IDevicesView view = new DevicesView(); + IDevicesPresenter presenter = SimpleResolver.Instance.Get<IDevicesPresenter>( + new object[] { model, view } + ); + view.ShowView(); + return view as DevicesView; + } + + private DataMigrationView CreateDataMigrationView() { + IDataMigrationModel model = new DataMigrationModel(); + IDataMigrationView view = new DataMigrationView(); + IDataMigrationPresenter presenter = SimpleResolver.Instance.Get<IDataMigrationPresenter>( + new object[] { model, view } + ); + view.ShowView(); + return view as DataMigrationView; + } + + private ISettingsPresenter GetSettingPresenter() { + ISettingsModel model = new SettingsModel(); + ISettingsView view = new SettingsView(); + ISettingsPresenter presenter = SimpleResolver.Instance.Get<ISettingsPresenter>( + new object[] { model, view } + ); + return presenter; + } + #endregion Child view registration #region Message box - public void ShowErrorMessage(string message, string title) - { + public void ShowErrorMessage(string message, string title) { MessageBoxUtil.ShowError(this, message, title); } - public void ShowInfoMessage(string message) - { + public void ShowInfoMessage(string message) { MessageBoxUtil.ShowInfo(this, message); } #endregion Message box - private void settingsToolStripMenuItem_Click(object sender, EventArgs e) - { - Form newSettings = new SettingsView(); - newSettings.Show(); - } + //private void settingsToolStripMenuItem_Click(object sender, EventArgs e) { + // Form newSettings = new SettingsView(); + // newSettings.Show(); + //} } } \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/MainView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.resx similarity index 99% rename from DfBAdminToolkit/DfBAdminToolkit/View/MainView.resx rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.resx index 64aee68..d26b668 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/MainView.resx +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/MainView.resx @@ -120,7 +120,7 @@ <metadata name="statusStrip_Main.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> </metadata> - <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <metadata name="menuStrip_Main.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>158, 17</value> </metadata> <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/Overlay/MemberInfoOverlay.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/Overlay/MemberInfoOverlay.cs similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/Overlay/MemberInfoOverlay.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/Overlay/MemberInfoOverlay.cs diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.Designer.cs similarity index 93% rename from DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.Designer.cs index ca7487b..e838a8c 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.Designer.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.Designer.cs @@ -51,6 +51,7 @@ private void InitializeComponent() this.radioButton_ProvisioningRoleUserMgmtAdmin = new System.Windows.Forms.RadioButton(); this.radioButton_ProvisioningRoleSupportAdmin = new System.Windows.Forms.RadioButton(); this.tableLayoutPanel_ProvisioningSendEmailGroup = new System.Windows.Forms.TableLayoutPanel(); + this.buttonEx_ProvisioningCreateCSV = new DfBAdminToolkit.Common.Component.ButtonEx(); this.checkBox_ProvisioningSendWelcomeEmail = new System.Windows.Forms.CheckBox(); this.buttonEx_ProvisioningLoadCSV = new DfBAdminToolkit.Common.Component.ButtonEx(); this.tableLayoutPanel_ProvisioningMembersGroup = new System.Windows.Forms.TableLayoutPanel(); @@ -60,6 +61,7 @@ private void InitializeComponent() this.olvColumnProvisioning_LastName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn())); this.tableLayoutPanel_ProvisioningProvisionCommandGroup = new System.Windows.Forms.TableLayoutPanel(); this.buttonEx_ProvisioningProvision = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.buttonEx_ProvisioningDeprovision = new DfBAdminToolkit.Common.Component.ButtonEx(); this.tableLayoutPanel_ProvisioningSplitter = new System.Windows.Forms.TableLayoutPanel(); this.label_ProvisioningSplitter = new System.Windows.Forms.Label(); this.tableLayoutPanel_Provisioning.SuspendLayout(); @@ -329,9 +331,11 @@ private void InitializeComponent() // // tableLayoutPanel_ProvisioningSendEmailGroup // - this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnCount = 2; + this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnCount = 3; this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F)); + this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 100F)); + this.tableLayoutPanel_ProvisioningSendEmailGroup.Controls.Add(this.buttonEx_ProvisioningCreateCSV, 1, 0); this.tableLayoutPanel_ProvisioningSendEmailGroup.Controls.Add(this.checkBox_ProvisioningSendWelcomeEmail, 0, 0); this.tableLayoutPanel_ProvisioningSendEmailGroup.Controls.Add(this.buttonEx_ProvisioningLoadCSV, 1, 0); this.tableLayoutPanel_ProvisioningSendEmailGroup.Dock = System.Windows.Forms.DockStyle.Fill; @@ -342,6 +346,18 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningSendEmailGroup.Size = new System.Drawing.Size(333, 85); this.tableLayoutPanel_ProvisioningSendEmailGroup.TabIndex = 3; // + // buttonEx_ProvisioningCreateCSV + // + this.buttonEx_ProvisioningCreateCSV.ColorTable = office2010White1; + this.buttonEx_ProvisioningCreateCSV.Dock = System.Windows.Forms.DockStyle.Bottom; + this.buttonEx_ProvisioningCreateCSV.Location = new System.Drawing.Point(236, 54); + this.buttonEx_ProvisioningCreateCSV.Name = "buttonEx_ProvisioningCreateCSV"; + this.buttonEx_ProvisioningCreateCSV.Size = new System.Drawing.Size(94, 28); + this.buttonEx_ProvisioningCreateCSV.TabIndex = 6; + this.buttonEx_ProvisioningCreateCSV.Text = "Export Members"; + this.buttonEx_ProvisioningCreateCSV.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; + this.buttonEx_ProvisioningCreateCSV.UseVisualStyleBackColor = true; + // // checkBox_ProvisioningSendWelcomeEmail // this.checkBox_ProvisioningSendWelcomeEmail.AutoSize = true; @@ -349,7 +365,7 @@ private void InitializeComponent() this.checkBox_ProvisioningSendWelcomeEmail.Location = new System.Drawing.Point(3, 22); this.checkBox_ProvisioningSendWelcomeEmail.Margin = new System.Windows.Forms.Padding(3, 22, 3, 3); this.checkBox_ProvisioningSendWelcomeEmail.Name = "checkBox_ProvisioningSendWelcomeEmail"; - this.checkBox_ProvisioningSendWelcomeEmail.Size = new System.Drawing.Size(227, 17); + this.checkBox_ProvisioningSendWelcomeEmail.Size = new System.Drawing.Size(127, 17); this.checkBox_ProvisioningSendWelcomeEmail.TabIndex = 5; this.checkBox_ProvisioningSendWelcomeEmail.Text = "Send Welcome Email"; this.checkBox_ProvisioningSendWelcomeEmail.UseVisualStyleBackColor = true; @@ -358,7 +374,7 @@ private void InitializeComponent() // this.buttonEx_ProvisioningLoadCSV.ColorTable = office2010White1; this.buttonEx_ProvisioningLoadCSV.Dock = System.Windows.Forms.DockStyle.Bottom; - this.buttonEx_ProvisioningLoadCSV.Location = new System.Drawing.Point(236, 54); + this.buttonEx_ProvisioningLoadCSV.Location = new System.Drawing.Point(136, 54); this.buttonEx_ProvisioningLoadCSV.Name = "buttonEx_ProvisioningLoadCSV"; this.buttonEx_ProvisioningLoadCSV.Size = new System.Drawing.Size(94, 28); this.buttonEx_ProvisioningLoadCSV.TabIndex = 4; @@ -395,8 +411,8 @@ private void InitializeComponent() this.objectListView_ProvisioningMembers.Dock = System.Windows.Forms.DockStyle.Fill; this.objectListView_ProvisioningMembers.EmptyListMsg = "No Result"; this.objectListView_ProvisioningMembers.FullRowSelect = true; - this.objectListView_ProvisioningMembers.HighlightBackgroundColor = System.Drawing.Color.Empty; - this.objectListView_ProvisioningMembers.HighlightForegroundColor = System.Drawing.Color.Empty; + this.objectListView_ProvisioningMembers.SelectedBackColor = System.Drawing.Color.Empty; + this.objectListView_ProvisioningMembers.SelectedBackColor = System.Drawing.Color.Empty; this.objectListView_ProvisioningMembers.Location = new System.Drawing.Point(3, 3); this.objectListView_ProvisioningMembers.Name = "objectListView_ProvisioningMembers"; this.objectListView_ProvisioningMembers.Size = new System.Drawing.Size(701, 247); @@ -436,10 +452,12 @@ private void InitializeComponent() // // tableLayoutPanel_ProvisioningProvisionCommandGroup // - this.tableLayoutPanel_ProvisioningProvisionCommandGroup.ColumnCount = 2; + this.tableLayoutPanel_ProvisioningProvisionCommandGroup.ColumnCount = 3; this.tableLayoutPanel_ProvisioningProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 113F)); + this.tableLayoutPanel_ProvisioningProvisionCommandGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 113F)); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Controls.Add(this.buttonEx_ProvisioningProvision, 1, 0); + this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Controls.Add(this.buttonEx_ProvisioningDeprovision, 2, 0); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Location = new System.Drawing.Point(3, 397); this.tableLayoutPanel_ProvisioningProvisionCommandGroup.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); @@ -470,7 +488,7 @@ private void InitializeComponent() office2010Blue1.TextColor = System.Drawing.Color.White; this.buttonEx_ProvisioningProvision.ColorTable = office2010Blue1; this.buttonEx_ProvisioningProvision.Dock = System.Windows.Forms.DockStyle.Fill; - this.buttonEx_ProvisioningProvision.Location = new System.Drawing.Point(597, 3); + this.buttonEx_ProvisioningProvision.Location = new System.Drawing.Point(484, 3); this.buttonEx_ProvisioningProvision.Name = "buttonEx_ProvisioningProvision"; this.buttonEx_ProvisioningProvision.Size = new System.Drawing.Size(107, 30); this.buttonEx_ProvisioningProvision.TabIndex = 1; @@ -478,6 +496,19 @@ private void InitializeComponent() this.buttonEx_ProvisioningProvision.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; this.buttonEx_ProvisioningProvision.UseVisualStyleBackColor = true; // + // buttonEx_ProvisioningDeprovision + // + this.buttonEx_ProvisioningDeprovision.ColorTable = office2010Blue1; + this.buttonEx_ProvisioningDeprovision.Dock = System.Windows.Forms.DockStyle.Fill; + this.buttonEx_ProvisioningDeprovision.Location = new System.Drawing.Point(596, 2); + this.buttonEx_ProvisioningDeprovision.Margin = new System.Windows.Forms.Padding(2); + this.buttonEx_ProvisioningDeprovision.Name = "buttonEx_ProvisioningDeprovision"; + this.buttonEx_ProvisioningDeprovision.Size = new System.Drawing.Size(109, 32); + this.buttonEx_ProvisioningDeprovision.TabIndex = 2; + this.buttonEx_ProvisioningDeprovision.Text = "Deprovision"; + this.buttonEx_ProvisioningDeprovision.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; + this.buttonEx_ProvisioningDeprovision.UseVisualStyleBackColor = true; + // // tableLayoutPanel_ProvisioningSplitter // this.tableLayoutPanel_ProvisioningSplitter.ColumnCount = 1; @@ -562,5 +593,7 @@ private void InitializeComponent() private ButtonEx buttonEx_ProvisioningFileInputSelect; private ButtonEx buttonEx_ProvisioningLoadCSV; private ButtonEx buttonEx_ProvisioningProvision; + private ButtonEx buttonEx_ProvisioningDeprovision; + private ButtonEx buttonEx_ProvisioningCreateCSV; } } \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.cs similarity index 87% rename from DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.cs index 78a3caa..8f7a76b 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/ProvisioningView.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.cs @@ -2,6 +2,7 @@ { using BrightIdeasSoftware; using DfBAdminToolkit.Model; + using DfBAdminToolkit.Common.Utils; using System; using System.Collections.Generic; using System.Drawing; @@ -13,7 +14,9 @@ public partial class ProvisioningView : Form, IProvisioningView { public event EventHandler DataChanged; public event EventHandler CommandProvision; + public event EventHandler CommandDeprovision; public event EventHandler CommandLoadInputFile; + public event EventHandler CommandCreateCSV; public SynchronizationContext SyncContext { get; set; } @@ -44,6 +47,7 @@ public ProvisioningView() InitializeOLVMembers(); WireComponentEvents(); EnableProvisionButton(false); + EnableDeprovisionButton(false); this.radioButton_ProvisioningRoleMemberOnly.Checked = true; } @@ -59,8 +63,10 @@ public void WireComponentEvents() this.textBox_ProvisioningAccessToken.TextChanged += TextBox_ProvisioningAccessToken_TextChanged; this.textBox_ProvisioningInputFile.OnDragDropEnd += TextBox_ProvisioningInputFile_OnDragDropEnd; this.buttonEx_ProvisioningProvision.Click += Button_ProvisioningDoProvision_Click; + this.buttonEx_ProvisioningDeprovision.Click += Button_ProvisioningDoDeprovision_Click; this.buttonEx_ProvisioningFileInputSelect.Click += Button_ProvisioningInputFile_Click; this.buttonEx_ProvisioningLoadCSV.Click += Button_ProvisioningLoadInputFile_Click; + this.buttonEx_ProvisioningCreateCSV.Click += Button_ExportMembers_Click; this.checkBox_ProvisioningSendWelcomeEmail.CheckedChanged += CheckBox_ProvisioningSendWelcomeEmail_CheckedChanged; this.objectListView_ProvisioningMembers.ItemChecked += ObjectListView_ProvisioningMembers_ItemChecked; this.objectListView_ProvisioningMembers.HeaderCheckBoxChanging += ObjectListView_ProvisioningMembers_HeaderCheckBoxChanging; @@ -75,8 +81,10 @@ public void UnWireComponentEvents() this.textBox_ProvisioningAccessToken.TextChanged -= TextBox_ProvisioningAccessToken_TextChanged; this.textBox_ProvisioningInputFile.OnDragDropEnd -= TextBox_ProvisioningInputFile_OnDragDropEnd; this.buttonEx_ProvisioningProvision.Click -= Button_ProvisioningDoProvision_Click; + this.buttonEx_ProvisioningDeprovision.Click -= Button_ProvisioningDoDeprovision_Click; this.buttonEx_ProvisioningFileInputSelect.Click -= Button_ProvisioningInputFile_Click; this.buttonEx_ProvisioningLoadCSV.Click -= Button_ProvisioningLoadInputFile_Click; + this.buttonEx_ProvisioningCreateCSV.Click -= Button_ExportMembers_Click; this.checkBox_ProvisioningSendWelcomeEmail.CheckedChanged -= CheckBox_ProvisioningSendWelcomeEmail_CheckedChanged; this.objectListView_ProvisioningMembers.ItemChecked -= ObjectListView_ProvisioningMembers_ItemChecked; this.objectListView_ProvisioningMembers.HeaderCheckBoxChanging -= ObjectListView_ProvisioningMembers_HeaderCheckBoxChanging; @@ -166,13 +174,19 @@ public void EnableLoadInputFileButton(bool enable) public void EnableProvisionButton(bool enable) { - this.buttonEx_ProvisioningProvision.Enabled = enable; - this.buttonEx_ProvisioningProvision.Update(); + buttonEx_ProvisioningProvision.Enabled = enable; + buttonEx_ProvisioningProvision.Update(); + } + + public void EnableDeprovisionButton(bool enable) + { + buttonEx_ProvisioningDeprovision.Enabled = enable; + buttonEx_ProvisioningDeprovision.Update(); } public void RefreshAccessToken() { - this.textBox_ProvisioningAccessToken.Text = AccessToken; + textBox_ProvisioningAccessToken.Text = AccessToken; } public void RenderMemberList(List<MemberListViewItemModel> members) @@ -232,6 +246,23 @@ private void Button_ProvisioningDoProvision_Click(object sender, EventArgs e) } } + private void Button_ProvisioningDoDeprovision_Click(object sender, EventArgs e) + { + DialogResult d = MessageBoxUtil.ShowConfirm(this, ErrorMessages.CONFIRM_DELETE); + if (d == DialogResult.Yes) + { + InvokeDataChanged(sender, e); + if (CommandDeprovision != null) + { + CommandDeprovision(sender, e); + } + } + else if (d == DialogResult.No) + { + //do nothing + } + } + private void Button_ProvisioningInputFile_Click(object sender, EventArgs e) { OpenFileDialog inputFile = new OpenFileDialog(); @@ -256,6 +287,14 @@ private void Button_ProvisioningLoadInputFile_Click(object sender, EventArgs e) } } + private void Button_ExportMembers_Click(object sender, EventArgs e) + { + if (CommandCreateCSV != null) + { + CommandCreateCSV(sender, e); + } + } + private void TextBox_ProvisioningInputFile_OnDragDropEnd(object sender, EventArgs e) { InputFilePath = this.textBox_ProvisioningInputFile.Text; @@ -304,5 +343,6 @@ private void InvokeDataChanged(object sender, EventArgs e) } #endregion Events + } } \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/ProvisioningView.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.Designer.cs new file mode 100644 index 0000000..d6469f3 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.Designer.cs @@ -0,0 +1,295 @@ +namespace DfBAdminToolkit.View +{ + partial class SettingsView + { + /// <summary> + /// Required designer variable. + /// </summary> + private System.ComponentModel.IContainer components = null; + + /// <summary> + /// Clean up any resources being used. + /// </summary> + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// <summary> + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// </summary> + private void InitializeComponent() + { + DfBAdminToolkit.Common.Component.Office2010Blue office2010Blue1 = new DfBAdminToolkit.Common.Component.Office2010Blue(); + DfBAdminToolkit.Common.Component.Office2010White office2010White1 = new DfBAdminToolkit.Common.Component.Office2010White(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsView)); + this.textBoxDefaultProvision = new System.Windows.Forms.TextBox(); + this.textBoxDefaultAccess = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.textBoxApiVersion = new System.Windows.Forms.TextBox(); + this.textBoxContentUrl = new System.Windows.Forms.TextBox(); + this.textBoxBaseUrl = new System.Windows.Forms.TextBox(); + this.labelStatus = new System.Windows.Forms.Label(); + this.button_OAuthTeamFileToken = new System.Windows.Forms.Button(); + this.button_OAuthTeamMgmtToken = new System.Windows.Forms.Button(); + this.buttonEx_SettingsSave = new DfBAdminToolkit.Common.Component.ButtonEx(); + this.numericUpDown_SettingSearchLimit = new System.Windows.Forms.NumericUpDown(); + this.buttonEx_SettingsCancel = new DfBAdminToolkit.Common.Component.ButtonEx(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_SettingSearchLimit)).BeginInit(); + this.SuspendLayout(); + // + // textBoxDefaultProvision + // + this.textBoxDefaultProvision.Location = new System.Drawing.Point(146, 60); + this.textBoxDefaultProvision.Name = "textBoxDefaultProvision"; + this.textBoxDefaultProvision.Size = new System.Drawing.Size(413, 20); + this.textBoxDefaultProvision.TabIndex = 1; + // + // textBoxDefaultAccess + // + this.textBoxDefaultAccess.Location = new System.Drawing.Point(146, 21); + this.textBoxDefaultAccess.Name = "textBoxDefaultAccess"; + this.textBoxDefaultAccess.Size = new System.Drawing.Size(413, 20); + this.textBoxDefaultAccess.TabIndex = 0; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(12, 24); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(128, 13); + this.label1.TabIndex = 5; + this.label1.Text = "Team File Access Token:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(5, 63); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(136, 13); + this.label2.TabIndex = 6; + this.label2.Text = "Team Management Token:"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(38, 102); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(105, 13); + this.label3.TabIndex = 7; + this.label3.Text = "Search Default Limit:"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(91, 141); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(50, 13); + this.label4.TabIndex = 9; + this.label4.Text = "Base Url:"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(80, 180); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(63, 13); + this.label5.TabIndex = 10; + this.label5.Text = "Content Url:"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(318, 141); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(63, 13); + this.label6.TabIndex = 11; + this.label6.Text = "Api Version:"; + // + // textBoxApiVersion + // + this.textBoxApiVersion.Location = new System.Drawing.Point(386, 138); + this.textBoxApiVersion.Name = "textBoxApiVersion"; + this.textBoxApiVersion.Size = new System.Drawing.Size(39, 20); + this.textBoxApiVersion.TabIndex = 4; + // + // textBoxContentUrl + // + this.textBoxContentUrl.Location = new System.Drawing.Point(146, 177); + this.textBoxContentUrl.Name = "textBoxContentUrl"; + this.textBoxContentUrl.Size = new System.Drawing.Size(166, 20); + this.textBoxContentUrl.TabIndex = 5; + // + // textBoxBaseUrl + // + this.textBoxBaseUrl.Location = new System.Drawing.Point(146, 138); + this.textBoxBaseUrl.Name = "textBoxBaseUrl"; + this.textBoxBaseUrl.Size = new System.Drawing.Size(166, 20); + this.textBoxBaseUrl.TabIndex = 3; + // + // labelStatus + // + this.labelStatus.AutoSize = true; + this.labelStatus.Location = new System.Drawing.Point(12, 217); + this.labelStatus.Name = "labelStatus"; + this.labelStatus.Size = new System.Drawing.Size(59, 13); + this.labelStatus.TabIndex = 15; + this.labelStatus.Text = "labelStatus"; + // + // button_OAuthTeamFileToken + // + this.button_OAuthTeamFileToken.Location = new System.Drawing.Point(509, 41); + this.button_OAuthTeamFileToken.Margin = new System.Windows.Forms.Padding(2); + this.button_OAuthTeamFileToken.Name = "button_OAuthTeamFileToken"; + this.button_OAuthTeamFileToken.Size = new System.Drawing.Size(50, 16); + this.button_OAuthTeamFileToken.TabIndex = 16; + this.button_OAuthTeamFileToken.Text = "OAuth"; + this.button_OAuthTeamFileToken.UseVisualStyleBackColor = true; + this.button_OAuthTeamFileToken.Visible = false; + // + // button_OAuthTeamMgmtToken + // + this.button_OAuthTeamMgmtToken.Location = new System.Drawing.Point(508, 80); + this.button_OAuthTeamMgmtToken.Margin = new System.Windows.Forms.Padding(2); + this.button_OAuthTeamMgmtToken.Name = "button_OAuthTeamMgmtToken"; + this.button_OAuthTeamMgmtToken.Size = new System.Drawing.Size(50, 16); + this.button_OAuthTeamMgmtToken.TabIndex = 17; + this.button_OAuthTeamMgmtToken.Text = "OAuth"; + this.button_OAuthTeamMgmtToken.UseVisualStyleBackColor = true; + this.button_OAuthTeamMgmtToken.Visible = false; + // + // buttonEx_SettingsSave + // + office2010Blue1.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue1.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue1.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue1.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue1.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); + office2010Blue1.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); + office2010Blue1.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010Blue1.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010Blue1.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(41)))), ((int)(((byte)(97)))), ((int)(((byte)(181))))); + office2010Blue1.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(62)))), ((int)(((byte)(125)))), ((int)(((byte)(219))))); + office2010Blue1.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010Blue1.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010Blue1.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); + office2010Blue1.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); + office2010Blue1.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010Blue1.TextColor = System.Drawing.Color.White; + this.buttonEx_SettingsSave.ColorTable = office2010Blue1; + this.buttonEx_SettingsSave.Location = new System.Drawing.Point(453, 233); + this.buttonEx_SettingsSave.Name = "buttonEx_SettingsSave"; + this.buttonEx_SettingsSave.Size = new System.Drawing.Size(106, 28); + this.buttonEx_SettingsSave.TabIndex = 7; + this.buttonEx_SettingsSave.Text = "Apply && Restart"; + this.buttonEx_SettingsSave.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_Blue; + this.buttonEx_SettingsSave.UseVisualStyleBackColor = true; + // + // numericUpDown_SettingSearchLimit + // + this.numericUpDown_SettingSearchLimit.Location = new System.Drawing.Point(146, 102); + this.numericUpDown_SettingSearchLimit.Maximum = new decimal(new int[] { + 1000, + 0, + 0, + 0}); + this.numericUpDown_SettingSearchLimit.Name = "numericUpDown_SettingSearchLimit"; + this.numericUpDown_SettingSearchLimit.Size = new System.Drawing.Size(64, 20); + this.numericUpDown_SettingSearchLimit.TabIndex = 2; + // + // buttonEx_SettingsCancel + // + office2010White1.BorderColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(72)))), ((int)(((byte)(161))))); + office2010White1.BorderColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(68)))), ((int)(((byte)(135)))), ((int)(((byte)(228))))); + office2010White1.ButtonMouseOverColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010White1.ButtonMouseOverColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010White1.ButtonMouseOverColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(225)))), ((int)(((byte)(137))))); + office2010White1.ButtonMouseOverColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(249)))), ((int)(((byte)(224))))); + office2010White1.ButtonNormalColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(154)))), ((int)(((byte)(154)))), ((int)(((byte)(154))))); + office2010White1.ButtonNormalColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + office2010White1.ButtonNormalColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); + office2010White1.ButtonNormalColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + office2010White1.ButtonSelectedColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(199)))), ((int)(((byte)(87))))); + office2010White1.ButtonSelectedColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(252)))), ((int)(((byte)(243)))), ((int)(((byte)(215))))); + office2010White1.ButtonSelectedColor3 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(229)))), ((int)(((byte)(117))))); + office2010White1.ButtonSelectedColor4 = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(216)))), ((int)(((byte)(107))))); + office2010White1.HoverTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010White1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); + office2010White1.TextColor = System.Drawing.Color.Black; + this.buttonEx_SettingsCancel.ColorTable = office2010White1; + this.buttonEx_SettingsCancel.Location = new System.Drawing.Point(359, 233); + this.buttonEx_SettingsCancel.Name = "buttonEx_SettingsCancel"; + this.buttonEx_SettingsCancel.Size = new System.Drawing.Size(88, 28); + this.buttonEx_SettingsCancel.TabIndex = 6; + this.buttonEx_SettingsCancel.Text = "Cancel"; + this.buttonEx_SettingsCancel.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; + this.buttonEx_SettingsCancel.UseVisualStyleBackColor = true; + // + // SettingsView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(568, 273); + this.Controls.Add(this.buttonEx_SettingsCancel); + this.Controls.Add(this.numericUpDown_SettingSearchLimit); + this.Controls.Add(this.buttonEx_SettingsSave); + this.Controls.Add(this.button_OAuthTeamMgmtToken); + this.Controls.Add(this.button_OAuthTeamFileToken); + this.Controls.Add(this.labelStatus); + this.Controls.Add(this.textBoxBaseUrl); + this.Controls.Add(this.textBoxContentUrl); + this.Controls.Add(this.textBoxApiVersion); + this.Controls.Add(this.label6); + this.Controls.Add(this.label5); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.textBoxDefaultAccess); + this.Controls.Add(this.textBoxDefaultProvision); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "SettingsView"; + this.Text = "Settings"; + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_SettingSearchLimit)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + private System.Windows.Forms.TextBox textBoxDefaultProvision; + private System.Windows.Forms.TextBox textBoxDefaultAccess; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox textBoxApiVersion; + private System.Windows.Forms.TextBox textBoxContentUrl; + private System.Windows.Forms.TextBox textBoxBaseUrl; + private System.Windows.Forms.Label labelStatus; + private System.Windows.Forms.Button button_OAuthTeamFileToken; + private System.Windows.Forms.Button button_OAuthTeamMgmtToken; + private Common.Component.ButtonEx buttonEx_SettingsSave; + private System.Windows.Forms.NumericUpDown numericUpDown_SettingSearchLimit; + private Common.Component.ButtonEx buttonEx_SettingsCancel; + } +} \ No newline at end of file diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.cs new file mode 100644 index 0000000..ba5b38e --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.cs @@ -0,0 +1,113 @@ +namespace DfBAdminToolkit.View { + + using DfBAdminToolkit.Common.Component; + using System; + using System.Threading; + using System.Windows.Forms; + + public partial class SettingsView + : FormEx, ISettingsView { + public SynchronizationContext SyncContext { get; set; } + public bool ComponentEventsWired { get; set; } + + public event EventHandler DataChanged; + public event EventHandler CommandApplySettings; + public event EventHandler CommandCancelSettings; + + public string DefaultAccessToken { get; set; } + public string DefaultProvisionToken { get; set; } + public int SearchDefaultLimit { get; set; } + public string ApiBaseUrl { get; set; } + public string ApiContentBaseUrl { get; set; } + public string ApiVersion { get; set; } + + public SettingsView() + : base(FormExStyle.CENTERED_WINDOW) { + InitializeComponent(); + Initialize(); + WireComponentEvents(); + labelStatus.Text = ""; + } + + ~SettingsView() { + UnWireComponentEvents(); + } + + public void Initialize() { + ComponentEventsWired = false; + SyncContext = SynchronizationContext.Current; + } + + public void WireComponentEvents() { + if (!ComponentEventsWired) { + buttonEx_SettingsSave.Click += ButtonEx_SettingsSave_Click; + buttonEx_SettingsCancel.Click += ButtonEx_SettingsCancel_Click; + ComponentEventsWired = true; + } + } + + public void UnWireComponentEvents() { + if (ComponentEventsWired) { + buttonEx_SettingsSave.Click -= ButtonEx_SettingsSave_Click; + buttonEx_SettingsCancel.Click -= ButtonEx_SettingsCancel_Click; + ComponentEventsWired = false; + } + } + + public void ShowView() { + this.ShowDialog(); + } + + public void ShowView(IWin32Window owner) { + this.ShowDialog(owner); + } + + public void HideView() { + this.Hide(); + } + + #region Slots + + public void LoadSettingValues() { + this.textBoxApiVersion.Text = this.ApiVersion; + this.textBoxBaseUrl.Text = this.ApiBaseUrl; + this.textBoxContentUrl.Text = this.ApiContentBaseUrl; + this.numericUpDown_SettingSearchLimit.Value = this.SearchDefaultLimit; + this.textBoxDefaultAccess.Text = this.DefaultAccessToken; + this.textBoxDefaultProvision.Text = this.DefaultProvisionToken; + } + + public void UpdateSettingValues() { + this.ApiVersion = this.textBoxApiVersion.Text; + this.ApiBaseUrl = this.textBoxBaseUrl.Text; + this.ApiContentBaseUrl = this.textBoxContentUrl.Text; + this.SearchDefaultLimit = Convert.ToInt32(this.numericUpDown_SettingSearchLimit.Value); + this.DefaultAccessToken = this.textBoxDefaultAccess.Text; + this.DefaultProvisionToken = this.textBoxDefaultProvision.Text; + } + + protected override void OnLoad(EventArgs e) { + base.OnLoad(e); + this.textBoxDefaultAccess.Focus(); + } + + #endregion Slots + + #region Events + + private void ButtonEx_SettingsSave_Click(object sender, EventArgs e) { + if (CommandApplySettings != null) { + UpdateSettingValues(); + CommandApplySettings(this, e); + } + } + + private void ButtonEx_SettingsCancel_Click(object sender, EventArgs e) { + if(CommandCancelSettings != null) { + CommandCancelSettings(this, e); + } + } + + #endregion Events + } +} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.resx similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.resx rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/SettingsView.resx diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.Designer.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.Designer.cs similarity index 98% rename from DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.Designer.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.Designer.cs index 71a3d29..b52ecad 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.Designer.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.Designer.cs @@ -105,6 +105,7 @@ private void InitializeComponent() // // tableLayoutPanel_TextSearchControlGroup // + this.tableLayoutPanel_TextSearchControlGroup.AutoSize = true; this.tableLayoutPanel_TextSearchControlGroup.ColumnCount = 1; this.tableLayoutPanel_TextSearchControlGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); this.tableLayoutPanel_TextSearchControlGroup.Controls.Add(this.tableLayoutPanel_TextSearchQueryString, 0, 0); @@ -180,7 +181,7 @@ private void InitializeComponent() this.tableLayoutPanel_TextSearchResultLimit.Controls.Add(this.numericUpDown_TextSearchResultLimit, 1, 0); this.tableLayoutPanel_TextSearchResultLimit.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel_TextSearchResultLimit.Location = new System.Drawing.Point(461, 1); - this.tableLayoutPanel_TextSearchResultLimit.Margin = new System.Windows.Forms.Padding(1); + this.tableLayoutPanel_TextSearchResultLimit.Margin = new System.Windows.Forms.Padding(1, 1, 1, 1); this.tableLayoutPanel_TextSearchResultLimit.Name = "tableLayoutPanel_TextSearchResultLimit"; this.tableLayoutPanel_TextSearchResultLimit.RowCount = 1; this.tableLayoutPanel_TextSearchResultLimit.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); @@ -243,7 +244,7 @@ private void InitializeComponent() this.comboBox_TextSearchMode.FormattingEnabled = true; this.comboBox_TextSearchMode.Location = new System.Drawing.Point(83, 3); this.comboBox_TextSearchMode.Name = "comboBox_TextSearchMode"; - this.comboBox_TextSearchMode.Size = new System.Drawing.Size(158, 21); + this.comboBox_TextSearchMode.Size = new System.Drawing.Size(161, 21); this.comboBox_TextSearchMode.TabIndex = 0; // // tableLayoutPanel_TextSearchToken @@ -370,7 +371,7 @@ private void InitializeComponent() this.tableLayoutPanel_TextSearchSplitContainer.RowCount = 2; this.tableLayoutPanel_TextSearchSplitContainer.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 4F)); this.tableLayoutPanel_TextSearchSplitContainer.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel_TextSearchSplitContainer.Size = new System.Drawing.Size(595, 24); + this.tableLayoutPanel_TextSearchSplitContainer.Size = new System.Drawing.Size(595, 23); this.tableLayoutPanel_TextSearchSplitContainer.TabIndex = 2; // // label_TextSearchHorizontalSplitter @@ -389,7 +390,7 @@ private void InitializeComponent() this.label_MemberSearchSearchResultHeader.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label_MemberSearchSearchResultHeader.Location = new System.Drawing.Point(3, 4); this.label_MemberSearchSearchResultHeader.Name = "label_MemberSearchSearchResultHeader"; - this.label_MemberSearchSearchResultHeader.Size = new System.Drawing.Size(589, 20); + this.label_MemberSearchSearchResultHeader.Size = new System.Drawing.Size(589, 19); this.label_MemberSearchSearchResultHeader.TabIndex = 1; this.label_MemberSearchSearchResultHeader.Text = "Search Results"; this.label_MemberSearchSearchResultHeader.TextAlign = System.Drawing.ContentAlignment.BottomLeft; @@ -437,8 +438,8 @@ private void InitializeComponent() this.objectListView_Members.Dock = System.Windows.Forms.DockStyle.Fill; this.objectListView_Members.EmptyListMsg = "No Result"; this.objectListView_Members.FullRowSelect = true; - this.objectListView_Members.HighlightBackgroundColor = System.Drawing.Color.Empty; - this.objectListView_Members.HighlightForegroundColor = System.Drawing.Color.Empty; + this.objectListView_Members.SelectedBackColor = System.Drawing.Color.Empty; + this.objectListView_Members.SelectedBackColor = System.Drawing.Color.Empty; this.objectListView_Members.Location = new System.Drawing.Point(3, 3); this.objectListView_Members.Name = "objectListView_Members"; this.objectListView_Members.ShowFilterMenuOnRightClick = false; @@ -471,9 +472,9 @@ private void InitializeComponent() // tableLayoutPanel_TextSearch_MembersCount // this.tableLayoutPanel_TextSearch_MembersCount.ColumnCount = 5; - this.tableLayoutPanel_TextSearch_MembersCount.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 85F)); + this.tableLayoutPanel_TextSearch_MembersCount.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 83F)); this.tableLayoutPanel_TextSearch_MembersCount.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel_TextSearch_MembersCount.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 79F)); + this.tableLayoutPanel_TextSearch_MembersCount.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 77F)); this.tableLayoutPanel_TextSearch_MembersCount.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel_TextSearch_MembersCount.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); this.tableLayoutPanel_TextSearch_MembersCount.Controls.Add(this.label_TextSearchResultTotalCount, 3, 0); @@ -482,7 +483,7 @@ private void InitializeComponent() this.tableLayoutPanel_TextSearch_MembersCount.Controls.Add(this.label_TextSearchMembersCount, 1, 0); this.tableLayoutPanel_TextSearch_MembersCount.Dock = System.Windows.Forms.DockStyle.Fill; this.tableLayoutPanel_TextSearch_MembersCount.Location = new System.Drawing.Point(1, 212); - this.tableLayoutPanel_TextSearch_MembersCount.Margin = new System.Windows.Forms.Padding(1); + this.tableLayoutPanel_TextSearch_MembersCount.Margin = new System.Windows.Forms.Padding(1, 1, 1, 1); this.tableLayoutPanel_TextSearch_MembersCount.Name = "tableLayoutPanel_TextSearch_MembersCount"; this.tableLayoutPanel_TextSearch_MembersCount.RowCount = 1; this.tableLayoutPanel_TextSearch_MembersCount.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); @@ -493,7 +494,7 @@ private void InitializeComponent() // this.label_TextSearchResultTotalCount.AutoSize = true; this.label_TextSearchResultTotalCount.Dock = System.Windows.Forms.DockStyle.Fill; - this.label_TextSearchResultTotalCount.Location = new System.Drawing.Point(186, 0); + this.label_TextSearchResultTotalCount.Location = new System.Drawing.Point(182, 0); this.label_TextSearchResultTotalCount.Name = "label_TextSearchResultTotalCount"; this.label_TextSearchResultTotalCount.Size = new System.Drawing.Size(13, 24); this.label_TextSearchResultTotalCount.TabIndex = 2; @@ -503,9 +504,9 @@ private void InitializeComponent() // label_TextSearchResultTotal // this.label_TextSearchResultTotal.Dock = System.Windows.Forms.DockStyle.Fill; - this.label_TextSearchResultTotal.Location = new System.Drawing.Point(107, 0); + this.label_TextSearchResultTotal.Location = new System.Drawing.Point(105, 0); this.label_TextSearchResultTotal.Name = "label_TextSearchResultTotal"; - this.label_TextSearchResultTotal.Size = new System.Drawing.Size(73, 24); + this.label_TextSearchResultTotal.Size = new System.Drawing.Size(71, 24); this.label_TextSearchResultTotal.TabIndex = 3; this.label_TextSearchResultTotal.Text = "Results Total"; this.label_TextSearchResultTotal.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -515,7 +516,7 @@ private void InitializeComponent() this.label_TextSearchMembersTotal.Dock = System.Windows.Forms.DockStyle.Fill; this.label_TextSearchMembersTotal.Location = new System.Drawing.Point(3, 0); this.label_TextSearchMembersTotal.Name = "label_TextSearchMembersTotal"; - this.label_TextSearchMembersTotal.Size = new System.Drawing.Size(79, 24); + this.label_TextSearchMembersTotal.Size = new System.Drawing.Size(77, 24); this.label_TextSearchMembersTotal.TabIndex = 0; this.label_TextSearchMembersTotal.Text = "Total Members"; this.label_TextSearchMembersTotal.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; @@ -524,7 +525,7 @@ private void InitializeComponent() // this.label_TextSearchMembersCount.AutoSize = true; this.label_TextSearchMembersCount.Dock = System.Windows.Forms.DockStyle.Fill; - this.label_TextSearchMembersCount.Location = new System.Drawing.Point(88, 0); + this.label_TextSearchMembersCount.Location = new System.Drawing.Point(86, 0); this.label_TextSearchMembersCount.Name = "label_TextSearchMembersCount"; this.label_TextSearchMembersCount.Size = new System.Drawing.Size(13, 24); this.label_TextSearchMembersCount.TabIndex = 1; @@ -541,6 +542,7 @@ private void InitializeComponent() this.Name = "TextSearchView"; this.Text = "FullTextSearchView"; this.tableLayoutPanel_TextSearch.ResumeLayout(false); + this.tableLayoutPanel_TextSearch.PerformLayout(); this.tableLayoutPanel_TextSearchControlGroup.ResumeLayout(false); this.tableLayoutPanel_TextSearchQueryString.ResumeLayout(false); this.tableLayoutPanel_TextSearchQueryString.PerformLayout(); diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.cs b/DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.cs similarity index 95% rename from DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.cs rename to DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.cs index f87dbf0..7701b54 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/View/TextSearchView.cs +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.cs @@ -72,19 +72,21 @@ public void RefreshAccessToken() } public void RenderMembersSearchResult() - { + { this.objectListView_Members.SetObjects( - MemberList + MemberList ); - + IDictionary<string, List<MemberListViewItemModel>> grouped = this.MemberList.GroupBy(s => s.Email).ToDictionary(s => s.Key, s => s.ToList()); this.label_TextSearchMembersCount.Text = grouped.Keys.Count.ToString(); + int result = 0; foreach (string key in grouped.Keys) { - IList<MemberListViewItemModel> items = grouped[key]; + IList<MemberListViewItemModel> items = grouped[key]; int itemWithPathCount = items.Count(c => !string.IsNullOrEmpty(c.Path)); + if (itemWithPathCount > 0) { result += itemWithPathCount; @@ -93,6 +95,18 @@ IDictionary<string, List<MemberListViewItemModel>> grouped this.label_TextSearchResultTotalCount.Text = result.ToString(); this.label_TextSearchMembersCount.Update(); this.label_TextSearchResultTotalCount.Update(); + + foreach (Object item in this.objectListView_Members.Objects) + { + MemberListViewItemModel model = item as MemberListViewItemModel; + if (model != null) + { + if (string.IsNullOrEmpty(model.Path)) + { + this.objectListView_Members.RemoveObject(item); + } + } + } } public void RenderSearchModeSelections() @@ -161,7 +175,6 @@ public void Initialize() TopLevel = false; Dock = DockStyle.Fill; MemberList = new List<MemberListViewItemModel>(); - //ResultList = new List<MemberListViewItemModel>(); SearchResultsLimit = ApplicationResource.SearchDefaultLimit; this.textBox_TextSearchQueryString.Focus(); } diff --git a/DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.resx b/DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/View/TextSearchView.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/app.manifest b/DfBAdminToolkit-v2/DfBAdminToolkit/app.manifest similarity index 79% rename from DfBAdminToolkit/DfBAdminToolkit/app.manifest rename to DfBAdminToolkit-v2/DfBAdminToolkit/app.manifest index 25c68b1..320e86d 100644 --- a/DfBAdminToolkit/DfBAdminToolkit/app.manifest +++ b/DfBAdminToolkit-v2/DfBAdminToolkit/app.manifest @@ -12,7 +12,12 @@ <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> - + <!-- Windows 7 --> + <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /> + + <!-- Windows 8.0 --> + <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /> + <!-- Windows 8.1 --> <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /> diff --git a/DfBAdminToolkit/DfBAdminToolkit/dropbox.ico b/DfBAdminToolkit-v2/DfBAdminToolkit/dropbox.ico similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/dropbox.ico rename to DfBAdminToolkit-v2/DfBAdminToolkit/dropbox.ico diff --git a/DfBAdminToolkit/DfBAdminToolkit/packages.config b/DfBAdminToolkit-v2/DfBAdminToolkit/packages.config similarity index 100% rename from DfBAdminToolkit/DfBAdminToolkit/packages.config rename to DfBAdminToolkit-v2/DfBAdminToolkit/packages.config diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/CsvHelper.2.13.5.0.nupkg b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/CsvHelper.2.13.5.0.nupkg similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/CsvHelper.2.13.5.0.nupkg rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/CsvHelper.2.13.5.0.nupkg diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.dll b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.dll similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.dll rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.dll diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.pdb b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.pdb similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.pdb rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.pdb diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.xml b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.xml similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.xml rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net20/CsvHelper.xml diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.dll b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.dll similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.dll rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.dll diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.pdb b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.pdb similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.pdb rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.pdb diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.xml b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.xml similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.xml rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net35-client/CsvHelper.xml diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.dll b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.dll similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.dll rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.dll diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.pdb b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.pdb similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.pdb rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.pdb diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.xml b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.xml similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.xml rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/net40-client/CsvHelper.xml diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.dll b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.dll similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.dll rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.dll diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.pdb b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.pdb similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.pdb rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.pdb diff --git a/DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.xml b/DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.xml similarity index 100% rename from DfBAdminToolkit/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.xml rename to DfBAdminToolkit-v2/packages/CsvHelper.2.13.5.0/lib/portable-net40+sl5+win8+wpa+wp8/CsvHelper.xml diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/Newtonsoft.Json.7.0.1.nupkg b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/Newtonsoft.Json.7.0.1.nupkg similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/Newtonsoft.Json.7.0.1.nupkg rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/Newtonsoft.Json.7.0.1.nupkg diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.dll similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.dll rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.dll diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.xml b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.xml similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.xml rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net20/Newtonsoft.Json.xml diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.dll similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.dll rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.dll diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.xml b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.xml similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.xml rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net35/Newtonsoft.Json.xml diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.dll similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.dll rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.dll diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.xml b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.xml similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.xml rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net40/Newtonsoft.Json.xml diff --git a/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.dll new file mode 100644 index 0000000..d4c9037 Binary files /dev/null and b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.dll differ diff --git a/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.xml b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.xml new file mode 100644 index 0000000..246ae3b --- /dev/null +++ b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/net45/Newtonsoft.Json.xml @@ -0,0 +1,8889 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>Newtonsoft.Json</name> + </assembly> + <members> + <member name="T:Newtonsoft.Json.Bson.BsonObjectId"> + <summary> + Represents a BSON Oid (object id). + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonObjectId.#ctor(System.Byte[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonObjectId"/> class. + </summary> + <param name="value">The Oid value.</param> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonObjectId.Value"> + <summary> + Gets or sets the value of the Oid. + </summary> + <value>The value of the Oid.</value> + </member> + <member name="T:Newtonsoft.Json.Bson.BsonReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReader"/> class with the specified <see cref="T:System.IO.TextReader"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Read"> + <summary> + Reads the next JSON token from the stream. + </summary> + <returns>true if the next token was read successfully; false if there are no more tokens to read.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsString"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[]. + </summary> + <returns>A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Skip"> + <summary> + Skips the children of the current token. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SetToken(Newtonsoft.Json.JsonToken)"> + <summary> + Sets the current token. + </summary> + <param name="newToken">The new token.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SetToken(Newtonsoft.Json.JsonToken,System.Object)"> + <summary> + Sets the current token and value. + </summary> + <param name="newToken">The new token.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReader.SetStateBasedOnCurrent"> + <summary> + Sets the state based on current token type. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.System#IDisposable#Dispose"> + <summary> + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Dispose(System.Boolean)"> + <summary> + Releases unmanaged and - optionally - managed resources + </summary> + <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReader.Close"> + <summary> + Changes the <see cref="T:Newtonsoft.Json.JsonReader.State"/> to Closed. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.CurrentState"> + <summary> + Gets the current reader state. + </summary> + <value>The current reader state.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.CloseInput"> + <summary> + Gets or sets a value indicating whether the underlying stream or + <see cref="T:System.IO.TextReader"/> should be closed when the reader is closed. + </summary> + <value> + true to close the underlying stream or <see cref="T:System.IO.TextReader"/> when + the reader is closed; otherwise false. The default is true. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.SupportMultipleContent"> + <summary> + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + </summary> + <value> + true to support reading multiple pieces of JSON content; otherwise false. The default is false. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.QuoteChar"> + <summary> + Gets the quotation mark character used to enclose the value of a string. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.DateTimeZoneHandling"> + <summary> + Get or set how <see cref="T:System.DateTime"/> time zones are handling when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.DateParseHandling"> + <summary> + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.FloatParseHandling"> + <summary> + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.DateFormatString"> + <summary> + Get or set how custom date formatted strings are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.MaxDepth"> + <summary> + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.TokenType"> + <summary> + Gets the type of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Value"> + <summary> + Gets the text value of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.ValueType"> + <summary> + Gets The Common Language Runtime (CLR) type for the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Depth"> + <summary> + Gets the depth of the current token in the JSON document. + </summary> + <value>The depth of the current token in the JSON document.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Path"> + <summary> + Gets the path of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonReader.Culture"> + <summary> + Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonReader.State"> + <summary> + Specifies the state of the reader. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Start"> + <summary> + The Read method has not been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Complete"> + <summary> + The end of the file has been reached successfully. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Property"> + <summary> + Reader is at a property. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.ObjectStart"> + <summary> + Reader is at the start of an object. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Object"> + <summary> + Reader is in an object. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.ArrayStart"> + <summary> + Reader is at the start of an array. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Array"> + <summary> + Reader is in an array. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Closed"> + <summary> + The Close method has been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.PostValue"> + <summary> + Reader has just read a value. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.ConstructorStart"> + <summary> + Reader is at the start of a constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Constructor"> + <summary> + Reader in a constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Error"> + <summary> + An error occurred that prevents the read operation from continuing. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonReader.State.Finished"> + <summary> + The end of the file has been reached successfully. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="stream">The stream.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="reader">The reader.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.Stream,System.Boolean,System.DateTimeKind)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="stream">The stream.</param> + <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param> + <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.#ctor(System.IO.BinaryReader,System.Boolean,System.DateTimeKind)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonReader"/> class. + </summary> + <param name="reader">The reader.</param> + <param name="readRootValueAsArray">if set to <c>true</c> the root object will be read as a JSON array.</param> + <param name="dateTimeKindHandling">The <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[]. + </summary> + <returns> + A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array. + </returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsString"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns> + A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array. + </returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.Read"> + <summary> + Reads the next JSON token from the stream. + </summary> + <returns> + true if the next token was read successfully; false if there are no more tokens to read. + </returns> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonReader.Close"> + <summary> + Changes the <see cref="T:Newtonsoft.Json.JsonReader.State"/> to Closed. + </summary> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonReader.JsonNet35BinaryCompatibility"> + <summary> + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + </summary> + <value> + <c>true</c> if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonReader.ReadRootValueAsArray"> + <summary> + Gets or sets a value indicating whether the root object will be read as a JSON array. + </summary> + <value> + <c>true</c> if the root object will be read as a JSON array; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonReader.DateTimeKindHandling"> + <summary> + Gets or sets the <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON. + </summary> + <value>The <see cref="T:System.DateTimeKind"/> used when reading <see cref="T:System.DateTime"/> values from BSON.</value> + </member> + <member name="T:Newtonsoft.Json.Bson.BsonWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.#ctor"> + <summary> + Creates an instance of the <c>JsonWriter</c> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.Close"> + <summary> + Closes this stream and the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndObject"> + <summary> + Writes the end of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndArray"> + <summary> + Writes the end of an array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEndConstructor"> + <summary> + Writes the end constructor. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WritePropertyName(System.String,System.Boolean)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEnd"> + <summary> + Writes the end of the current JSON object or array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonReader)"> + <summary> + Writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token and its children. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonReader,System.Boolean)"> + <summary> + Writes the current <see cref="T:Newtonsoft.Json.JsonReader"/> token. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read the token from.</param> + <param name="writeChildren">A flag indicating whether the current token's children should be written.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonToken,System.Object)"> + <summary> + Writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token and its value. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param> + <param name="value"> + The value to write. + A value is only required for tokens that have an associated value, e.g. the <see cref="T:System.String"/> property name for <see cref="F:Newtonsoft.Json.JsonToken.PropertyName"/>. + A null value can be passed to the method for token's that don't have a value, e.g. <see cref="F:Newtonsoft.Json.JsonToken.StartObject"/>.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteToken(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the <see cref="T:Newtonsoft.Json.JsonToken"/> token. + </summary> + <param name="token">The <see cref="T:Newtonsoft.Json.JsonToken"/> to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the specified end token. + </summary> + <param name="token">The end token to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteIndent"> + <summary> + Writes indent characters. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValueDelimiter"> + <summary> + Writes the JSON value delimiter. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteIndentSpace"> + <summary> + Writes an indent space. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON without changing the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteRawValue(System.String)"> + <summary> + Writes raw JSON where a value is expected and updates the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int32})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt32})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int64})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt64})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Single})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Double})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Boolean})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Int16})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.UInt16})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Char})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Byte})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.SByte})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Decimal})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTime})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.DateTimeOffset})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.Guid})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Nullable{System.TimeSpan})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteComment(System.String)"> + <summary> + Writes out a comment <code>/*...*/</code> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.WriteWhitespace(System.String)"> + <summary> + Writes out the given white space. + </summary> + <param name="ws">The string of white space characters.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriter.SetWriteState(Newtonsoft.Json.JsonToken,System.Object)"> + <summary> + Sets the state of the JsonWriter, + </summary> + <param name="token">The JsonToken being written.</param> + <param name="value">The value being written.</param> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.CloseOutput"> + <summary> + Gets or sets a value indicating whether the underlying stream or + <see cref="T:System.IO.TextReader"/> should be closed when the writer is closed. + </summary> + <value> + true to close the underlying stream or <see cref="T:System.IO.TextReader"/> when + the writer is closed; otherwise false. The default is true. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Top"> + <summary> + Gets the top. + </summary> + <value>The top.</value> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.WriteState"> + <summary> + Gets the state of the writer. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Path"> + <summary> + Gets the path of the writer. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Formatting"> + <summary> + Indicates how JSON text output is formatted. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.DateFormatHandling"> + <summary> + Get or set how dates are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.DateTimeZoneHandling"> + <summary> + Get or set how <see cref="T:System.DateTime"/> time zones are handling when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.StringEscapeHandling"> + <summary> + Get or set how strings are escaped when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.FloatFormatHandling"> + <summary> + Get or set how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>, + are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.DateFormatString"> + <summary> + Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatting when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonWriter.Culture"> + <summary> + Gets or sets the culture used when writing JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.Stream)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonWriter"/> class. + </summary> + <param name="stream">The stream.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.#ctor(System.IO.BinaryWriter)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Bson.BsonWriter"/> class. + </summary> + <param name="writer">The writer.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the end. + </summary> + <param name="token">The token.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteComment(System.String)"> + <summary> + Writes out a comment <code>/*...*/</code> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRawValue(System.String)"> + <summary> + Writes raw JSON where a value is expected and updates the writer's state. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.Close"> + <summary> + Closes this stream and the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteObjectId(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value that represents a BSON object id. + </summary> + <param name="value">The Object ID value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Bson.BsonWriter.WriteRegex(System.String,System.String)"> + <summary> + Writes a BSON regex. + </summary> + <param name="pattern">The regex pattern.</param> + <param name="options">The regex options.</param> + </member> + <member name="P:Newtonsoft.Json.Bson.BsonWriter.DateTimeKindHandling"> + <summary> + Gets or sets the <see cref="T:System.DateTimeKind"/> used when writing <see cref="T:System.DateTime"/> values to BSON. + When set to <see cref="F:System.DateTimeKind.Unspecified"/> no conversion will occur. + </summary> + <value>The <see cref="T:System.DateTimeKind"/> used when writing <see cref="T:System.DateTime"/> values to BSON.</value> + </member> + <member name="T:Newtonsoft.Json.ConstructorHandling"> + <summary> + Specifies how constructors are used when initializing objects during deserialization by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.ConstructorHandling.Default"> + <summary> + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.ConstructorHandling.AllowNonPublicDefaultConstructor"> + <summary> + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + </summary> + </member> + <member name="T:Newtonsoft.Json.Converters.BinaryConverter"> + <summary> + Converts a binary value to and from a base 64 string value. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonConverter"> + <summary> + Converts an object to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConverter.GetSchema"> + <summary> + <para> + Gets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of the JSON produced by the JsonConverter. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of the JSON produced by the JsonConverter.</returns> + </member> + <member name="P:Newtonsoft.Json.JsonConverter.CanRead"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can read JSON. + </summary> + <value><c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can read JSON; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.JsonConverter.CanWrite"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON. + </summary> + <value><c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>.</value> + </member> + <member name="M:Newtonsoft.Json.Converters.BinaryConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.BinaryConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.BinaryConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.BsonObjectIdConverter"> + <summary> + Converts a <see cref="T:Newtonsoft.Json.Bson.BsonObjectId"/> to and from JSON and BSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.BsonObjectIdConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.CustomCreationConverter`1"> + <summary> + Create a custom object + </summary> + <typeparam name="T">The object type to convert.</typeparam> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.Create(System.Type)"> + <summary> + Creates an object which will then be populated by the serializer. + </summary> + <param name="objectType">Type of the object.</param> + <returns>The created object.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.CustomCreationConverter`1.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Converters.CustomCreationConverter`1.CanWrite"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON. + </summary> + <value> + <c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>. + </value> + </member> + <member name="T:Newtonsoft.Json.Converters.DataSetConverter"> + <summary> + Converts a <see cref="T:System.Data.DataSet"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DataSetConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.DataSetConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.DataSetConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified value type. + </summary> + <param name="valueType">Type of the value.</param> + <returns> + <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.DataTableConverter"> + <summary> + Converts a <see cref="T:System.Data.DataTable"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DataTableConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.DataTableConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.DataTableConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified value type. + </summary> + <param name="valueType">Type of the value.</param> + <returns> + <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.DateTimeConverterBase"> + <summary> + Provides a base class for converting a <see cref="T:System.DateTime"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DateTimeConverterBase.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.DiscriminatedUnionConverter"> + <summary> + Converts a F# discriminated union type to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.DiscriminatedUnionConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.EntityKeyMemberConverter"> + <summary> + Converts an Entity Framework EntityKey to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.EntityKeyMemberConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.ExpandoObjectConverter"> + <summary> + Converts an ExpandoObject to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.ExpandoObjectConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Converters.ExpandoObjectConverter.CanWrite"> + <summary> + Gets a value indicating whether this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON. + </summary> + <value> + <c>true</c> if this <see cref="T:Newtonsoft.Json.JsonConverter"/> can write JSON; otherwise, <c>false</c>. + </value> + </member> + <member name="T:Newtonsoft.Json.Converters.IsoDateTimeConverter"> + <summary> + Converts a <see cref="T:System.DateTime"/> to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.IsoDateTimeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.IsoDateTimeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeStyles"> + <summary> + Gets or sets the date time styles used when converting a date to and from JSON. + </summary> + <value>The date time styles used when converting a date to and from JSON.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.DateTimeFormat"> + <summary> + Gets or sets the date time format used when converting a date to and from JSON. + </summary> + <value>The date time format used when converting a date to and from JSON.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.IsoDateTimeConverter.Culture"> + <summary> + Gets or sets the culture used when converting a date to and from JSON. + </summary> + <value>The culture used when converting a date to and from JSON.</value> + </member> + <member name="T:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter"> + <summary> + Converts a <see cref="T:System.DateTime"/> to and from a JavaScript date constructor (e.g. new Date(52231943)). + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.JavaScriptDateTimeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing property value of the JSON that is being converted.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="T:Newtonsoft.Json.Converters.KeyValuePairConverter"> + <summary> + Converts a <see cref="T:System.Collections.Generic.KeyValuePair`2"/> to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.KeyValuePairConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.RegexConverter"> + <summary> + Converts a <see cref="T:System.Text.RegularExpressions.Regex"/> to and from JSON and BSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.RegexConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.RegexConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.RegexConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.StringEnumConverter"> + <summary> + Converts an <see cref="T:System.Enum"/> to and from its name string value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Converters.StringEnumConverter"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.StringEnumConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Converters.StringEnumConverter.CamelCaseText"> + <summary> + Gets or sets a value indicating whether the written enum text should be camel case. + </summary> + <value><c>true</c> if the written enum text will be camel case; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.StringEnumConverter.AllowIntegerValues"> + <summary> + Gets or sets a value indicating whether integer values are allowed. + </summary> + <value><c>true</c> if integers are allowed; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.Converters.VersionConverter"> + <summary> + Converts a <see cref="T:System.Version"/> to and from a string (e.g. "1.2.3.4"). + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.VersionConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="value">The value.</param> + <param name="serializer">The calling serializer.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.VersionConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing property value of the JSON that is being converted.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.VersionConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified object type. + </summary> + <param name="objectType">Type of the object.</param> + <returns> + <c>true</c> if this instance can convert the specified object type; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Converters.XmlNodeConverter"> + <summary> + Converts XML to and from JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Writes the JSON representation of the object. + </summary> + <param name="writer">The <see cref="T:Newtonsoft.Json.JsonWriter"/> to write to.</param> + <param name="serializer">The calling serializer.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Reads the JSON representation of the object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from.</param> + <param name="objectType">Type of the object.</param> + <param name="existingValue">The existing value of object being read.</param> + <param name="serializer">The calling serializer.</param> + <returns>The object value.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.IsNamespaceAttribute(System.String,System.String@)"> + <summary> + Checks if the attributeName is a namespace attribute. + </summary> + <param name="attributeName">Attribute name to test.</param> + <param name="prefix">The attribute name prefix if it has one, otherwise an empty string.</param> + <returns>True if attribute name is for a namespace attribute, otherwise false.</returns> + </member> + <member name="M:Newtonsoft.Json.Converters.XmlNodeConverter.CanConvert(System.Type)"> + <summary> + Determines whether this instance can convert the specified value type. + </summary> + <param name="valueType">Type of the value.</param> + <returns> + <c>true</c> if this instance can convert the specified value type; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.DeserializeRootElementName"> + <summary> + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + </summary> + <value>The name of the deserialize root element.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.WriteArrayAttribute"> + <summary> + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + </summary> + <value><c>true</c> if the array attibute is written to the XML; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Converters.XmlNodeConverter.OmitRootObject"> + <summary> + Gets or sets a value indicating whether to write the root JSON object. + </summary> + <value><c>true</c> if the JSON root object is omitted; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.FloatParseHandling"> + <summary> + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatParseHandling.Double"> + <summary> + Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Double"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatParseHandling.Decimal"> + <summary> + Floating point numbers are parsed to <see cref="F:Newtonsoft.Json.FloatParseHandling.Decimal"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.DateFormatHandling"> + <summary> + Specifies how dates are formatted when writing JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateFormatHandling.IsoDateFormat"> + <summary> + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + </summary> + </member> + <member name="F:Newtonsoft.Json.DateFormatHandling.MicrosoftDateFormat"> + <summary> + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + </summary> + </member> + <member name="T:Newtonsoft.Json.DateParseHandling"> + <summary> + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateParseHandling.None"> + <summary> + Date formatted strings are not parsed to a date type and are read as strings. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateParseHandling.DateTime"> + <summary> + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to <see cref="F:Newtonsoft.Json.DateParseHandling.DateTime"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateParseHandling.DateTimeOffset"> + <summary> + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to <see cref="F:Newtonsoft.Json.DateParseHandling.DateTimeOffset"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.DateTimeZoneHandling"> + <summary> + Specifies how to treat the time value when converting between string and <see cref="T:System.DateTime"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Local"> + <summary> + Treat as local time. If the <see cref="T:System.DateTime"/> object represents a Coordinated Universal Time (UTC), it is converted to the local time. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Utc"> + <summary> + Treat as a UTC. If the <see cref="T:System.DateTime"/> object represents a local time, it is converted to a UTC. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.Unspecified"> + <summary> + Treat as a local time if a <see cref="T:System.DateTime"/> is being converted to a string. + If a string is being converted to <see cref="T:System.DateTime"/>, convert to a local time if a time zone is specified. + </summary> + </member> + <member name="F:Newtonsoft.Json.DateTimeZoneHandling.RoundtripKind"> + <summary> + Time zone information should be preserved when converting. + </summary> + </member> + <member name="T:Newtonsoft.Json.DefaultValueHandling"> + <summary> + Specifies default value handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingObject" title="DefaultValueHandling Class"/> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeDefaultValueHandlingExample" title="DefaultValueHandling Ignore Example"/> + </example> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.Include"> + <summary> + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + </summary> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.Ignore"> + <summary> + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. <c>null</c> for objects and nullable types; <c>0</c> for integers, + decimals and floating point numbers; and <c>false</c> for booleans). The default value ignored can be changed by + placing the <see cref="T:System.ComponentModel.DefaultValueAttribute"/> on the property. + </summary> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.Populate"> + <summary> + Members with a default value but no JSON will be set to their default value when deserializing. + </summary> + </member> + <member name="F:Newtonsoft.Json.DefaultValueHandling.IgnoreAndPopulate"> + <summary> + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + </summary> + </member> + <member name="T:Newtonsoft.Json.FloatFormatHandling"> + <summary> + Specifies float format handling options when writing special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/> with <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatFormatHandling.String"> + <summary> + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatFormatHandling.Symbol"> + <summary> + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + </summary> + </member> + <member name="F:Newtonsoft.Json.FloatFormatHandling.DefaultValue"> + <summary> + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a <see cref="T:System.Double"/> property, null for a <see cref="T:System.Nullable`1"/> property. + </summary> + </member> + <member name="T:Newtonsoft.Json.Formatting"> + <summary> + Specifies formatting options for the <see cref="T:Newtonsoft.Json.JsonTextWriter"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.Formatting.None"> + <summary> + No special formatting is applied. This is the default. + </summary> + </member> + <member name="F:Newtonsoft.Json.Formatting.Indented"> + <summary> + Causes child objects to be indented according to the <see cref="P:Newtonsoft.Json.JsonTextWriter.Indentation"/> and <see cref="P:Newtonsoft.Json.JsonTextWriter.IndentChar"/> settings. + </summary> + </member> + <member name="T:Newtonsoft.Json.IJsonLineInfo"> + <summary> + Provides an interface to enable a class to return line and position information. + </summary> + </member> + <member name="M:Newtonsoft.Json.IJsonLineInfo.HasLineInfo"> + <summary> + Gets a value indicating whether the class can return line information. + </summary> + <returns> + <c>true</c> if LineNumber and LinePosition can be provided; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.IJsonLineInfo.LineNumber"> + <summary> + Gets the current line number. + </summary> + <value>The current line number or 0 if no line information is available (for example, HasLineInfo returns false).</value> + </member> + <member name="P:Newtonsoft.Json.IJsonLineInfo.LinePosition"> + <summary> + Gets the current line position. + </summary> + <value>The current line position or 0 if no line information is available (for example, HasLineInfo returns false).</value> + </member> + <member name="T:Newtonsoft.Json.JsonArrayAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the collection. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonContainerAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonContainerAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonContainerAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonContainerAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonContainerAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.Id"> + <summary> + Gets or sets the id. + </summary> + <value>The id.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.Title"> + <summary> + Gets or sets the title. + </summary> + <value>The title.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.Description"> + <summary> + Gets or sets the description. + </summary> + <value>The description.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterType"> + <summary> + Gets the collection's items converter. + </summary> + <value>The collection's items converter.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemConverterParameters"> + <summary> + The parameter list to use when constructing the JsonConverter described by ItemConverterType. + If null, the default constructor is used. + When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, + order, and type of these parameters. + </summary> + <example> + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + </example> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.IsReference"> + <summary> + Gets or sets a value that indicates whether to preserve object references. + </summary> + <value> + <c>true</c> to keep object reference; otherwise, <c>false</c>. The default is <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemIsReference"> + <summary> + Gets or sets a value that indicates whether to preserve collection's items references. + </summary> + <value> + <c>true</c> to keep collection's items object references; otherwise, <c>false</c>. The default is <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemReferenceLoopHandling"> + <summary> + Gets or sets the reference loop handling used when serializing the collection's items. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonContainerAttribute.ItemTypeNameHandling"> + <summary> + Gets or sets the type name handling used when serializing the collection's items. + </summary> + <value>The type name handling.</value> + </member> + <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonArrayAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with a flag indicating whether the array can contain null items + </summary> + <param name="allowNullItems">A flag indicating whether the array can contain null items.</param> + </member> + <member name="M:Newtonsoft.Json.JsonArrayAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonArrayAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="P:Newtonsoft.Json.JsonArrayAttribute.AllowNullItems"> + <summary> + Gets or sets a value indicating whether null items are allowed in the collection. + </summary> + <value><c>true</c> if null items are allowed in the collection; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.JsonConstructorAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to use the specified constructor when deserializing that object. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonConvert"> + <summary> + Provides methods for converting between common language runtime types and JSON types. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="SerializeObject" title="Serializing and Deserializing JSON with JsonConvert" /> + </example> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.True"> + <summary> + Represents JavaScript's boolean value true as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.False"> + <summary> + Represents JavaScript's boolean value false as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.Null"> + <summary> + Represents JavaScript's null as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.Undefined"> + <summary> + Represents JavaScript's undefined as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.PositiveInfinity"> + <summary> + Represents JavaScript's positive infinity as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.NegativeInfinity"> + <summary> + Represents JavaScript's negative infinity as a string. This field is read-only. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonConvert.NaN"> + <summary> + Represents JavaScript's NaN as a string. This field is read-only. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTime)"> + <summary> + Converts the <see cref="T:System.DateTime"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling)"> + <summary> + Converts the <see cref="T:System.DateTime"/> to its JSON string representation using the <see cref="T:Newtonsoft.Json.DateFormatHandling"/> specified. + </summary> + <param name="value">The value to convert.</param> + <param name="format">The format the date will be converted to.</param> + <param name="timeZoneHandling">The time zone handling when the date is converted to a string.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTime"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset)"> + <summary> + Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling)"> + <summary> + Converts the <see cref="T:System.DateTimeOffset"/> to its JSON string representation using the <see cref="T:Newtonsoft.Json.DateFormatHandling"/> specified. + </summary> + <param name="value">The value to convert.</param> + <param name="format">The format the date will be converted to.</param> + <returns>A JSON string representation of the <see cref="T:System.DateTimeOffset"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Boolean)"> + <summary> + Converts the <see cref="T:System.Boolean"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Boolean"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Char)"> + <summary> + Converts the <see cref="T:System.Char"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Char"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Enum)"> + <summary> + Converts the <see cref="T:System.Enum"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Enum"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int32)"> + <summary> + Converts the <see cref="T:System.Int32"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Int32"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int16)"> + <summary> + Converts the <see cref="T:System.Int16"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Int16"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt16)"> + <summary> + Converts the <see cref="T:System.UInt16"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.UInt16"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt32)"> + <summary> + Converts the <see cref="T:System.UInt32"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.UInt32"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Int64)"> + <summary> + Converts the <see cref="T:System.Int64"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Int64"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.UInt64)"> + <summary> + Converts the <see cref="T:System.UInt64"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.UInt64"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Single)"> + <summary> + Converts the <see cref="T:System.Single"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Single"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Double)"> + <summary> + Converts the <see cref="T:System.Double"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Double"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Byte)"> + <summary> + Converts the <see cref="T:System.Byte"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Byte"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.SByte)"> + <summary> + Converts the <see cref="T:System.SByte"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.SByte"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Decimal)"> + <summary> + Converts the <see cref="T:System.Decimal"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.SByte"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Guid)"> + <summary> + Converts the <see cref="T:System.Guid"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Guid"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.TimeSpan)"> + <summary> + Converts the <see cref="T:System.TimeSpan"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.TimeSpan"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Uri)"> + <summary> + Converts the <see cref="T:System.Uri"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Uri"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String)"> + <summary> + Converts the <see cref="T:System.String"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char)"> + <summary> + Converts the <see cref="T:System.String"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <param name="delimiter">The string delimiter character.</param> + <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling)"> + <summary> + Converts the <see cref="T:System.String"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <param name="delimiter">The string delimiter character.</param> + <param name="stringEscapeHandling">The string escape handling.</param> + <returns>A JSON string representation of the <see cref="T:System.String"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.ToString(System.Object)"> + <summary> + Converts the <see cref="T:System.Object"/> to its JSON string representation. + </summary> + <param name="value">The value to convert.</param> + <returns>A JSON string representation of the <see cref="T:System.Object"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object)"> + <summary> + Serializes the specified object to a JSON string. + </summary> + <param name="value">The object to serialize.</param> + <returns>A JSON string representation of the object.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting)"> + <summary> + Serializes the specified object to a JSON string using formatting. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.JsonConverter[])"> + <summary> + Serializes the specified object to a JSON string using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="converters">A collection converters used while serializing.</param> + <returns>A JSON string representation of the object.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[])"> + <summary> + Serializes the specified object to a JSON string using formatting and a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <param name="converters">A collection converters used while serializing.</param> + <returns>A JSON string representation of the object.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is null, default serialization settings will be used.</param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using a type, formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is null, default serialization settings will be used.</param> + <param name="type"> + The type of the value being serialized. + This parameter is used when <see cref="T:Newtonsoft.Json.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + </param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is null, default serialization settings will be used.</param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObject(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Serializes the specified object to a JSON string using a type, formatting and <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is null, default serialization settings will be used.</param> + <param name="type"> + The type of the value being serialized. + This parameter is used when <see cref="T:Newtonsoft.Json.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + </param> + <returns> + A JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObjectAsync(System.Object)"> + <summary> + Asynchronously serializes the specified object to a JSON string. + Serialization will happen on a new thread. + </summary> + <param name="value">The object to serialize.</param> + <returns> + A task that represents the asynchronous serialize operation. The value of the <c>TResult</c> parameter contains a JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObjectAsync(System.Object,Newtonsoft.Json.Formatting)"> + <summary> + Asynchronously serializes the specified object to a JSON string using formatting. + Serialization will happen on a new thread. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <returns> + A task that represents the asynchronous serialize operation. The value of the <c>TResult</c> parameter contains a JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeObjectAsync(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Asynchronously serializes the specified object to a JSON string using formatting and a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + Serialization will happen on a new thread. + </summary> + <param name="value">The object to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to serialize the object. + If this is null, default serialization settings will be used.</param> + <returns> + A task that represents the asynchronous serialize operation. The value of the <c>TResult</c> parameter contains a JSON string representation of the object. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String)"> + <summary> + Deserializes the JSON to a .NET object. + </summary> + <param name="value">The JSON to deserialize.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to a .NET object using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type)"> + <summary> + Deserializes the JSON to the specified .NET type. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="type">The <see cref="T:System.Type"/> of object being deserialized.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String)"> + <summary> + Deserializes the JSON to the specified .NET type. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The JSON to deserialize.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0)"> + <summary> + Deserializes the JSON to the given anonymous type. + </summary> + <typeparam name="T"> + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + </typeparam> + <param name="value">The JSON to deserialize.</param> + <param name="anonymousTypeObject">The anonymous type object.</param> + <returns>The deserialized anonymous type from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeAnonymousType``1(System.String,``0,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to the given anonymous type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <typeparam name="T"> + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + </typeparam> + <param name="value">The JSON to deserialize.</param> + <param name="anonymousTypeObject">The anonymous type object.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + <returns>The deserialized anonymous type from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,Newtonsoft.Json.JsonConverter[])"> + <summary> + Deserializes the JSON to the specified .NET type using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The JSON to deserialize.</param> + <param name="converters">Converters to use while deserializing.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject``1(System.String,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The object to deserialize.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,Newtonsoft.Json.JsonConverter[])"> + <summary> + Deserializes the JSON to the specified .NET type using a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="type">The type of the object to deserialize.</param> + <param name="converters">Converters to use while deserializing.</param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObject(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="type">The type of the object to deserialize to.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + <returns>The deserialized object from the JSON string.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync``1(System.String)"> + <summary> + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The JSON to deserialize.</param> + <returns> + A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync``1(System.String,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Asynchronously deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + Deserialization will happen on a new thread. + </summary> + <typeparam name="T">The type of the object to deserialize to.</typeparam> + <param name="value">The JSON to deserialize.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + <returns> + A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync(System.String)"> + <summary> + Asynchronously deserializes the JSON to the specified .NET type. + Deserialization will happen on a new thread. + </summary> + <param name="value">The JSON to deserialize.</param> + <returns> + A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeObjectAsync(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Asynchronously deserializes the JSON to the specified .NET type using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + Deserialization will happen on a new thread. + </summary> + <param name="value">The JSON to deserialize.</param> + <param name="type">The type of the object to deserialize to.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + <returns> + A task that represents the asynchronous deserialize operation. The value of the <c>TResult</c> parameter contains the deserialized object from the JSON string. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object)"> + <summary> + Populates the object with values from the JSON string. + </summary> + <param name="value">The JSON to populate values from.</param> + <param name="target">The target object to populate values onto.</param> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.PopulateObject(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Populates the object with values from the JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The JSON to populate values from.</param> + <param name="target">The target object to populate values onto.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.PopulateObjectAsync(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Asynchronously populates the object with values from the JSON string using <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + </summary> + <param name="value">The JSON to populate values from.</param> + <param name="target">The target object to populate values onto.</param> + <param name="settings"> + The <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> used to deserialize the object. + If this is null, default serialization settings will be used. + </param> + <returns> + A task that represents the asynchronous populate operation. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode)"> + <summary> + Serializes the XML node to a JSON string. + </summary> + <param name="node">The node to serialize.</param> + <returns>A JSON string of the XmlNode.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,Newtonsoft.Json.Formatting)"> + <summary> + Serializes the XML node to a JSON string using formatting. + </summary> + <param name="node">The node to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <returns>A JSON string of the XmlNode.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXmlNode(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean)"> + <summary> + Serializes the XML node to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>. + </summary> + <param name="node">The node to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <param name="omitRootObject">Omits writing the root object.</param> + <returns>A JSON string of the XmlNode.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String)"> + <summary> + Deserializes the XmlNode from a JSON string. + </summary> + <param name="value">The JSON string.</param> + <returns>The deserialized XmlNode</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String)"> + <summary> + Deserializes the XmlNode from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/>. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <returns>The deserialized XmlNode</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXmlNode(System.String,System.String,System.Boolean)"> + <summary> + Deserializes the XmlNode from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/> + and writes a .NET array attribute for collections. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <param name="writeArrayAttribute"> + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + </param> + <returns>The deserialized XmlNode</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject)"> + <summary> + Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string. + </summary> + <param name="node">The node to convert to JSON.</param> + <returns>A JSON string of the XNode.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting)"> + <summary> + Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting. + </summary> + <param name="node">The node to convert to JSON.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <returns>A JSON string of the XNode.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.SerializeXNode(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean)"> + <summary> + Serializes the <see cref="T:System.Xml.Linq.XNode"/> to a JSON string using formatting and omits the root object if <paramref name="omitRootObject"/> is <c>true</c>. + </summary> + <param name="node">The node to serialize.</param> + <param name="formatting">Indicates how the output is formatted.</param> + <param name="omitRootObject">Omits writing the root object.</param> + <returns>A JSON string of the XNode.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String)"> + <summary> + Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string. + </summary> + <param name="value">The JSON string.</param> + <returns>The deserialized XNode</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String)"> + <summary> + Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/>. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <returns>The deserialized XNode</returns> + </member> + <member name="M:Newtonsoft.Json.JsonConvert.DeserializeXNode(System.String,System.String,System.Boolean)"> + <summary> + Deserializes the <see cref="T:System.Xml.Linq.XNode"/> from a JSON string nested in a root elment specified by <paramref name="deserializeRootElementName"/> + and writes a .NET array attribute for collections. + </summary> + <param name="value">The JSON string.</param> + <param name="deserializeRootElementName">The name of the root element to append when deserializing.</param> + <param name="writeArrayAttribute"> + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + </param> + <returns>The deserialized XNode</returns> + </member> + <member name="P:Newtonsoft.Json.JsonConvert.DefaultSettings"> + <summary> + Gets or sets a function that creates default <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + Default settings are automatically used by serialization methods on <see cref="T:Newtonsoft.Json.JsonConvert"/>, + and <see cref="M:Newtonsoft.Json.Linq.JToken.ToObject``1"/> and <see cref="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object)"/> on <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + To serialize without using any default settings create a <see cref="T:Newtonsoft.Json.JsonSerializer"/> with + <see cref="M:Newtonsoft.Json.JsonSerializer.Create"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonConverterAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to use the specified <see cref="T:Newtonsoft.Json.JsonConverter"/> when serializing the member or class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class. + </summary> + <param name="converterType">Type of the converter.</param> + </member> + <member name="M:Newtonsoft.Json.JsonConverterAttribute.#ctor(System.Type,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonConverterAttribute"/> class. + </summary> + <param name="converterType">Type of the converter.</param> + <param name="converterParameters">Parameter list to use when constructing the JsonConverter. Can be null.</param> + </member> + <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterType"> + <summary> + Gets the <see cref="T:System.Type"/> of the converter. + </summary> + <value>The <see cref="T:System.Type"/> of the converter.</value> + </member> + <member name="P:Newtonsoft.Json.JsonConverterAttribute.ConverterParameters"> + <summary> + The parameter list to use when constructing the JsonConverter described by ConverterType. + If null, the default constructor is used. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonConverterCollection"> + <summary> + Represents a collection of <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonDictionaryAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the collection. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonDictionaryAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonDictionaryAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonDictionaryAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonDictionaryAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="T:Newtonsoft.Json.JsonException"> + <summary> + The exception thrown when an error occurs during JSON serialization or deserialization. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param> + </member> + <member name="M:Newtonsoft.Json.JsonException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonException"/> class. + </summary> + <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param> + <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception> + <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception> + </member> + <member name="T:Newtonsoft.Json.JsonExtensionDataAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to deserialize properties with no matching class member into the specified collection + and write values during serialization. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonExtensionDataAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonExtensionDataAttribute"/> class. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonExtensionDataAttribute.WriteData"> + <summary> + Gets or sets a value that indicates whether to write extension data when serializing the object. + </summary> + <value> + <c>true</c> to write extension data when serializing the object; otherwise, <c>false</c>. The default is <c>true</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonExtensionDataAttribute.ReadData"> + <summary> + Gets or sets a value that indicates whether to read extension data when deserializing the object. + </summary> + <value> + <c>true</c> to read extension data when deserializing the object; otherwise, <c>false</c>. The default is <c>true</c>. + </value> + </member> + <member name="T:Newtonsoft.Json.JsonIgnoreAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> not to serialize the public field or public read/write property value. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonObjectAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> how to serialize the object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor(Newtonsoft.Json.MemberSerialization)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with the specified member serialization. + </summary> + <param name="memberSerialization">The member serialization.</param> + </member> + <member name="M:Newtonsoft.Json.JsonObjectAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonObjectAttribute"/> class with the specified container Id. + </summary> + <param name="id">The container Id.</param> + </member> + <member name="P:Newtonsoft.Json.JsonObjectAttribute.MemberSerialization"> + <summary> + Gets or sets the member serialization. + </summary> + <value>The member serialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonObjectAttribute.ItemRequired"> + <summary> + Gets or sets a value that indicates whether the object's properties are required. + </summary> + <value> + A value indicating whether the object's properties are required. + </value> + </member> + <member name="T:Newtonsoft.Json.JsonPropertyAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to always serialize the member with the specified name. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonPropertyAttribute.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonPropertyAttribute.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> class with the specified name. + </summary> + <param name="propertyName">Name of the property.</param> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterType"> + <summary> + Gets or sets the converter used when serializing the property's collection items. + </summary> + <value>The collection's items converter.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemConverterParameters"> + <summary> + The parameter list to use when constructing the JsonConverter described by ItemConverterType. + If null, the default constructor is used. + When non-null, there must be a constructor defined in the JsonConverter that exactly matches the number, + order, and type of these parameters. + </summary> + <example> + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + </example> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.NullValueHandling"> + <summary> + Gets or sets the null value handling used when serializing this property. + </summary> + <value>The null value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.DefaultValueHandling"> + <summary> + Gets or sets the default value handling used when serializing this property. + </summary> + <value>The default value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ReferenceLoopHandling"> + <summary> + Gets or sets the reference loop handling used when serializing this property. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ObjectCreationHandling"> + <summary> + Gets or sets the object creation handling used when deserializing this property. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.TypeNameHandling"> + <summary> + Gets or sets the type name handling used when serializing this property. + </summary> + <value>The type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.IsReference"> + <summary> + Gets or sets whether this property's value is serialized as a reference. + </summary> + <value>Whether this property's value is serialized as a reference.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.Order"> + <summary> + Gets or sets the order of serialization and deserialization of a member. + </summary> + <value>The numeric order of serialization or deserialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.Required"> + <summary> + Gets or sets a value indicating whether this property is required. + </summary> + <value> + A value indicating whether this property is required. + </value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.PropertyName"> + <summary> + Gets or sets the name of the property. + </summary> + <value>The name of the property.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemReferenceLoopHandling"> + <summary> + Gets or sets the the reference loop handling used when serializing the property's collection items. + </summary> + <value>The collection's items reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemTypeNameHandling"> + <summary> + Gets or sets the the type name handling used when serializing the property's collection items. + </summary> + <value>The collection's items type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonPropertyAttribute.ItemIsReference"> + <summary> + Gets or sets whether this property's collection items are serialized as a reference. + </summary> + <value>Whether this property's collection items are serialized as a reference.</value> + </member> + <member name="T:Newtonsoft.Json.JsonReaderException"> + <summary> + The exception thrown when an error occurs while reading JSON text. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param> + </member> + <member name="M:Newtonsoft.Json.JsonReaderException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReaderException"/> class. + </summary> + <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param> + <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception> + <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception> + </member> + <member name="P:Newtonsoft.Json.JsonReaderException.LineNumber"> + <summary> + Gets the line number indicating where the error occurred. + </summary> + <value>The line number indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReaderException.LinePosition"> + <summary> + Gets the line position indicating where the error occurred. + </summary> + <value>The line position indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.JsonReaderException.Path"> + <summary> + Gets the path to the JSON where the error occurred. + </summary> + <value>The path to the JSON where the error occurred.</value> + </member> + <member name="T:Newtonsoft.Json.JsonRequiredAttribute"> + <summary> + Instructs the <see cref="T:Newtonsoft.Json.JsonSerializer"/> to always serialize the member, and require the member has a value. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonSerializationException"> + <summary> + The exception thrown when an error occurs during JSON serialization or deserialization. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializationException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializationException"/> class. + </summary> + <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param> + <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception> + <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception> + </member> + <member name="T:Newtonsoft.Json.JsonSerializer"> + <summary> + Serializes and deserializes objects into and from the JSON format. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> enables you to control how objects are encoded into JSON. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializer"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Create"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings. + </summary> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Create(Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings. + </summary> + <param name="settings">The settings to be applied to the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.</param> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will not use default settings. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.CreateDefault"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings. + </summary> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.CreateDefault(Newtonsoft.Json.JsonSerializerSettings)"> + <summary> + Creates a new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings. + </summary> + <param name="settings">The settings to be applied to the <see cref="T:Newtonsoft.Json.JsonSerializer"/>.</param> + <returns> + A new <see cref="T:Newtonsoft.Json.JsonSerializer"/> instance using the specified <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/>. + The <see cref="T:Newtonsoft.Json.JsonSerializer"/> will use default settings. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Populate(System.IO.TextReader,System.Object)"> + <summary> + Populates the JSON values onto the target object. + </summary> + <param name="reader">The <see cref="T:System.IO.TextReader"/> that contains the JSON structure to reader values from.</param> + <param name="target">The target object to populate values onto.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Populate(Newtonsoft.Json.JsonReader,System.Object)"> + <summary> + Populates the JSON values onto the target object. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> that contains the JSON structure to reader values from.</param> + <param name="target">The target object to populate values onto.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> that contains the JSON structure to deserialize.</param> + <returns>The <see cref="T:System.Object"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(System.IO.TextReader,System.Type)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:System.IO.StringReader"/> + into an instance of the specified type. + </summary> + <param name="reader">The <see cref="T:System.IO.TextReader"/> containing the object.</param> + <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param> + <returns>The instance of <paramref name="objectType"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize``1(Newtonsoft.Json.JsonReader)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/> + into an instance of the specified type. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param> + <typeparam name="T">The type of the object to deserialize.</typeparam> + <returns>The instance of <typeparamref name="T"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Deserialize(Newtonsoft.Json.JsonReader,System.Type)"> + <summary> + Deserializes the JSON structure contained by the specified <see cref="T:Newtonsoft.Json.JsonReader"/> + into an instance of the specified type. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the object.</param> + <param name="objectType">The <see cref="T:System.Type"/> of object being deserialized.</param> + <returns>The instance of <paramref name="objectType"/> being deserialized.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>. + </summary> + <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object,System.Type)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>. + </summary> + <param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + <param name="objectType"> + The type of the value being serialized. + This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + </param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(System.IO.TextWriter,System.Object,System.Type)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + to a <c>Stream</c> using the specified <see cref="T:System.IO.TextWriter"/>. + </summary> + <param name="textWriter">The <see cref="T:System.IO.TextWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + <param name="objectType"> + The type of the value being serialized. + This parameter is used when <see cref="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"/> is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + </param> + </member> + <member name="M:Newtonsoft.Json.JsonSerializer.Serialize(Newtonsoft.Json.JsonWriter,System.Object)"> + <summary> + Serializes the specified <see cref="T:System.Object"/> and writes the JSON structure + to a <c>Stream</c> using the specified <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="jsonWriter">The <see cref="T:Newtonsoft.Json.JsonWriter"/> used to write the JSON structure.</param> + <param name="value">The <see cref="T:System.Object"/> to serialize.</param> + </member> + <member name="E:Newtonsoft.Json.JsonSerializer.Error"> + <summary> + Occurs when the <see cref="T:Newtonsoft.Json.JsonSerializer"/> errors during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ReferenceResolver"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Binder"> + <summary> + Gets or sets the <see cref="T:System.Runtime.Serialization.SerializationBinder"/> used by the serializer when resolving type names. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.TraceWriter"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages. + </summary> + <value>The trace writer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.EqualityComparer"> + <summary> + Gets or sets the equality comparer used by the serializer when comparing references. + </summary> + <value>The equality comparer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.TypeNameHandling"> + <summary> + Gets or sets how type name writing and reading is handled by the serializer. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.TypeNameAssemblyFormat"> + <summary> + Gets or sets how a type name assembly is written and resolved by the serializer. + </summary> + <value>The type name assembly format.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.PreserveReferencesHandling"> + <summary> + Gets or sets how object references are preserved by the serializer. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ReferenceLoopHandling"> + <summary> + Get or set how reference loops (e.g. a class referencing itself) is handled. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.MissingMemberHandling"> + <summary> + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.NullValueHandling"> + <summary> + Get or set how null values are handled during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DefaultValueHandling"> + <summary> + Get or set how null default are handled during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ObjectCreationHandling"> + <summary> + Gets or sets how objects are created during deserialization. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ConstructorHandling"> + <summary> + Gets or sets how constructors are used during deserialization. + </summary> + <value>The constructor handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.MetadataPropertyHandling"> + <summary> + Gets or sets how metadata properties are used during deserialization. + </summary> + <value>The metadata properties handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Converters"> + <summary> + Gets a collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization. + </summary> + <value>Collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.ContractResolver"> + <summary> + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Context"> + <summary> + Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods. + </summary> + <value>The context.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Formatting"> + <summary> + Indicates how JSON text output is formatted. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateFormatHandling"> + <summary> + Get or set how dates are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateTimeZoneHandling"> + <summary> + Get or set how <see cref="T:System.DateTime"/> time zones are handling during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateParseHandling"> + <summary> + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.FloatParseHandling"> + <summary> + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.FloatFormatHandling"> + <summary> + Get or set how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>, + are written as JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.StringEscapeHandling"> + <summary> + Get or set how strings are escaped when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.DateFormatString"> + <summary> + Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text, and the expected date format when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.Culture"> + <summary> + Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.MaxDepth"> + <summary> + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializer.CheckAdditionalContent"> + <summary> + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + </summary> + <value> + <c>true</c> if there will be a check for additional JSON content after deserializing an object; otherwise, <c>false</c>. + </value> + </member> + <member name="T:Newtonsoft.Json.JsonSerializerSettings"> + <summary> + Specifies the settings on a <see cref="T:Newtonsoft.Json.JsonSerializer"/> object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonSerializerSettings.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonSerializerSettings"/> class. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceLoopHandling"> + <summary> + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + </summary> + <value>Reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.MissingMemberHandling"> + <summary> + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + </summary> + <value>Missing member handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ObjectCreationHandling"> + <summary> + Gets or sets how objects are created during deserialization. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.NullValueHandling"> + <summary> + Gets or sets how null values are handled during serialization and deserialization. + </summary> + <value>Null value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DefaultValueHandling"> + <summary> + Gets or sets how null default are handled during serialization and deserialization. + </summary> + <value>The default value handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Converters"> + <summary> + Gets or sets a collection <see cref="T:Newtonsoft.Json.JsonConverter"/> that will be used during serialization. + </summary> + <value>The converters.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.PreserveReferencesHandling"> + <summary> + Gets or sets how object references are preserved by the serializer. + </summary> + <value>The preserve references handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameHandling"> + <summary> + Gets or sets how type name writing and reading is handled by the serializer. + </summary> + <value>The type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.MetadataPropertyHandling"> + <summary> + Gets or sets how metadata properties are used during deserialization. + </summary> + <value>The metadata properties handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.TypeNameAssemblyFormat"> + <summary> + Gets or sets how a type name assembly is written and resolved by the serializer. + </summary> + <value>The type name assembly format.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ConstructorHandling"> + <summary> + Gets or sets how constructors are used during deserialization. + </summary> + <value>The constructor handling.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ContractResolver"> + <summary> + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + </summary> + <value>The contract resolver.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.EqualityComparer"> + <summary> + Gets or sets the equality comparer used by the serializer when comparing references. + </summary> + <value>The equality comparer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceResolver"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references. + </summary> + <value>The reference resolver.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.ReferenceResolverProvider"> + <summary> + Gets or sets a function that creates the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references. + </summary> + <value>A function that creates the <see cref="T:Newtonsoft.Json.Serialization.IReferenceResolver"/> used by the serializer when resolving references.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.TraceWriter"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.ITraceWriter"/> used by the serializer when writing trace messages. + </summary> + <value>The trace writer.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Binder"> + <summary> + Gets or sets the <see cref="T:System.Runtime.Serialization.SerializationBinder"/> used by the serializer when resolving type names. + </summary> + <value>The binder.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Error"> + <summary> + Gets or sets the error handler called during serialization and deserialization. + </summary> + <value>The error handler called during serialization and deserialization.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Context"> + <summary> + Gets or sets the <see cref="T:System.Runtime.Serialization.StreamingContext"/> used by the serializer when invoking serialization callback methods. + </summary> + <value>The context.</value> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateFormatString"> + <summary> + Get or set how <see cref="T:System.DateTime"/> and <see cref="T:System.DateTimeOffset"/> values are formatted when writing JSON text, and the expected date format when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.MaxDepth"> + <summary> + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a <see cref="T:Newtonsoft.Json.JsonReaderException"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Formatting"> + <summary> + Indicates how JSON text output is formatted. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateFormatHandling"> + <summary> + Get or set how dates are written to JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateTimeZoneHandling"> + <summary> + Get or set how <see cref="T:System.DateTime"/> time zones are handling during serialization and deserialization. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.DateParseHandling"> + <summary> + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.FloatFormatHandling"> + <summary> + Get or set how special floating point numbers, e.g. <see cref="F:System.Double.NaN"/>, + <see cref="F:System.Double.PositiveInfinity"/> and <see cref="F:System.Double.NegativeInfinity"/>, + are written as JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.FloatParseHandling"> + <summary> + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.StringEscapeHandling"> + <summary> + Get or set how strings are escaped when writing JSON text. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.Culture"> + <summary> + Gets or sets the culture used when reading JSON. Defaults to <see cref="P:System.Globalization.CultureInfo.InvariantCulture"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonSerializerSettings.CheckAdditionalContent"> + <summary> + Gets a value indicating whether there will be a check for additional content after deserializing an object. + </summary> + <value> + <c>true</c> if there will be a check for additional content after deserializing an object; otherwise, <c>false</c>. + </value> + </member> + <member name="T:Newtonsoft.Json.JsonTextReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.#ctor(System.IO.TextReader)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonReader"/> class with the specified <see cref="T:System.IO.TextReader"/>. + </summary> + <param name="reader">The <c>TextReader</c> containing the XML data to read.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.Read"> + <summary> + Reads the next JSON token from the stream. + </summary> + <returns> + true if the next token was read successfully; false if there are no more tokens to read. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[]. + </summary> + <returns> + A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsString"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.DateTimeOffset"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.Close"> + <summary> + Changes the state to closed. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextReader.HasLineInfo"> + <summary> + Gets a value indicating whether the class can return line information. + </summary> + <returns> + <c>true</c> if LineNumber and LinePosition can be provided; otherwise, <c>false</c>. + </returns> + </member> + <member name="P:Newtonsoft.Json.JsonTextReader.LineNumber"> + <summary> + Gets the current line number. + </summary> + <value> + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + </value> + </member> + <member name="P:Newtonsoft.Json.JsonTextReader.LinePosition"> + <summary> + Gets the current line position. + </summary> + <value> + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + </value> + </member> + <member name="T:Newtonsoft.Json.JsonTextWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.#ctor(System.IO.TextWriter)"> + <summary> + Creates an instance of the <c>JsonWriter</c> class using the specified <see cref="T:System.IO.TextWriter"/>. + </summary> + <param name="textWriter">The <c>TextWriter</c> to write to.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.Close"> + <summary> + Closes this stream and the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the specified end token. + </summary> + <param name="token">The end token to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WritePropertyName(System.String,System.Boolean)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + <param name="escape">A flag to indicate whether the text should be escaped when it is written as a JSON property name.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndent"> + <summary> + Writes indent characters. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValueDelimiter"> + <summary> + Writes the JSON value delimiter. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteIndentSpace"> + <summary> + Writes an indent space. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Single})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Nullable{System.Double})"> + <summary> + Writes a <see cref="T:System.Nullable`1"/> value. + </summary> + <param name="value">The <see cref="T:System.Nullable`1"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteComment(System.String)"> + <summary> + Writes out a comment <code>/*...*/</code> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.JsonTextWriter.WriteWhitespace(System.String)"> + <summary> + Writes out the given white space. + </summary> + <param name="ws">The string of white space characters.</param> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.Indentation"> + <summary> + Gets or sets how many IndentChars to write for each level in the hierarchy when <see cref="T:Newtonsoft.Json.Formatting"/> is set to <c>Formatting.Indented</c>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.QuoteChar"> + <summary> + Gets or sets which character to use to quote attribute values. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.IndentChar"> + <summary> + Gets or sets which character to use for indenting when <see cref="T:Newtonsoft.Json.Formatting"/> is set to <c>Formatting.Indented</c>. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonTextWriter.QuoteName"> + <summary> + Gets or sets a value indicating whether object names will be surrounded with quotes. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonToken"> + <summary> + Specifies the type of JSON token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.None"> + <summary> + This is returned by the <see cref="T:Newtonsoft.Json.JsonReader"/> if a <see cref="M:Newtonsoft.Json.JsonReader.Read"/> method has not been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.StartObject"> + <summary> + An object start token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.StartArray"> + <summary> + An array start token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.StartConstructor"> + <summary> + A constructor start token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.PropertyName"> + <summary> + An object property name. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Comment"> + <summary> + A comment. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Raw"> + <summary> + Raw JSON. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Integer"> + <summary> + An integer. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Float"> + <summary> + A float. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.String"> + <summary> + A string. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Boolean"> + <summary> + A boolean. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Null"> + <summary> + A null token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Undefined"> + <summary> + An undefined token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.EndObject"> + <summary> + An object end token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.EndArray"> + <summary> + An array end token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.EndConstructor"> + <summary> + A constructor end token. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Date"> + <summary> + A Date. + </summary> + </member> + <member name="F:Newtonsoft.Json.JsonToken.Bytes"> + <summary> + Byte data. + </summary> + </member> + <member name="T:Newtonsoft.Json.JsonValidatingReader"> + <summary> + <para> + Represents a reader that provides <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> validation. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.#ctor(Newtonsoft.Json.JsonReader)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonValidatingReader"/> class that + validates the content returned from the given <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> to read from while validating.</param> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[]. + </summary> + <returns> + A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. + </returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsString"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.JsonValidatingReader.Read"> + <summary> + Reads the next JSON token from the stream. + </summary> + <returns> + true if the next token was read successfully; false if there are no more tokens to read. + </returns> + </member> + <member name="E:Newtonsoft.Json.JsonValidatingReader.ValidationEventHandler"> + <summary> + Sets an event handler for receiving schema validation errors. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Value"> + <summary> + Gets the text value of the current JSON token. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Depth"> + <summary> + Gets the depth of the current token in the JSON document. + </summary> + <value>The depth of the current token in the JSON document.</value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Path"> + <summary> + Gets the path of the current JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.QuoteChar"> + <summary> + Gets the quotation mark character used to enclose the value of a string. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.TokenType"> + <summary> + Gets the type of the current JSON token. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.ValueType"> + <summary> + Gets the Common Language Runtime (CLR) type for the current JSON token. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Schema"> + <summary> + Gets or sets the schema. + </summary> + <value>The schema.</value> + </member> + <member name="P:Newtonsoft.Json.JsonValidatingReader.Reader"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.JsonReader"/> used to construct this <see cref="T:Newtonsoft.Json.JsonValidatingReader"/>. + </summary> + <value>The <see cref="T:Newtonsoft.Json.JsonReader"/> specified in the constructor.</value> + </member> + <member name="T:Newtonsoft.Json.JsonWriterException"> + <summary> + The exception thrown when an error occurs while reading JSON text. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param> + </member> + <member name="M:Newtonsoft.Json.JsonWriterException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.JsonWriterException"/> class. + </summary> + <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param> + <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception> + <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception> + </member> + <member name="P:Newtonsoft.Json.JsonWriterException.Path"> + <summary> + Gets the path to the JSON where the error occurred. + </summary> + <value>The path to the JSON where the error occurred.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.Extensions"> + <summary> + Contains the LINQ to JSON extension methods. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Ancestors``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains the ancestors of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the ancestors of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.AncestorsAndSelf``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, the ancestors of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Descendants``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains the descendants of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the descendants of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.DescendantsAndSelf``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + </summary> + <typeparam name="T">The type of the objects in source, constrained to <see cref="T:Newtonsoft.Json.Linq.JContainer"/>.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains every token in the source collection, and the descendants of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Properties(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JObject})"> + <summary> + Returns a collection of child properties of every object in the source collection. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the properties of every object in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken},System.Object)"> + <summary> + Returns a collection of child values of every object in the source collection with the given key. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <param name="key">The token key.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection with the given key.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Returns a collection of child values of every object in the source collection. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken},System.Object)"> + <summary> + Returns a collection of converted child values of every object in the source collection with the given key. + </summary> + <typeparam name="U">The type to convert the values to.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <param name="key">The token key.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection with the given key.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Values``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Returns a collection of converted child values of every object in the source collection. + </summary> + <typeparam name="U">The type to convert the values to.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Value``1(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Converts the value. + </summary> + <typeparam name="U">The type to convert the value to.</typeparam> + <param name="value">A <see cref="T:Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns>A converted value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Value``2(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Converts the value. + </summary> + <typeparam name="T">The source collection type.</typeparam> + <typeparam name="U">The type to convert the value to.</typeparam> + <param name="value">A <see cref="T:Newtonsoft.Json.Linq.JToken"/> cast as a <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns>A converted value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Children``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of child tokens of every array in the source collection. + </summary> + <typeparam name="T">The source collection type.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.Children``2(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns a collection of converted child tokens of every array in the source collection. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <typeparam name="U">The type to convert the values to.</typeparam> + <typeparam name="T">The source collection type.</typeparam> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the converted values of every token in the source collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.AsJEnumerable(System.Collections.Generic.IEnumerable{Newtonsoft.Json.Linq.JToken})"> + <summary> + Returns the input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>. + </summary> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>The input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.Extensions.AsJEnumerable``1(System.Collections.Generic.IEnumerable{``0})"> + <summary> + Returns the input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>. + </summary> + <typeparam name="T">The source collection type.</typeparam> + <param name="source">An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the source collection.</param> + <returns>The input typed as <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/>.</returns> + </member> + <member name="T:Newtonsoft.Json.Linq.IJEnumerable`1"> + <summary> + Represents a collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects. + </summary> + <typeparam name="T">The type of token</typeparam> + </member> + <member name="P:Newtonsoft.Json.Linq.IJEnumerable`1.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/> with the specified key. + </summary> + <value></value> + </member> + <member name="T:Newtonsoft.Json.Linq.JArray"> + <summary> + Represents a JSON array. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text" /> + </example> + </member> + <member name="T:Newtonsoft.Json.Linq.JContainer"> + <summary> + Represents a token that can contain other tokens. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.JToken"> + <summary> + Represents an abstract JSON token. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.DeepEquals(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)"> + <summary> + Compares the values of two tokens, including the values of all descendant tokens. + </summary> + <param name="t1">The first <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <param name="t2">The second <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <returns>true if the tokens are equal; otherwise false.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AddAfterSelf(System.Object)"> + <summary> + Adds the specified content immediately after this token. + </summary> + <param name="content">A content object that contains simple content or a collection of content objects to be added after this token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AddBeforeSelf(System.Object)"> + <summary> + Adds the specified content immediately before this token. + </summary> + <param name="content">A content object that contains simple content or a collection of content objects to be added before this token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Ancestors"> + <summary> + Returns a collection of the ancestor tokens of this token. + </summary> + <returns>A collection of the ancestor tokens of this token.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AncestorsAndSelf"> + <summary> + Returns a collection of tokens that contain this token, and the ancestors of this token. + </summary> + <returns>A collection of tokens that contain this token, and the ancestors of this token.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AfterSelf"> + <summary> + Returns a collection of the sibling tokens after this token, in document order. + </summary> + <returns>A collection of the sibling tokens after this tokens, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.BeforeSelf"> + <summary> + Returns a collection of the sibling tokens before this token, in document order. + </summary> + <returns>A collection of the sibling tokens before this token, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Value``1(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key converted to the specified type. + </summary> + <typeparam name="T">The type to convert the token to.</typeparam> + <param name="key">The token key.</param> + <returns>The converted token value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Children"> + <summary> + Returns a collection of the child tokens of this token, in document order. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Children``1"> + <summary> + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + </summary> + <typeparam name="T">The type to filter the child tokens on.</typeparam> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Values``1"> + <summary> + Returns a collection of the child values of this token, in document order. + </summary> + <typeparam name="T">The type to convert the values to.</typeparam> + <returns>A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Remove"> + <summary> + Removes this token from its parent. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Replace(Newtonsoft.Json.Linq.JToken)"> + <summary> + Replaces this token with the specified token. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToString"> + <summary> + Returns the indented JSON for this token. + </summary> + <returns> + The indented JSON for this token. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToString(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[])"> + <summary> + Returns the JSON for this token using the given formatting and converters. + </summary> + <param name="formatting">Indicates how the output is formatted.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + <returns>The JSON for this token using the given formatting and converters.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Boolean"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Boolean"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.DateTimeOffset"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.DateTimeOffset"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Boolean}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int64"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int64"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTime}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.DateTimeOffset}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Decimal}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Double}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Char}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int32"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int32"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Int16"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Int16"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt16"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt16"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Char"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Char"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Byte"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.SByte"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.SByte"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int32}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int16}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt16}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Byte}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.SByte}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.DateTime"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.DateTime"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Int64}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Single}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Decimal"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Decimal"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt32}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.UInt64}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Nullable`1"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Double"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Double"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Single"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Single"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.String"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.String"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt32"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt32"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.UInt64"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.UInt64"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Byte[]"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Byte"/>[]. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Guid"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Guid"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.Guid}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Guid"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.TimeSpan"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.TimeSpan"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Nullable{System.TimeSpan}"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.TimeSpan"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Explicit(Newtonsoft.Json.Linq.JToken)~System.Uri"> + <summary> + Performs an explicit conversion from <see cref="T:Newtonsoft.Json.Linq.JToken"/> to <see cref="T:System.Uri"/>. + </summary> + <param name="value">The value.</param> + <returns>The result of the conversion.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Boolean)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Boolean"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTimeOffset)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.DateTimeOffset"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Byte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Byte})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.SByte)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.SByte"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.SByte})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Boolean})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int64)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTime})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.DateTimeOffset})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Decimal})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Double})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int16)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Int16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt16)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.UInt16"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Int32)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Int32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int32})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.DateTime)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.DateTime"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int64})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Single})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Decimal)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Decimal"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Int16})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt16})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt32})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.UInt64})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Double)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Double"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Single)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Single"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.String)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.String"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt32)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.UInt32"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.UInt64)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.UInt64"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Byte[])~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Byte"/>[] to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Uri)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Uri"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.TimeSpan)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.TimeSpan"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.TimeSpan})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Guid)~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Guid"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.op_Implicit(System.Nullable{System.Guid})~Newtonsoft.Json.Linq.JToken"> + <summary> + Performs an implicit conversion from <see cref="T:System.Nullable`1"/> to <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="value">The value to create a <see cref="T:Newtonsoft.Json.Linq.JValue"/> from.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JValue"/> initialized with the specified value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.CreateReader"> + <summary> + Creates an <see cref="T:Newtonsoft.Json.JsonReader"/> for this token. + </summary> + <returns>An <see cref="T:Newtonsoft.Json.JsonReader"/> that can be used to read this token and its descendants.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the value of the specified object</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from an object using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when reading the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the value of the specified object</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject``1"> + <summary> + Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The object type that the token will be deserialized to.</typeparam> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject(System.Type)"> + <summary> + Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="objectType">The object type that the token will be deserialized to.</param> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject``1(Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <typeparam name="T">The object type that the token will be deserialized to.</typeparam> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ToObject(System.Type,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates the specified .NET type from the <see cref="T:Newtonsoft.Json.Linq.JToken"/> using the specified <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <param name="objectType">The object type that the token will be deserialized to.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used when creating the object.</param> + <returns>The new object created from the JSON value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.ReadFrom(Newtonsoft.Json.JsonReader)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">An <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns> + An <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> populated from the string that contains JSON.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JToken"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">An <see cref="T:Newtonsoft.Json.JsonReader"/> positioned at the token to read into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</param> + <returns> + An <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String)"> + <summary> + Selects a <see cref="T:Newtonsoft.Json.Linq.JToken"/> using a JPath expression. Selects the token that matches the object path. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/>, or null.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectToken(System.String,System.Boolean)"> + <summary> + Selects a <see cref="T:Newtonsoft.Json.Linq.JToken"/> using a JPath expression. Selects the token that matches the object path. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectTokens(System.String)"> + <summary> + Selects a collection of elements using a JPath expression. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the selected elements.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.SelectTokens(System.String,System.Boolean)"> + <summary> + Selects a collection of elements using a JPath expression. + </summary> + <param name="path"> + A <see cref="T:System.String"/> that contains a JPath expression. + </param> + <param name="errorWhenNoMatch">A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the selected elements.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.System#Dynamic#IDynamicMetaObjectProvider#GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.DeepClone"> + <summary> + Creates a new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. All child tokens are recursively cloned. + </summary> + <returns>A new instance of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.AddAnnotation(System.Object)"> + <summary> + Adds an object to the annotation list of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="annotation">The annotation to add.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotation``1"> + <summary> + Get the first annotation object of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The type of the annotation to retrieve.</typeparam> + <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotation(System.Type)"> + <summary> + Gets the first annotation object of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of the annotation to retrieve.</param> + <returns>The first annotation object that matches the specified type, or <c>null</c> if no annotation is of the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotations``1"> + <summary> + Gets a collection of annotations of the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The type of the annotations to retrieve.</typeparam> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains the annotations for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.Annotations(System.Type)"> + <summary> + Gets a collection of annotations of the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of the annotations to retrieve.</param> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Object"/> that contains the annotations that match the specified type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.RemoveAnnotations``1"> + <summary> + Removes the annotations of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <typeparam name="T">The type of annotations to remove.</typeparam> + </member> + <member name="M:Newtonsoft.Json.Linq.JToken.RemoveAnnotations(System.Type)"> + <summary> + Removes the annotations of the specified type from this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="type">The <see cref="P:Newtonsoft.Json.Linq.JToken.Type"/> of annotations to remove.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.EqualityComparer"> + <summary> + Gets a comparer that can compare two tokens for value equality. + </summary> + <value>A <see cref="T:Newtonsoft.Json.Linq.JTokenEqualityComparer"/> that can compare two nodes for value equality.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Parent"> + <summary> + Gets or sets the parent. + </summary> + <value>The parent.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Root"> + <summary> + Gets the root <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The root <see cref="T:Newtonsoft.Json.Linq.JToken"/> of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.HasValues"> + <summary> + Gets a value indicating whether this token has child tokens. + </summary> + <value> + <c>true</c> if this token has child values; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Next"> + <summary> + Gets the next sibling token of this node. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the next sibling token.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Previous"> + <summary> + Gets the previous sibling token of this node. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> that contains the previous sibling token.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Path"> + <summary> + Gets the path of the JSON token. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.First"> + <summary> + Get the first child token of this token. + </summary> + <value>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JToken.Last"> + <summary> + Get the last child token of this token. + </summary> + <value>A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.OnAddingNew(System.ComponentModel.AddingNewEventArgs)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.AddingNew"/> event. + </summary> + <param name="e">The <see cref="T:System.ComponentModel.AddingNewEventArgs"/> instance containing the event data.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.OnListChanged(System.ComponentModel.ListChangedEventArgs)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.ListChanged"/> event. + </summary> + <param name="e">The <see cref="T:System.ComponentModel.ListChangedEventArgs"/> instance containing the event data.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JContainer.CollectionChanged"/> event. + </summary> + <param name="e">The <see cref="T:System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Children"> + <summary> + Returns a collection of the child tokens of this token, in document order. + </summary> + <returns> + An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the child tokens of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Values``1"> + <summary> + Returns a collection of the child values of this token, in document order. + </summary> + <typeparam name="T">The type to convert the values to.</typeparam> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the child values of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>, in document order. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Descendants"> + <summary> + Returns a collection of the descendant tokens for this token in document order. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the descendant tokens of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.DescendantsAndSelf"> + <summary> + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing this token, and all the descendant tokens of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Add(System.Object)"> + <summary> + Adds the specified content as children of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="content">The content to be added.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.AddFirst(System.Object)"> + <summary> + Adds the specified content as the first children of this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="content">The content to be added.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.CreateWriter"> + <summary> + Creates an <see cref="T:Newtonsoft.Json.JsonWriter"/> that can be used to add tokens to the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <returns>An <see cref="T:Newtonsoft.Json.JsonWriter"/> that is ready to have content written to it.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.ReplaceAll(System.Object)"> + <summary> + Replaces the children nodes of this token with the specified content. + </summary> + <param name="content">The content.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.RemoveAll"> + <summary> + Removes the child nodes from this token. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Merge(System.Object)"> + <summary> + Merge the specified content into this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <param name="content">The content to be merged.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JContainer.Merge(System.Object,Newtonsoft.Json.Linq.JsonMergeSettings)"> + <summary> + Merge the specified content into this <see cref="T:Newtonsoft.Json.Linq.JToken"/> using <see cref="T:Newtonsoft.Json.Linq.JsonMergeSettings"/>. + </summary> + <param name="content">The content to be merged.</param> + <param name="settings">The <see cref="T:Newtonsoft.Json.Linq.JsonMergeSettings"/> used to merge the content.</param> + </member> + <member name="E:Newtonsoft.Json.Linq.JContainer.ListChanged"> + <summary> + Occurs when the list changes or an item in the list changes. + </summary> + </member> + <member name="E:Newtonsoft.Json.Linq.JContainer.AddingNew"> + <summary> + Occurs before an item is added to the collection. + </summary> + </member> + <member name="E:Newtonsoft.Json.Linq.JContainer.CollectionChanged"> + <summary> + Occurs when the items list of the collection has changed, or the collection is reset. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.HasValues"> + <summary> + Gets a value indicating whether this token has child tokens. + </summary> + <value> + <c>true</c> if this token has child values; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.First"> + <summary> + Get the first child token of this token. + </summary> + <value> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the first child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </value> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.Last"> + <summary> + Get the last child token of this token. + </summary> + <value> + A <see cref="T:Newtonsoft.Json.Linq.JToken"/> containing the last child token of the <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </value> + </member> + <member name="P:Newtonsoft.Json.Linq.JContainer.Count"> + <summary> + Gets the count of child JSON tokens. + </summary> + <value>The count of child JSON tokens</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(Newtonsoft.Json.Linq.JArray)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class from another <see cref="T:Newtonsoft.Json.Linq.JArray"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JArray"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class with the specified content. + </summary> + <param name="content">The contents of the array.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JArray"/> class with the specified content. + </summary> + <param name="content">The contents of the array.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads an <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> populated from the string that contains JSON.</returns> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParseArray" title="Parsing a JSON Array from Text"/> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.FromObject(System.Object)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> with the values of the specified object</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JArray"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JArray"/>.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JArray"/> with the values of the specified object</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.IndexOf(Newtonsoft.Json.Linq.JToken)"> + <summary> + Determines the index of a specific item in the <see cref="T:System.Collections.Generic.IList`1"/>. + </summary> + <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.IList`1"/>.</param> + <returns> + The index of <paramref name="item"/> if found in the list; otherwise, -1. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Insert(System.Int32,Newtonsoft.Json.Linq.JToken)"> + <summary> + Inserts an item to the <see cref="T:System.Collections.Generic.IList`1"/> at the specified index. + </summary> + <param name="index">The zero-based index at which <paramref name="item"/> should be inserted.</param> + <param name="item">The object to insert into the <see cref="T:System.Collections.Generic.IList`1"/>.</param> + <exception cref="T:System.ArgumentOutOfRangeException"> + <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception> + <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.RemoveAt(System.Int32)"> + <summary> + Removes the <see cref="T:System.Collections.Generic.IList`1"/> item at the specified index. + </summary> + <param name="index">The zero-based index of the item to remove.</param> + <exception cref="T:System.ArgumentOutOfRangeException"> + <paramref name="index"/> is not a valid index in the <see cref="T:System.Collections.Generic.IList`1"/>.</exception> + <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.IList`1"/> is read-only.</exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.GetEnumerator"> + <summary> + Returns an enumerator that iterates through the collection. + </summary> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Add(Newtonsoft.Json.Linq.JToken)"> + <summary> + Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>. + </summary> + <param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param> + <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Clear"> + <summary> + Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>. + </summary> + <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Contains(Newtonsoft.Json.Linq.JToken)"> + <summary> + Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value. + </summary> + <param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param> + <returns> + true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.CopyTo(Newtonsoft.Json.Linq.JToken[],System.Int32)"> + <summary> + Copies to. + </summary> + <param name="array">The array.</param> + <param name="arrayIndex">Index of the array.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JArray.Remove(Newtonsoft.Json.Linq.JToken)"> + <summary> + Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>. + </summary> + <param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param> + <returns> + true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>. + </returns> + <exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.Item(System.Int32)"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the specified index. + </summary> + <value></value> + </member> + <member name="P:Newtonsoft.Json.Linq.JArray.IsReadOnly"> + <summary> + Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only. + </summary> + <returns>true if the <see cref="T:System.Collections.Generic.ICollection`1" /> is read-only; otherwise, false.</returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JConstructor"> + <summary> + Represents a JSON constructor. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(Newtonsoft.Json.Linq.JConstructor)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class from another <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content. + </summary> + <param name="name">The constructor name.</param> + <param name="content">The contents of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name and content. + </summary> + <param name="name">The constructor name.</param> + <param name="content">The contents of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> class with the specified name. + </summary> + <param name="name">The constructor name.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JConstructor.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads an <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JConstructor"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JConstructor"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.Name"> + <summary> + Gets or sets the name of this constructor. + </summary> + <value>The constructor name.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JConstructor.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.JEnumerable`1"> + <summary> + Represents a collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects. + </summary> + <typeparam name="T">The type of token</typeparam> + </member> + <member name="F:Newtonsoft.Json.Linq.JEnumerable`1.Empty"> + <summary> + An empty collection of <see cref="T:Newtonsoft.Json.Linq.JToken"/> objects. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.#ctor(System.Collections.Generic.IEnumerable{`0})"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> struct. + </summary> + <param name="enumerable">The enumerable.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.GetEnumerator"> + <summary> + Returns an enumerator that iterates through the collection. + </summary> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Returns an enumerator that iterates through a collection. + </summary> + <returns> + An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(Newtonsoft.Json.Linq.JEnumerable{`0})"> + <summary> + Determines whether the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance. + </summary> + <param name="other">The <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> to compare with this instance.</param> + <returns> + <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> is equal to this instance; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.Equals(System.Object)"> + <summary> + Determines whether the specified <see cref="T:System.Object"/> is equal to this instance. + </summary> + <param name="obj">The <see cref="T:System.Object"/> to compare with this instance.</param> + <returns> + <c>true</c> if the specified <see cref="T:System.Object"/> is equal to this instance; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JEnumerable`1.GetHashCode"> + <summary> + Returns a hash code for this instance. + </summary> + <returns> + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JEnumerable`1.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.IJEnumerable`1"/> with the specified key. + </summary> + <value></value> + </member> + <member name="T:Newtonsoft.Json.Linq.JObject"> + <summary> + Represents a JSON object. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text" /> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(Newtonsoft.Json.Linq.JObject)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class from another <see cref="T:Newtonsoft.Json.Linq.JObject"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JObject"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class with the specified content. + </summary> + <param name="content">The contents of the object.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JObject"/> class with the specified content. + </summary> + <param name="content">The contents of the object.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Properties"> + <summary> + Gets an <see cref="T:System.Collections.Generic.IEnumerable`1"/> of this object's properties. + </summary> + <returns>An <see cref="T:System.Collections.Generic.IEnumerable`1"/> of this object's properties.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Property(System.String)"> + <summary> + Gets a <see cref="T:Newtonsoft.Json.Linq.JProperty"/> the specified name. + </summary> + <param name="name">The property name.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> with the specified name or null.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.PropertyValues"> + <summary> + Gets an <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> of this object's property values. + </summary> + <returns>An <see cref="T:Newtonsoft.Json.Linq.JEnumerable`1"/> of this object's property values.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads an <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from a string that contains JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> populated from the string that contains JSON.</returns> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\LinqToJsonTests.cs" region="LinqToJsonCreateParse" title="Parsing a JSON Object from Text"/> + </example> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.FromObject(System.Object)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> with the values of the specified object</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.FromObject(System.Object,Newtonsoft.Json.JsonSerializer)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JObject"/> from an object. + </summary> + <param name="o">The object that will be used to create <see cref="T:Newtonsoft.Json.Linq.JObject"/>.</param> + <param name="jsonSerializer">The <see cref="T:Newtonsoft.Json.JsonSerializer"/> that will be used to read the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JObject"/> with the values of the specified object</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetValue(System.String)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetValue(System.String,System.StringComparison)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the <see cref="T:System.StringComparison"/> will be used to match a property. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param> + <returns>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,System.StringComparison,Newtonsoft.Json.Linq.JToken@)"> + <summary> + Tries to get the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the <see cref="T:System.StringComparison"/> will be used to match a property. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="value">The value.</param> + <param name="comparison">One of the enumeration values that specifies how the strings will be compared.</param> + <returns>true if a value was successfully retrieved; otherwise, false.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Add(System.String,Newtonsoft.Json.Linq.JToken)"> + <summary> + Adds the specified property name. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.Remove(System.String)"> + <summary> + Removes the property with the specified name. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>true if item was successfully removed; otherwise, false.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.TryGetValue(System.String,Newtonsoft.Json.Linq.JToken@)"> + <summary> + Tries the get value. + </summary> + <param name="propertyName">Name of the property.</param> + <param name="value">The value.</param> + <returns>true if a value was successfully retrieved; otherwise, false.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetEnumerator"> + <summary> + Returns an enumerator that iterates through the collection. + </summary> + <returns> + A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.OnPropertyChanged(System.String)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JObject.PropertyChanged"/> event with the provided arguments. + </summary> + <param name="propertyName">Name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.OnPropertyChanging(System.String)"> + <summary> + Raises the <see cref="E:Newtonsoft.Json.Linq.JObject.PropertyChanging"/> event with the provided arguments. + </summary> + <param name="propertyName">Name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetProperties"> + <summary> + Returns the properties for this instance of a component. + </summary> + <returns> + A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> that represents the properties for this component instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetProperties(System.Attribute[])"> + <summary> + Returns the properties for this instance of a component using the attribute array as a filter. + </summary> + <param name="attributes">An array of type <see cref="T:System.Attribute"/> that is used as a filter.</param> + <returns> + A <see cref="T:System.ComponentModel.PropertyDescriptorCollection"/> that represents the filtered properties for this component instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetAttributes"> + <summary> + Returns a collection of custom attributes for this instance of a component. + </summary> + <returns> + An <see cref="T:System.ComponentModel.AttributeCollection"/> containing the attributes for this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetClassName"> + <summary> + Returns the class name of this instance of a component. + </summary> + <returns> + The class name of the object, or null if the class does not have a name. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetComponentName"> + <summary> + Returns the name of this instance of a component. + </summary> + <returns> + The name of the object, or null if the object does not have a name. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetConverter"> + <summary> + Returns a type converter for this instance of a component. + </summary> + <returns> + A <see cref="T:System.ComponentModel.TypeConverter"/> that is the converter for this object, or null if there is no <see cref="T:System.ComponentModel.TypeConverter"/> for this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetDefaultEvent"> + <summary> + Returns the default event for this instance of a component. + </summary> + <returns> + An <see cref="T:System.ComponentModel.EventDescriptor"/> that represents the default event for this object, or null if this object does not have events. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetDefaultProperty"> + <summary> + Returns the default property for this instance of a component. + </summary> + <returns> + A <see cref="T:System.ComponentModel.PropertyDescriptor"/> that represents the default property for this object, or null if this object does not have properties. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetEditor(System.Type)"> + <summary> + Returns an editor of the specified type for this instance of a component. + </summary> + <param name="editorBaseType">A <see cref="T:System.Type"/> that represents the editor for this object.</param> + <returns> + An <see cref="T:System.Object"/> of the specified type that is the editor for this object, or null if the editor cannot be found. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetEvents(System.Attribute[])"> + <summary> + Returns the events for this instance of a component using the specified attribute array as a filter. + </summary> + <param name="attributes">An array of type <see cref="T:System.Attribute"/> that is used as a filter.</param> + <returns> + An <see cref="T:System.ComponentModel.EventDescriptorCollection"/> that represents the filtered events for this component instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetEvents"> + <summary> + Returns the events for this instance of a component. + </summary> + <returns> + An <see cref="T:System.ComponentModel.EventDescriptorCollection"/> that represents the events for this component instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.System#ComponentModel#ICustomTypeDescriptor#GetPropertyOwner(System.ComponentModel.PropertyDescriptor)"> + <summary> + Returns an object that contains the property described by the specified property descriptor. + </summary> + <param name="pd">A <see cref="T:System.ComponentModel.PropertyDescriptor"/> that represents the property whose owner is to be found.</param> + <returns> + An <see cref="T:System.Object"/> that represents the owner of the specified property. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JObject.GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="E:Newtonsoft.Json.Linq.JObject.PropertyChanged"> + <summary> + Occurs when a property value changes. + </summary> + </member> + <member name="E:Newtonsoft.Json.Linq.JObject.PropertyChanging"> + <summary> + Occurs when a property value is changing. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.Item(System.Object)"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified key.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JObject.Item(System.String)"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> with the specified property name. + </summary> + <value></value> + </member> + <member name="T:Newtonsoft.Json.Linq.JsonMergeSettings"> + <summary> + Specifies the settings used when merging JSON. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JsonMergeSettings.MergeArrayHandling"> + <summary> + Gets or sets the method used when merging JSON arrays. + </summary> + <value>The method used when merging JSON arrays.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.JProperty"> + <summary> + Represents a JSON property. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(Newtonsoft.Json.Linq.JProperty)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class from another <see cref="T:Newtonsoft.Json.Linq.JProperty"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object[])"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class. + </summary> + <param name="name">The property name.</param> + <param name="content">The property content.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.#ctor(System.String,System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/> class. + </summary> + <param name="name">The property name.</param> + <param name="content">The property content.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JProperty.Load(Newtonsoft.Json.JsonReader)"> + <summary> + Loads an <see cref="T:Newtonsoft.Json.Linq.JProperty"/> from a <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">A <see cref="T:Newtonsoft.Json.JsonReader"/> that will be read for the content of the <see cref="T:Newtonsoft.Json.Linq.JProperty"/>.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JProperty"/> that contains the JSON that was read from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>.</returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.ChildrenTokens"> + <summary> + Gets the container's children tokens. + </summary> + <value>The container's children tokens.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.Name"> + <summary> + Gets the property name. + </summary> + <value>The property name.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.Value"> + <summary> + Gets or sets the property value. + </summary> + <value>The property value.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JProperty.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.JPropertyDescriptor"> + <summary> + Represents a view of a <see cref="T:Newtonsoft.Json.Linq.JProperty"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JPropertyDescriptor"/> class. + </summary> + <param name="name">The name.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.CanResetValue(System.Object)"> + <summary> + When overridden in a derived class, returns whether resetting an object changes its value. + </summary> + <returns> + true if resetting the component changes its value; otherwise, false. + </returns> + <param name="component">The component to test for reset capability. + </param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.GetValue(System.Object)"> + <summary> + When overridden in a derived class, gets the current value of the property on a component. + </summary> + <returns> + The value of a property for a given component. + </returns> + <param name="component">The component with the property for which to retrieve the value. + </param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.ResetValue(System.Object)"> + <summary> + When overridden in a derived class, resets the value for this property of the component to the default value. + </summary> + <param name="component">The component with the property value that is to be reset to the default value. + </param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.SetValue(System.Object,System.Object)"> + <summary> + When overridden in a derived class, sets the value of the component to a different value. + </summary> + <param name="component">The component with the property value that is to be set. + </param><param name="value">The new value. + </param> + </member> + <member name="M:Newtonsoft.Json.Linq.JPropertyDescriptor.ShouldSerializeValue(System.Object)"> + <summary> + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + </summary> + <returns> + true if the property should be persisted; otherwise, false. + </returns> + <param name="component">The component with the property to be examined for persistence. + </param> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.ComponentType"> + <summary> + When overridden in a derived class, gets the type of the component this property is bound to. + </summary> + <returns> + A <see cref="T:System.Type"/> that represents the type of component this property is bound to. When the <see cref="M:System.ComponentModel.PropertyDescriptor.GetValue(System.Object)"/> or <see cref="M:System.ComponentModel.PropertyDescriptor.SetValue(System.Object,System.Object)"/> methods are invoked, the object specified might be an instance of this type. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.IsReadOnly"> + <summary> + When overridden in a derived class, gets a value indicating whether this property is read-only. + </summary> + <returns> + true if the property is read-only; otherwise, false. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.PropertyType"> + <summary> + When overridden in a derived class, gets the type of the property. + </summary> + <returns> + A <see cref="T:System.Type"/> that represents the type of the property. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JPropertyDescriptor.NameHashCode"> + <summary> + Gets the hash code for the name of the member. + </summary> + <value></value> + <returns> + The hash code for the name of the member. + </returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JRaw"> + <summary> + Represents a raw JSON string. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.JValue"> + <summary> + Represents a value in JSON (string, integer, date, etc). + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(Newtonsoft.Json.Linq.JValue)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class from another <see cref="T:Newtonsoft.Json.Linq.JValue"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JValue"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Int64)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Decimal)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Char)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.UInt64)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Double)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Single)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.DateTime)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.DateTimeOffset)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Guid)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Uri)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.TimeSpan)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JValue"/> class with the given value. + </summary> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateComment(System.String)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> comment with the given value. + </summary> + <param name="value">The value.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> comment with the given value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateString(System.String)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> string with the given value. + </summary> + <param name="value">The value.</param> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> string with the given value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateNull"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value. + </summary> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CreateUndefined"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value. + </summary> + <returns>A <see cref="T:Newtonsoft.Json.Linq.JValue"/> null value.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.JsonConverter[])"> + <summary> + Writes this token to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="converters">A collection of <see cref="T:Newtonsoft.Json.JsonConverter"/> which will be used when writing the token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.Equals(Newtonsoft.Json.Linq.JValue)"> + <summary> + Indicates whether the current object is equal to another object of the same type. + </summary> + <returns> + true if the current object is equal to the <paramref name="other"/> parameter; otherwise, false. + </returns> + <param name="other">An object to compare with this object.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.Equals(System.Object)"> + <summary> + Determines whether the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>. + </summary> + <param name="obj">The <see cref="T:System.Object"/> to compare with the current <see cref="T:System.Object"/>.</param> + <returns> + true if the specified <see cref="T:System.Object"/> is equal to the current <see cref="T:System.Object"/>; otherwise, false. + </returns> + <exception cref="T:System.NullReferenceException"> + The <paramref name="obj"/> parameter is null. + </exception> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.GetHashCode"> + <summary> + Serves as a hash function for a particular type. + </summary> + <returns> + A hash code for the current <see cref="T:System.Object"/>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.String)"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <param name="format">The format.</param> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.IFormatProvider)"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <param name="formatProvider">The format provider.</param> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.ToString(System.String,System.IFormatProvider)"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <param name="format">The format.</param> + <param name="formatProvider">The format provider.</param> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.GetMetaObject(System.Linq.Expressions.Expression)"> + <summary> + Returns the <see cref="T:System.Dynamic.DynamicMetaObject"/> responsible for binding operations performed on this object. + </summary> + <param name="parameter">The expression tree representation of the runtime value.</param> + <returns> + The <see cref="T:System.Dynamic.DynamicMetaObject"/> to bind this object. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JValue.CompareTo(Newtonsoft.Json.Linq.JValue)"> + <summary> + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + </summary> + <param name="obj">An object to compare with this instance.</param> + <returns> + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than <paramref name="obj"/>. + Zero + This instance is equal to <paramref name="obj"/>. + Greater than zero + This instance is greater than <paramref name="obj"/>. + </returns> + <exception cref="T:System.ArgumentException"> + <paramref name="obj"/> is not the same type as this instance. + </exception> + </member> + <member name="P:Newtonsoft.Json.Linq.JValue.HasValues"> + <summary> + Gets a value indicating whether this token has child tokens. + </summary> + <value> + <c>true</c> if this token has child values; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Linq.JValue.Type"> + <summary> + Gets the node type for this <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Linq.JValue.Value"> + <summary> + Gets or sets the underlying token value. + </summary> + <value>The underlying token value.</value> + </member> + <member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(Newtonsoft.Json.Linq.JRaw)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class from another <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object. + </summary> + <param name="other">A <see cref="T:Newtonsoft.Json.Linq.JRaw"/> object to copy from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JRaw.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JRaw"/> class. + </summary> + <param name="rawJson">The raw json.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JRaw.Create(Newtonsoft.Json.JsonReader)"> + <summary> + Creates an instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token. + </summary> + <param name="reader">The reader.</param> + <returns>An instance of <see cref="T:Newtonsoft.Json.Linq.JRaw"/> with the content of the reader's current token.</returns> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenEqualityComparer"> + <summary> + Compares tokens to determine whether they are equal. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenEqualityComparer.Equals(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)"> + <summary> + Determines whether the specified objects are equal. + </summary> + <param name="x">The first object of type <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <param name="y">The second object of type <see cref="T:Newtonsoft.Json.Linq.JToken"/> to compare.</param> + <returns> + true if the specified objects are equal; otherwise, false. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenEqualityComparer.GetHashCode(Newtonsoft.Json.Linq.JToken)"> + <summary> + Returns a hash code for the specified object. + </summary> + <param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be returned.</param> + <returns>A hash code for the specified object.</returns> + <exception cref="T:System.ArgumentNullException">The type of <paramref name="obj"/> is a reference type and <paramref name="obj"/> is null.</exception> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenReader"> + <summary> + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.#ctor(Newtonsoft.Json.Linq.JToken)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenReader"/> class. + </summary> + <param name="token">The token to read from.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsBytes"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Byte"/>[]. + </summary> + <returns> + A <see cref="T:System.Byte"/>[] or a null reference if the next JSON token is null. This method will return <c>null</c> at the end of an array. + </returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsDecimal"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsInt32"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsString"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.String"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsDateTime"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.String"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.ReadAsDateTimeOffset"> + <summary> + Reads the next JSON token from the stream as a <see cref="T:System.Nullable`1"/>. + </summary> + <returns>A <see cref="T:System.Nullable`1"/>. This method will return <c>null</c> at the end of an array.</returns> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenReader.Read"> + <summary> + Reads the next JSON token from the stream. + </summary> + <returns> + true if the next token was read successfully; false if there are no more tokens to read. + </returns> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenReader.CurrentToken"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the reader's current position. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenReader.Path"> + <summary> + Gets the path of the current JSON token. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenType"> + <summary> + Specifies the type of token. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.None"> + <summary> + No token type has been set. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Object"> + <summary> + A JSON object. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Array"> + <summary> + A JSON array. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Constructor"> + <summary> + A JSON constructor. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Property"> + <summary> + A JSON object property. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Comment"> + <summary> + A comment. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Integer"> + <summary> + An integer value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Float"> + <summary> + A float value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.String"> + <summary> + A string value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Boolean"> + <summary> + A boolean value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Null"> + <summary> + A null value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Undefined"> + <summary> + An undefined value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Date"> + <summary> + A date value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Raw"> + <summary> + A raw JSON value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Bytes"> + <summary> + A collection of bytes value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Guid"> + <summary> + A Guid value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.Uri"> + <summary> + A Uri value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.JTokenType.TimeSpan"> + <summary> + A TimeSpan value. + </summary> + </member> + <member name="T:Newtonsoft.Json.Linq.JTokenWriter"> + <summary> + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.#ctor(Newtonsoft.Json.Linq.JContainer)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenWriter"/> class writing to the given <see cref="T:Newtonsoft.Json.Linq.JContainer"/>. + </summary> + <param name="container">The container being written to.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Linq.JTokenWriter"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.Flush"> + <summary> + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.Close"> + <summary> + Closes this stream and the underlying stream. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartObject"> + <summary> + Writes the beginning of a JSON object. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartArray"> + <summary> + Writes the beginning of a JSON array. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteStartConstructor(System.String)"> + <summary> + Writes the start of a constructor with the given name. + </summary> + <param name="name">The name of the constructor.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteEnd(Newtonsoft.Json.JsonToken)"> + <summary> + Writes the end. + </summary> + <param name="token">The token.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WritePropertyName(System.String)"> + <summary> + Writes the property name of a name/value pair on a JSON object. + </summary> + <param name="name">The name of the property.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Object)"> + <summary> + Writes a <see cref="T:System.Object"/> value. + An error will raised if the value cannot be written as a single JSON token. + </summary> + <param name="value">The <see cref="T:System.Object"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteNull"> + <summary> + Writes a null value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteUndefined"> + <summary> + Writes an undefined value. + </summary> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteRaw(System.String)"> + <summary> + Writes raw JSON. + </summary> + <param name="json">The raw JSON to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteComment(System.String)"> + <summary> + Writes out a comment <code>/*...*/</code> containing the specified text. + </summary> + <param name="text">Text to place inside the comment.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.String)"> + <summary> + Writes a <see cref="T:System.String"/> value. + </summary> + <param name="value">The <see cref="T:System.String"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int32)"> + <summary> + Writes a <see cref="T:System.Int32"/> value. + </summary> + <param name="value">The <see cref="T:System.Int32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt32)"> + <summary> + Writes a <see cref="T:System.UInt32"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt32"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int64)"> + <summary> + Writes a <see cref="T:System.Int64"/> value. + </summary> + <param name="value">The <see cref="T:System.Int64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt64)"> + <summary> + Writes a <see cref="T:System.UInt64"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt64"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Single)"> + <summary> + Writes a <see cref="T:System.Single"/> value. + </summary> + <param name="value">The <see cref="T:System.Single"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Double)"> + <summary> + Writes a <see cref="T:System.Double"/> value. + </summary> + <param name="value">The <see cref="T:System.Double"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Boolean)"> + <summary> + Writes a <see cref="T:System.Boolean"/> value. + </summary> + <param name="value">The <see cref="T:System.Boolean"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Int16)"> + <summary> + Writes a <see cref="T:System.Int16"/> value. + </summary> + <param name="value">The <see cref="T:System.Int16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.UInt16)"> + <summary> + Writes a <see cref="T:System.UInt16"/> value. + </summary> + <param name="value">The <see cref="T:System.UInt16"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Char)"> + <summary> + Writes a <see cref="T:System.Char"/> value. + </summary> + <param name="value">The <see cref="T:System.Char"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte)"> + <summary> + Writes a <see cref="T:System.Byte"/> value. + </summary> + <param name="value">The <see cref="T:System.Byte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.SByte)"> + <summary> + Writes a <see cref="T:System.SByte"/> value. + </summary> + <param name="value">The <see cref="T:System.SByte"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Decimal)"> + <summary> + Writes a <see cref="T:System.Decimal"/> value. + </summary> + <param name="value">The <see cref="T:System.Decimal"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTime)"> + <summary> + Writes a <see cref="T:System.DateTime"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTime"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.DateTimeOffset)"> + <summary> + Writes a <see cref="T:System.DateTimeOffset"/> value. + </summary> + <param name="value">The <see cref="T:System.DateTimeOffset"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Byte[])"> + <summary> + Writes a <see cref="T:System.Byte"/>[] value. + </summary> + <param name="value">The <see cref="T:System.Byte"/>[] value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.TimeSpan)"> + <summary> + Writes a <see cref="T:System.TimeSpan"/> value. + </summary> + <param name="value">The <see cref="T:System.TimeSpan"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Guid)"> + <summary> + Writes a <see cref="T:System.Guid"/> value. + </summary> + <param name="value">The <see cref="T:System.Guid"/> value to write.</param> + </member> + <member name="M:Newtonsoft.Json.Linq.JTokenWriter.WriteValue(System.Uri)"> + <summary> + Writes a <see cref="T:System.Uri"/> value. + </summary> + <param name="value">The <see cref="T:System.Uri"/> value to write.</param> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenWriter.CurrentToken"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Linq.JToken"/> at the writer's current position. + </summary> + </member> + <member name="P:Newtonsoft.Json.Linq.JTokenWriter.Token"> + <summary> + Gets the token being writen. + </summary> + <value>The token being writen.</value> + </member> + <member name="T:Newtonsoft.Json.Linq.MergeArrayHandling"> + <summary> + Specifies how JSON arrays are merged together. + </summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Concat"> + <summary>Concatenate arrays.</summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Union"> + <summary>Union arrays, skipping items that already exist.</summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Replace"> + <summary>Replace all array items.</summary> + </member> + <member name="F:Newtonsoft.Json.Linq.MergeArrayHandling.Merge"> + <summary>Merge array items together, matched by index.</summary> + </member> + <member name="T:Newtonsoft.Json.MemberSerialization"> + <summary> + Specifies the member serialization options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MemberSerialization.OptOut"> + <summary> + All public members are serialized by default. Members can be excluded using <see cref="T:Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>. + This is the default member serialization mode. + </summary> + </member> + <member name="F:Newtonsoft.Json.MemberSerialization.OptIn"> + <summary> + Only members must be marked with <see cref="T:Newtonsoft.Json.JsonPropertyAttribute"/> or <see cref="T:System.Runtime.Serialization.DataMemberAttribute"/> are serialized. + This member serialization mode can also be set by marking the class with <see cref="T:System.Runtime.Serialization.DataContractAttribute"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MemberSerialization.Fields"> + <summary> + All public and private fields are serialized. Members can be excluded using <see cref="T:Newtonsoft.Json.JsonIgnoreAttribute"/> or <see cref="T:System.NonSerializedAttribute"/>. + This member serialization mode can also be set by marking the class with <see cref="T:System.SerializableAttribute"/> + and setting IgnoreSerializableAttribute on <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> to false. + </summary> + </member> + <member name="T:Newtonsoft.Json.MetadataPropertyHandling"> + <summary> + Specifies metadata property handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MetadataPropertyHandling.Default"> + <summary> + Read metadata properties located at the start of a JSON object. + </summary> + </member> + <member name="F:Newtonsoft.Json.MetadataPropertyHandling.ReadAhead"> + <summary> + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + </summary> + </member> + <member name="F:Newtonsoft.Json.MetadataPropertyHandling.Ignore"> + <summary> + Do not try to read metadata properties. + </summary> + </member> + <member name="T:Newtonsoft.Json.MissingMemberHandling"> + <summary> + Specifies missing member handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.MissingMemberHandling.Ignore"> + <summary> + Ignore a missing member and do not attempt to deserialize it. + </summary> + </member> + <member name="F:Newtonsoft.Json.MissingMemberHandling.Error"> + <summary> + Throw a <see cref="T:Newtonsoft.Json.JsonSerializationException"/> when a missing member is encountered during deserialization. + </summary> + </member> + <member name="T:Newtonsoft.Json.NullValueHandling"> + <summary> + Specifies null value handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingObject" title="NullValueHandling Class"/> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeNullValueHandlingExample" title="NullValueHandling Ignore Example"/> + </example> + </member> + <member name="F:Newtonsoft.Json.NullValueHandling.Include"> + <summary> + Include null values when serializing and deserializing objects. + </summary> + </member> + <member name="F:Newtonsoft.Json.NullValueHandling.Ignore"> + <summary> + Ignore null values when serializing and deserializing objects. + </summary> + </member> + <member name="T:Newtonsoft.Json.ObjectCreationHandling"> + <summary> + Specifies how object creation is handled by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.ObjectCreationHandling.Auto"> + <summary> + Reuse existing objects, create new objects when needed. + </summary> + </member> + <member name="F:Newtonsoft.Json.ObjectCreationHandling.Reuse"> + <summary> + Only reuse existing objects. + </summary> + </member> + <member name="F:Newtonsoft.Json.ObjectCreationHandling.Replace"> + <summary> + Always create new objects. + </summary> + </member> + <member name="T:Newtonsoft.Json.PreserveReferencesHandling"> + <summary> + Specifies reference handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="PreservingObjectReferencesOn" title="Preserve Object References"/> + </example> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.None"> + <summary> + Do not preserve references when serializing types. + </summary> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.Objects"> + <summary> + Preserve references when serializing into a JSON object structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.Arrays"> + <summary> + Preserve references when serializing into a JSON array structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.PreserveReferencesHandling.All"> + <summary> + Preserve references when serializing. + </summary> + </member> + <member name="T:Newtonsoft.Json.ReferenceLoopHandling"> + <summary> + Specifies reference loop handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Error"> + <summary> + Throw a <see cref="T:Newtonsoft.Json.JsonSerializationException"/> when a loop is encountered. + </summary> + </member> + <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Ignore"> + <summary> + Ignore loop references and do not serialize. + </summary> + </member> + <member name="F:Newtonsoft.Json.ReferenceLoopHandling.Serialize"> + <summary> + Serialize loop references. + </summary> + </member> + <member name="T:Newtonsoft.Json.Required"> + <summary> + Indicating whether a property is required. + </summary> + </member> + <member name="F:Newtonsoft.Json.Required.Default"> + <summary> + The property is not required. The default state. + </summary> + </member> + <member name="F:Newtonsoft.Json.Required.AllowNull"> + <summary> + The property must be defined in JSON but can be a null value. + </summary> + </member> + <member name="F:Newtonsoft.Json.Required.Always"> + <summary> + The property must be defined in JSON and cannot be a null value. + </summary> + </member> + <member name="T:Newtonsoft.Json.Schema.Extensions"> + <summary> + <para> + Contains the JSON schema extension methods. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)"> + <summary> + <para> + Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + <returns> + <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.IsValid(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,System.Collections.Generic.IList{System.String}@)"> + <summary> + <para> + Determines whether the <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + <param name="errorMessages">When this method returns, contains any error messages generated while validating. </param> + <returns> + <c>true</c> if the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/> is valid; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema)"> + <summary> + <para> + Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.Extensions.Validate(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Schema.JsonSchema,Newtonsoft.Json.Schema.ValidationEventHandler)"> + <summary> + <para> + Validates the specified <see cref="T:Newtonsoft.Json.Linq.JToken"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + <param name="source">The source <see cref="T:Newtonsoft.Json.Linq.JToken"/> to test.</param> + <param name="schema">The schema to test with.</param> + <param name="validationEventHandler">The validation event handler.</param> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchema"> + <summary> + <para> + An in-memory representation of a JSON Schema. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Read(Newtonsoft.Json.JsonReader)"> + <summary> + Reads a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param> + <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Read(Newtonsoft.Json.JsonReader,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Reads a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified <see cref="T:Newtonsoft.Json.JsonReader"/>. + </summary> + <param name="reader">The <see cref="T:Newtonsoft.Json.JsonReader"/> containing the JSON Schema to read.</param> + <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> to use when resolving schema references.</param> + <returns>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> object representing the JSON Schema.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Parse(System.String)"> + <summary> + Load a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a string that contains schema JSON. + </summary> + <param name="json">A <see cref="T:System.String"/> that contains JSON.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.Parse(System.String,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Parses the specified json. + </summary> + <param name="json">The json.</param> + <param name="resolver">The resolver.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> populated from the string that contains JSON.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.WriteTo(Newtonsoft.Json.JsonWriter)"> + <summary> + Writes this schema to a <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.WriteTo(Newtonsoft.Json.JsonWriter,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Writes this schema to a <see cref="T:Newtonsoft.Json.JsonWriter"/> using the specified <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/>. + </summary> + <param name="writer">A <see cref="T:Newtonsoft.Json.JsonWriter"/> into which this method will write.</param> + <param name="resolver">The resolver used.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchema.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>. + </summary> + <returns> + A <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>. + </returns> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Id"> + <summary> + Gets or sets the id. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Title"> + <summary> + Gets or sets the title. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Required"> + <summary> + Gets or sets whether the object is required. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.ReadOnly"> + <summary> + Gets or sets whether the object is read only. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Hidden"> + <summary> + Gets or sets whether the object is visible to users. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Transient"> + <summary> + Gets or sets whether the object is transient. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Description"> + <summary> + Gets or sets the description of the object. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Type"> + <summary> + Gets or sets the types of values allowed by the object. + </summary> + <value>The type.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Pattern"> + <summary> + Gets or sets the pattern. + </summary> + <value>The pattern.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MinimumLength"> + <summary> + Gets or sets the minimum length. + </summary> + <value>The minimum length.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MaximumLength"> + <summary> + Gets or sets the maximum length. + </summary> + <value>The maximum length.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.DivisibleBy"> + <summary> + Gets or sets a number that the value should be divisble by. + </summary> + <value>A number that the value should be divisble by.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Minimum"> + <summary> + Gets or sets the minimum. + </summary> + <value>The minimum.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Maximum"> + <summary> + Gets or sets the maximum. + </summary> + <value>The maximum.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.ExclusiveMinimum"> + <summary> + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + </summary> + <value>A flag indicating whether the value can not equal the number defined by the "minimum" attribute.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.ExclusiveMaximum"> + <summary> + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + </summary> + <value>A flag indicating whether the value can not equal the number defined by the "maximum" attribute.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MinimumItems"> + <summary> + Gets or sets the minimum number of items. + </summary> + <value>The minimum number of items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.MaximumItems"> + <summary> + Gets or sets the maximum number of items. + </summary> + <value>The maximum number of items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Items"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of items. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.PositionalItemsValidation"> + <summary> + Gets or sets a value indicating whether items in an array are validated using the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> instance at their array position from <see cref="P:Newtonsoft.Json.Schema.JsonSchema.Items"/>. + </summary> + <value> + <c>true</c> if items are validated using their array position; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AdditionalItems"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional items. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional items.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalItems"> + <summary> + Gets or sets a value indicating whether additional items are allowed. + </summary> + <value> + <c>true</c> if additional items are allowed; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.UniqueItems"> + <summary> + Gets or sets whether the array items must be unique. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Properties"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of properties. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of properties.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AdditionalProperties"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional properties. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> of additional properties.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.PatternProperties"> + <summary> + Gets or sets the pattern properties. + </summary> + <value>The pattern properties.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.AllowAdditionalProperties"> + <summary> + Gets or sets a value indicating whether additional properties are allowed. + </summary> + <value> + <c>true</c> if additional properties are allowed; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Requires"> + <summary> + Gets or sets the required property if this property is present. + </summary> + <value>The required property if this property is present.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Enum"> + <summary> + Gets or sets the a collection of valid enum values allowed. + </summary> + <value>A collection of valid enum values allowed.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Disallow"> + <summary> + Gets or sets disallowed types. + </summary> + <value>The disallow types.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Default"> + <summary> + Gets or sets the default value. + </summary> + <value>The default value.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Extends"> + <summary> + Gets or sets the collection of <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends. + </summary> + <value>The collection of <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> that this schema extends.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchema.Format"> + <summary> + Gets or sets the format. + </summary> + <value>The format.</value> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaException"> + <summary> + <para> + Returns detailed information about the schema exception. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class + with a specified error message. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.String,System.Exception)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class + with a specified error message and a reference to the inner exception that is the cause of this exception. + </summary> + <param name="message">The error message that explains the reason for the exception.</param> + <param name="innerException">The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.</param> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> class. + </summary> + <param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data about the exception being thrown.</param> + <param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext"/> that contains contextual information about the source or destination.</param> + <exception cref="T:System.ArgumentNullException">The <paramref name="info"/> parameter is null. </exception> + <exception cref="T:System.Runtime.Serialization.SerializationException">The class name is null or <see cref="P:System.Exception.HResult"/> is zero (0). </exception> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.LineNumber"> + <summary> + Gets the line number indicating where the error occurred. + </summary> + <value>The line number indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.LinePosition"> + <summary> + Gets the line position indicating where the error occurred. + </summary> + <value>The line position indicating where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaException.Path"> + <summary> + Gets the path to the JSON where the error occurred. + </summary> + <value>The path to the JSON where the error occurred.</value> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaGenerator"> + <summary> + <para> + Generates a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from a specified <see cref="T:System.Type"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,Newtonsoft.Json.Schema.JsonSchemaResolver)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,System.Boolean)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaGenerator.Generate(System.Type,Newtonsoft.Json.Schema.JsonSchemaResolver,System.Boolean)"> + <summary> + Generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from the specified type. + </summary> + <param name="type">The type to generate a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from.</param> + <param name="resolver">The <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> used to resolve schema references.</param> + <param name="rootSchemaNullable">Specify whether the generated root <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> will be nullable.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> generated from the specified type.</returns> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaGenerator.UndefinedSchemaIdHandling"> + <summary> + Gets or sets how undefined schemas are handled by the serializer. + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaGenerator.ContractResolver"> + <summary> + Gets or sets the contract resolver. + </summary> + <value>The contract resolver.</value> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaResolver"> + <summary> + <para> + Resolves <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> from an id. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaResolver.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaResolver"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Schema.JsonSchemaResolver.GetSchema(System.String)"> + <summary> + Gets a <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference. + </summary> + <param name="reference">The id.</param> + <returns>A <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/> for the specified reference.</returns> + </member> + <member name="P:Newtonsoft.Json.Schema.JsonSchemaResolver.LoadedSchemas"> + <summary> + Gets or sets the loaded schemas. + </summary> + <value>The loaded schemas.</value> + </member> + <member name="T:Newtonsoft.Json.Schema.JsonSchemaType"> + <summary> + <para> + The value types allowed by the <see cref="T:Newtonsoft.Json.Schema.JsonSchema"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.None"> + <summary> + No type specified. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.String"> + <summary> + String type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Float"> + <summary> + Float type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Integer"> + <summary> + Integer type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Boolean"> + <summary> + Boolean type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Object"> + <summary> + Object type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Array"> + <summary> + Array type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Null"> + <summary> + Null type. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.JsonSchemaType.Any"> + <summary> + Any type. + </summary> + </member> + <member name="T:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling"> + <summary> + <para> + Specifies undefined schema Id handling options for the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaGenerator"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.None"> + <summary> + Do not infer a schema Id. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseTypeName"> + <summary> + Use the .NET type name as the schema Id. + </summary> + </member> + <member name="F:Newtonsoft.Json.Schema.UndefinedSchemaIdHandling.UseAssemblyQualifiedName"> + <summary> + Use the assembly qualified .NET type name as the schema Id. + </summary> + </member> + <member name="T:Newtonsoft.Json.Schema.ValidationEventArgs"> + <summary> + <para> + Returns detailed information related to the <see cref="T:Newtonsoft.Json.Schema.ValidationEventHandler"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Exception"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Schema.JsonSchemaException"/> associated with the validation error. + </summary> + <value>The JsonSchemaException associated with the validation error.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Path"> + <summary> + Gets the path of the JSON location where the validation error occurred. + </summary> + <value>The path of the JSON location where the validation error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Schema.ValidationEventArgs.Message"> + <summary> + Gets the text description corresponding to the validation error. + </summary> + <value>The text description.</value> + </member> + <member name="T:Newtonsoft.Json.Schema.ValidationEventHandler"> + <summary> + <para> + Represents the callback method that will handle JSON schema validation events and the <see cref="T:Newtonsoft.Json.Schema.ValidationEventArgs"/>. + </para> + <note type="caution"> + JSON Schema validation has been moved to its own package. See <see href="http://www.newtonsoft.com/jsonschema">http://www.newtonsoft.com/jsonschema</see> for more details. + </note> + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver"> + <summary> + Resolves member mappings for a type, camel casing property names. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.DefaultContractResolver"> + <summary> + Used by <see cref="T:Newtonsoft.Json.JsonSerializer"/> to resolves a <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.IContractResolver"> + <summary> + Used by <see cref="T:Newtonsoft.Json.JsonSerializer"/> to resolves a <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for a given <see cref="T:System.Type"/>. + </summary> + <example> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverObject" title="IContractResolver Class"/> + <code lang="cs" source="..\Src\Newtonsoft.Json.Tests\Documentation\SerializationTests.cs" region="ReducingSerializedJsonSizeContractResolverExample" title="IContractResolver Example"/> + </example> + </member> + <member name="M:Newtonsoft.Json.Serialization.IContractResolver.ResolveContract(System.Type)"> + <summary> + Resolves the contract for a given type. + </summary> + <param name="type">The type to resolve a contract for.</param> + <returns>The contract for a given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.#ctor(System.Boolean)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> class. + </summary> + <param name="shareCache"> + If set to <c>true</c> the <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly improve performance with multiple resolver instances because expensive reflection will only + happen once. This setting can cause unexpected behavior if different instances of the resolver are suppose to produce different + results. When set to false it is highly recommended to reuse <see cref="T:Newtonsoft.Json.Serialization.DefaultContractResolver"/> instances with the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </param> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContract(System.Type)"> + <summary> + Resolves the contract for a given type. + </summary> + <param name="type">The type to resolve a contract for.</param> + <returns>The contract for a given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.GetSerializableMembers(System.Type)"> + <summary> + Gets the serializable members for the type. + </summary> + <param name="objectType">The type to get serializable members for.</param> + <returns>The serializable members for the type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateObjectContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateConstructorParameters(System.Reflection.ConstructorInfo,Newtonsoft.Json.Serialization.JsonPropertyCollection)"> + <summary> + Creates the constructor parameters. + </summary> + <param name="constructor">The constructor to create properties for.</param> + <param name="memberProperties">The type's member properties.</param> + <returns>Properties for the given <see cref="T:System.Reflection.ConstructorInfo"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePropertyFromConstructorParameter(Newtonsoft.Json.Serialization.JsonProperty,System.Reflection.ParameterInfo)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>. + </summary> + <param name="matchingMemberProperty">The matching member property.</param> + <param name="parameterInfo">The constructor parameter.</param> + <returns>A created <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.ParameterInfo"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveContractConverter(System.Type)"> + <summary> + Resolves the default <see cref="T:Newtonsoft.Json.JsonConverter"/> for the contract. + </summary> + <param name="objectType">Type of the object.</param> + <returns>The contract's default <see cref="T:Newtonsoft.Json.JsonConverter"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDictionaryContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateArrayContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreatePrimitiveContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateLinqContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateISerializableContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateDynamicContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateStringContract(System.Type)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract(System.Type)"> + <summary> + Determines which contract type is created for the given type. + </summary> + <param name="objectType">Type of the object.</param> + <returns>A <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/> for the given type.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperties(System.Type,Newtonsoft.Json.MemberSerialization)"> + <summary> + Creates properties for the given <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/>. + </summary> + <param name="type">The type to create properties for.</param> + /// <param name="memberSerialization">The member serialization mode for the type.</param> + <returns>Properties for the given <see cref="T:Newtonsoft.Json.Serialization.JsonContract"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateMemberValueProvider(System.Reflection.MemberInfo)"> + <summary> + Creates the <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member. + </summary> + <param name="member">The member.</param> + <returns>The <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> used by the serializer to get and set values from a member.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.CreateProperty(System.Reflection.MemberInfo,Newtonsoft.Json.MemberSerialization)"> + <summary> + Creates a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>. + </summary> + <param name="memberSerialization">The member's parent <see cref="T:Newtonsoft.Json.MemberSerialization"/>.</param> + <param name="member">The member to create a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for.</param> + <returns>A created <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> for the given <see cref="T:System.Reflection.MemberInfo"/>.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)"> + <summary> + Resolves the name of the property. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>Resolved name of the property.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolveDictionaryKey(System.String)"> + <summary> + Resolves the key of the dictionary. By default <see cref="M:Newtonsoft.Json.Serialization.DefaultContractResolver.ResolvePropertyName(System.String)"/> is used to resolve dictionary keys. + </summary> + <param name="dictionaryKey">Key of the dictionary.</param> + <returns>Resolved key of the dictionary.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultContractResolver.GetResolvedPropertyName(System.String)"> + <summary> + Gets the resolved name of the property. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>Name of the property.</returns> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.DynamicCodeGeneration"> + <summary> + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + </summary> + <value> + <c>true</c> if using dynamic code generation; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.DefaultMembersSearchFlags"> + <summary> + Gets or sets the default members search flags. + </summary> + <value>The default members search flags.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.SerializeCompilerGeneratedMembers"> + <summary> + Gets or sets a value indicating whether compiler generated members should be serialized. + </summary> + <value> + <c>true</c> if serialized compiler generated members; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableInterface"> + <summary> + Gets or sets a value indicating whether to ignore the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface when serializing and deserializing types. + </summary> + <value> + <c>true</c> if the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface will be ignored when serializing and deserializing types; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.DefaultContractResolver.IgnoreSerializableAttribute"> + <summary> + Gets or sets a value indicating whether to ignore the <see cref="T:System.SerializableAttribute"/> attribute when serializing and deserializing types. + </summary> + <value> + <c>true</c> if the <see cref="T:System.SerializableAttribute"/> attribute will be ignored when serializing and deserializing types; otherwise, <c>false</c>. + </value> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver.ResolvePropertyName(System.String)"> + <summary> + Resolves the name of the property. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>The property name camel cased.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.IReferenceResolver"> + <summary> + Used to resolve references when serializing and deserializing JSON by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.ResolveReference(System.Object,System.String)"> + <summary> + Resolves a reference to its object. + </summary> + <param name="context">The serialization context.</param> + <param name="reference">The reference to resolve.</param> + <returns>The object that</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.GetReference(System.Object,System.Object)"> + <summary> + Gets the reference for the sepecified object. + </summary> + <param name="context">The serialization context.</param> + <param name="value">The object to get a reference for.</param> + <returns>The reference to the object.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.IsReferenced(System.Object,System.Object)"> + <summary> + Determines whether the specified object is referenced. + </summary> + <param name="context">The serialization context.</param> + <param name="value">The object to test for a reference.</param> + <returns> + <c>true</c> if the specified object is referenced; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IReferenceResolver.AddReference(System.Object,System.String,System.Object)"> + <summary> + Adds a reference to the specified object. + </summary> + <param name="context">The serialization context.</param> + <param name="reference">The reference.</param> + <param name="value">The object to reference.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.DefaultSerializationBinder"> + <summary> + The default serialization binder used when resolving and loading classes from type names. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToType(System.String,System.String)"> + <summary> + When overridden in a derived class, controls the binding of a serialized object to a type. + </summary> + <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object.</param> + <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object.</param> + <returns> + The type of the object the formatter creates a new instance of. + </returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DefaultSerializationBinder.BindToName(System.Type,System.String@,System.String@)"> + <summary> + When overridden in a derived class, controls the binding of a serialized object to a type. + </summary> + <param name="serializedType">The type of the object the formatter creates a new instance of.</param> + <param name="assemblyName">Specifies the <see cref="T:System.Reflection.Assembly"/> name of the serialized object. </param> + <param name="typeName">Specifies the <see cref="T:System.Type"/> name of the serialized object. </param> + </member> + <member name="T:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter"> + <summary> + Represents a trace writer that writes to the application's <see cref="T:System.Diagnostics.TraceListener"/> instances. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.ITraceWriter"> + <summary> + Represents a trace writer. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ITraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)"> + <summary> + Writes the specified trace level, message and optional exception. + </summary> + <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param> + <param name="message">The trace message.</param> + <param name="ex">The trace exception. This parameter is optional.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.ITraceWriter.LevelFilter"> + <summary> + Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + For example a filter level of <code>Info</code> will exclude <code>Verbose</code> messages and include <code>Info</code>, + <code>Warning</code> and <code>Error</code> messages. + </summary> + <value>The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)"> + <summary> + Writes the specified trace level, message and optional exception. + </summary> + <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param> + <param name="message">The trace message.</param> + <param name="ex">The trace exception. This parameter is optional.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.DiagnosticsTraceWriter.LevelFilter"> + <summary> + Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + For example a filter level of <code>Info</code> will exclude <code>Verbose</code> messages and include <code>Info</code>, + <code>Warning</code> and <code>Error</code> messages. + </summary> + <value> + The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + </value> + </member> + <member name="T:Newtonsoft.Json.Serialization.DynamicValueProvider"> + <summary> + Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using dynamic methods. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.IValueProvider"> + <summary> + Provides methods to get and set values. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.IValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.IValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.#ctor(System.Reflection.MemberInfo)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.DynamicValueProvider"/> class. + </summary> + <param name="memberInfo">The member info.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.ErrorContext"> + <summary> + Provides information surrounding an error. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Error"> + <summary> + Gets the error. + </summary> + <value>The error.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.OriginalObject"> + <summary> + Gets the original object that caused the error. + </summary> + <value>The original object that caused the error.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Member"> + <summary> + Gets the member that caused the error. + </summary> + <value>The member that caused the error.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Path"> + <summary> + Gets the path of the JSON location where the error occurred. + </summary> + <value>The path of the JSON location where the error occurred.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorContext.Handled"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.ErrorContext"/> is handled. + </summary> + <value><c>true</c> if handled; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.ErrorEventArgs"> + <summary> + Provides data for the Error event. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ErrorEventArgs.#ctor(System.Object,Newtonsoft.Json.Serialization.ErrorContext)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ErrorEventArgs"/> class. + </summary> + <param name="currentObject">The current object.</param> + <param name="errorContext">The error context.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorEventArgs.CurrentObject"> + <summary> + Gets the current object the error event is being raised against. + </summary> + <value>The current object the error event is being raised against.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.ErrorEventArgs.ErrorContext"> + <summary> + Gets the error context. + </summary> + <value>The error context.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.ExpressionValueProvider"> + <summary> + Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using dynamic methods. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.#ctor(System.Reflection.MemberInfo)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ExpressionValueProvider"/> class. + </summary> + <param name="memberInfo">The member info.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.IAttributeProvider"> + <summary> + Provides methods to get attributes. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Boolean)"> + <summary> + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + </summary> + <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.IAttributeProvider.GetAttributes(System.Type,System.Boolean)"> + <summary> + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + </summary> + <param name="attributeType">The type of the attributes.</param> + <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonArrayContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonContainerContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.UnderlyingType"> + <summary> + Gets the underlying type for the contract. + </summary> + <value>The underlying type for the contract.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.CreatedType"> + <summary> + Gets or sets the type created during deserialization. + </summary> + <value>The type created during deserialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.IsReference"> + <summary> + Gets or sets whether this type contract is serialized as a reference. + </summary> + <value>Whether this type contract is serialized as a reference.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.Converter"> + <summary> + Gets or sets the default <see cref="T:Newtonsoft.Json.JsonConverter"/> for this contract. + </summary> + <value>The converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializedCallbacks"> + <summary> + Gets or sets all methods called immediately after deserialization of the object. + </summary> + <value>The methods called immediately after deserialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializingCallbacks"> + <summary> + Gets or sets all methods called during deserialization of the object. + </summary> + <value>The methods called during deserialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializedCallbacks"> + <summary> + Gets or sets all methods called after serialization of the object graph. + </summary> + <value>The methods called after serialization of the object graph.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializingCallbacks"> + <summary> + Gets or sets all methods called before serialization of the object. + </summary> + <value>The methods called before serialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnErrorCallbacks"> + <summary> + Gets or sets all method called when an error is thrown during the serialization of the object. + </summary> + <value>The methods called when an error is thrown during the serialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserialized"> + <summary> + Gets or sets the method called immediately after deserialization of the object. + </summary> + <value>The method called immediately after deserialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnDeserializing"> + <summary> + Gets or sets the method called during deserialization of the object. + </summary> + <value>The method called during deserialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerialized"> + <summary> + Gets or sets the method called after serialization of the object graph. + </summary> + <value>The method called after serialization of the object graph.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnSerializing"> + <summary> + Gets or sets the method called before serialization of the object. + </summary> + <value>The method called before serialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.OnError"> + <summary> + Gets or sets the method called when an error is thrown during the serialization of the object. + </summary> + <value>The method called when an error is thrown during the serialization of the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"> + <summary> + Gets or sets the default creator method used to create the object. + </summary> + <value>The default creator method used to create the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreatorNonPublic"> + <summary> + Gets or sets a value indicating whether the default creator is non public. + </summary> + <value><c>true</c> if the default object creator is non-public; otherwise, <c>false</c>.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonContainerContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonContainerContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemConverter"> + <summary> + Gets or sets the default collection items <see cref="T:Newtonsoft.Json.JsonConverter"/>. + </summary> + <value>The converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemIsReference"> + <summary> + Gets or sets a value indicating whether the collection items preserve object references. + </summary> + <value><c>true</c> if collection items preserve object references; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemReferenceLoopHandling"> + <summary> + Gets or sets the collection item reference loop handling. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonContainerContract.ItemTypeNameHandling"> + <summary> + Gets or sets the collection item type name handling. + </summary> + <value>The type name handling.</value> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonArrayContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonArrayContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.CollectionItemType"> + <summary> + Gets the <see cref="T:System.Type"/> of the collection items. + </summary> + <value>The <see cref="T:System.Type"/> of the collection items.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonArrayContract.IsMultidimensionalArray"> + <summary> + Gets a value indicating whether the collection type is a multidimensional array. + </summary> + <value><c>true</c> if the collection type is a multidimensional array; otherwise, <c>false</c>.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.SerializationCallback"> + <summary> + Handles <see cref="T:Newtonsoft.Json.JsonSerializer"/> serialization callback events. + </summary> + <param name="o">The object that raised the callback event.</param> + <param name="context">The streaming context.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.SerializationErrorCallback"> + <summary> + Handles <see cref="T:Newtonsoft.Json.JsonSerializer"/> serialization error callback events. + </summary> + <param name="o">The object that raised the callback event.</param> + <param name="context">The streaming context.</param> + <param name="errorContext">The error context.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.ExtensionDataSetter"> + <summary> + Sets extension data for an object during deserialization. + </summary> + <param name="o">The object to set extension data on.</param> + <param name="key">The extension data key.</param> + <param name="value">The extension data value.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.ExtensionDataGetter"> + <summary> + Gets extension data for an object during serialization. + </summary> + <param name="o">The object to set extension data on.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonDictionaryContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonDictionaryContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.PropertyNameResolver"> + <summary> + Gets or sets the property name resolver. + </summary> + <value>The property name resolver.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyResolver"> + <summary> + Gets or sets the dictionary key resolver. + </summary> + <value>The dictionary key resolver.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryKeyType"> + <summary> + Gets the <see cref="T:System.Type"/> of the dictionary keys. + </summary> + <value>The <see cref="T:System.Type"/> of the dictionary keys.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDictionaryContract.DictionaryValueType"> + <summary> + Gets the <see cref="T:System.Type"/> of the dictionary values. + </summary> + <value>The <see cref="T:System.Type"/> of the dictionary values.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonDynamicContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonDynamicContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonDynamicContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDynamicContract.Properties"> + <summary> + Gets the object's properties. + </summary> + <value>The object's properties.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonDynamicContract.PropertyNameResolver"> + <summary> + Gets or sets the property name resolver. + </summary> + <value>The property name resolver.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonISerializableContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonISerializableContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonISerializableContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonISerializableContract.ISerializableCreator"> + <summary> + Gets or sets the ISerializable object constructor. + </summary> + <value>The ISerializable object constructor.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonLinqContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonLinqContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonLinqContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonObjectContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonObjectContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonObjectContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.MemberSerialization"> + <summary> + Gets or sets the object member serialization. + </summary> + <value>The member object serialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ItemRequired"> + <summary> + Gets or sets a value that indicates whether the object's properties are required. + </summary> + <value> + A value indicating whether the object's properties are required. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.Properties"> + <summary> + Gets the object's properties. + </summary> + <value>The object's properties.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ConstructorParameters"> + <summary> + Gets the constructor parameters required for any non-default constructor + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters"> + <summary> + Gets a collection of <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> instances that define the parameters used with <see cref="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator"/>. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideConstructor"> + <summary> + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + </summary> + <value>The override constructor.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ParametrizedConstructor"> + <summary> + Gets or sets the parametrized constructor used to create the object. + </summary> + <value>The parametrized constructor.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.OverrideCreator"> + <summary> + Gets or sets the function used to create the object. When set this function will override <see cref="P:Newtonsoft.Json.Serialization.JsonContract.DefaultCreator"/>. + This function is called with a collection of arguments which are defined by the <see cref="P:Newtonsoft.Json.Serialization.JsonObjectContract.CreatorParameters"/> collection. + </summary> + <value>The function used to create the object.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataSetter"> + <summary> + Gets or sets the extension data setter. + </summary> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonObjectContract.ExtensionDataGetter"> + <summary> + Gets or sets the extension data getter. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPrimitiveContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonPrimitiveContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonProperty"> + <summary> + Maps a JSON property to a .NET member or constructor parameter. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonProperty.ToString"> + <summary> + Returns a <see cref="T:System.String"/> that represents this instance. + </summary> + <returns> + A <see cref="T:System.String"/> that represents this instance. + </returns> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.PropertyName"> + <summary> + Gets or sets the name of the property. + </summary> + <value>The name of the property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DeclaringType"> + <summary> + Gets or sets the type that declared this property. + </summary> + <value>The type that declared this property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Order"> + <summary> + Gets or sets the order of serialization and deserialization of a member. + </summary> + <value>The numeric order of serialization or deserialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.UnderlyingName"> + <summary> + Gets or sets the name of the underlying member or parameter. + </summary> + <value>The name of the underlying member or parameter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ValueProvider"> + <summary> + Gets the <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> during serialization. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Serialization.IValueProvider"/> that will get and set the <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> during serialization.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.AttributeProvider"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property. + </summary> + <value>The <see cref="T:Newtonsoft.Json.Serialization.IAttributeProvider"/> for this property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.PropertyType"> + <summary> + Gets or sets the type of the property. + </summary> + <value>The type of the property.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Converter"> + <summary> + Gets or sets the <see cref="T:Newtonsoft.Json.JsonConverter"/> for the property. + If set this converter takes presidence over the contract converter for the property type. + </summary> + <value>The converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.MemberConverter"> + <summary> + Gets or sets the member converter. + </summary> + <value>The member converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Ignored"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is ignored. + </summary> + <value><c>true</c> if ignored; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Readable"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is readable. + </summary> + <value><c>true</c> if readable; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Writable"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is writable. + </summary> + <value><c>true</c> if writable; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.HasMemberAttribute"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> has a member attribute. + </summary> + <value><c>true</c> if has a member attribute; otherwise, <c>false</c>.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DefaultValue"> + <summary> + Gets the default value. + </summary> + <value>The default value.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.Required"> + <summary> + Gets or sets a value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is required. + </summary> + <value>A value indicating whether this <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> is required.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.IsReference"> + <summary> + Gets or sets a value indicating whether this property preserves object references. + </summary> + <value> + <c>true</c> if this instance is reference; otherwise, <c>false</c>. + </value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.NullValueHandling"> + <summary> + Gets or sets the property null value handling. + </summary> + <value>The null value handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.DefaultValueHandling"> + <summary> + Gets or sets the property default value handling. + </summary> + <value>The default value handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ReferenceLoopHandling"> + <summary> + Gets or sets the property reference loop handling. + </summary> + <value>The reference loop handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ObjectCreationHandling"> + <summary> + Gets or sets the property object creation handling. + </summary> + <value>The object creation handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.TypeNameHandling"> + <summary> + Gets or sets or sets the type name handling. + </summary> + <value>The type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ShouldSerialize"> + <summary> + Gets or sets a predicate used to determine whether the property should be serialize. + </summary> + <value>A predicate used to determine whether the property should be serialize.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.GetIsSpecified"> + <summary> + Gets or sets a predicate used to determine whether the property should be serialized. + </summary> + <value>A predicate used to determine whether the property should be serialized.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.SetIsSpecified"> + <summary> + Gets or sets an action used to set whether the property has been deserialized. + </summary> + <value>An action used to set whether the property has been deserialized.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemConverter"> + <summary> + Gets or sets the converter used when serializing the property's collection items. + </summary> + <value>The collection's items converter.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemIsReference"> + <summary> + Gets or sets whether this property's collection items are serialized as a reference. + </summary> + <value>Whether this property's collection items are serialized as a reference.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemTypeNameHandling"> + <summary> + Gets or sets the the type name handling used when serializing the property's collection items. + </summary> + <value>The collection's items type name handling.</value> + </member> + <member name="P:Newtonsoft.Json.Serialization.JsonProperty.ItemReferenceLoopHandling"> + <summary> + Gets or sets the the reference loop handling used when serializing the property's collection items. + </summary> + <value>The collection's items reference loop handling.</value> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonPropertyCollection"> + <summary> + A collection of <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> objects. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonPropertyCollection"/> class. + </summary> + <param name="type">The type.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetKeyForItem(Newtonsoft.Json.Serialization.JsonProperty)"> + <summary> + When implemented in a derived class, extracts the key from the specified element. + </summary> + <param name="item">The element from which to extract the key.</param> + <returns>The key for the specified element.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.AddProperty(Newtonsoft.Json.Serialization.JsonProperty)"> + <summary> + Adds a <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> object. + </summary> + <param name="property">The property to add to the collection.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetClosestMatchProperty(System.String)"> + <summary> + Gets the closest matching <see cref="T:Newtonsoft.Json.Serialization.JsonProperty"/> object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + </summary> + <param name="propertyName">Name of the property.</param> + <returns>A matching property if found.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonPropertyCollection.GetProperty(System.String,System.StringComparison)"> + <summary> + Gets a property by property name. + </summary> + <param name="propertyName">The name of the property to get.</param> + <param name="comparisonType">Type property name string comparison.</param> + <returns>A matching property if found.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.JsonStringContract"> + <summary> + Contract details for a <see cref="T:System.Type"/> used by the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonStringContract.#ctor(System.Type)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.JsonStringContract"/> class. + </summary> + <param name="underlyingType">The underlying type for the contract.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonTypeReflector.CreateJsonConverterInstance(System.Type,System.Object[])"> + <summary> + Lookup and create an instance of the JsonConverter type described by the argument. + </summary> + <param name="converterType">The JsonConverter type to create.</param> + <param name="converterArgs">Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.JsonTypeReflector.GetJsonConverterCreator(System.Type)"> + <summary> + Create a factory function that can be used to create instances of a JsonConverter described by the + argument type. The returned function can then be used to either invoke the converter's default ctor, or any + parameterized constructors by way of an object array. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.MemoryTraceWriter"> + <summary> + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.MemoryTraceWriter"/> class. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.Trace(System.Diagnostics.TraceLevel,System.String,System.Exception)"> + <summary> + Writes the specified trace level, message and optional exception. + </summary> + <param name="level">The <see cref="T:System.Diagnostics.TraceLevel"/> at which to write this trace.</param> + <param name="message">The trace message.</param> + <param name="ex">The trace exception. This parameter is optional.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.GetTraceMessages"> + <summary> + Returns an enumeration of the most recent trace messages. + </summary> + <returns>An enumeration of the most recent trace messages.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.MemoryTraceWriter.ToString"> + <summary> + Returns a <see cref="T:System.String"/> of the most recent trace messages. + </summary> + <returns> + A <see cref="T:System.String"/> of the most recent trace messages. + </returns> + </member> + <member name="P:Newtonsoft.Json.Serialization.MemoryTraceWriter.LevelFilter"> + <summary> + Gets the <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + For example a filter level of <code>Info</code> will exclude <code>Verbose</code> messages and include <code>Info</code>, + <code>Warning</code> and <code>Error</code> messages. + </summary> + <value> + The <see cref="T:System.Diagnostics.TraceLevel"/> that will be used to filter the trace messages passed to the writer. + </value> + </member> + <member name="T:Newtonsoft.Json.Serialization.ObjectConstructor`1"> + <summary> + Represents a method that constructs an object. + </summary> + <typeparam name="T">The object type to create.</typeparam> + </member> + <member name="T:Newtonsoft.Json.Serialization.OnErrorAttribute"> + <summary> + When applied to a method, specifies that the method is called when an error occurs serializing an object. + </summary> + </member> + <member name="T:Newtonsoft.Json.Serialization.ReflectionAttributeProvider"> + <summary> + Provides methods to get attributes from a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.#ctor(System.Object)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ReflectionAttributeProvider"/> class. + </summary> + <param name="attributeProvider">The instance to get attributes for. This parameter should be a <see cref="T:System.Type"/>, <see cref="T:System.Reflection.MemberInfo"/>, <see cref="T:System.Reflection.ParameterInfo"/> or <see cref="T:System.Reflection.Assembly"/>.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Boolean)"> + <summary> + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + </summary> + <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionAttributeProvider.GetAttributes(System.Type,System.Boolean)"> + <summary> + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + </summary> + <param name="attributeType">The type of the attributes.</param> + <param name="inherit">When true, look up the hierarchy chain for the inherited custom attribute.</param> + <returns>A collection of <see cref="T:System.Attribute"/>s, or an empty collection.</returns> + </member> + <member name="T:Newtonsoft.Json.Serialization.ReflectionValueProvider"> + <summary> + Get and set values for a <see cref="T:System.Reflection.MemberInfo"/> using reflection. + </summary> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.#ctor(System.Reflection.MemberInfo)"> + <summary> + Initializes a new instance of the <see cref="T:Newtonsoft.Json.Serialization.ReflectionValueProvider"/> class. + </summary> + <param name="memberInfo">The member info.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.SetValue(System.Object,System.Object)"> + <summary> + Sets the value. + </summary> + <param name="target">The target to set the value on.</param> + <param name="value">The value to set on the target.</param> + </member> + <member name="M:Newtonsoft.Json.Serialization.ReflectionValueProvider.GetValue(System.Object)"> + <summary> + Gets the value. + </summary> + <param name="target">The target to get the value from.</param> + <returns>The value.</returns> + </member> + <member name="T:Newtonsoft.Json.StringEscapeHandling"> + <summary> + Specifies how strings are escaped when writing JSON text. + </summary> + </member> + <member name="F:Newtonsoft.Json.StringEscapeHandling.Default"> + <summary> + Only control characters (e.g. newline) are escaped. + </summary> + </member> + <member name="F:Newtonsoft.Json.StringEscapeHandling.EscapeNonAscii"> + <summary> + All non-ASCII and control characters (e.g. newline) are escaped. + </summary> + </member> + <member name="F:Newtonsoft.Json.StringEscapeHandling.EscapeHtml"> + <summary> + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + </summary> + </member> + <member name="T:Newtonsoft.Json.TypeNameHandling"> + <summary> + Specifies type name handling options for the <see cref="T:Newtonsoft.Json.JsonSerializer"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.None"> + <summary> + Do not include the .NET type name when serializing types. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.Objects"> + <summary> + Include the .NET type name when serializing into a JSON object structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.Arrays"> + <summary> + Include the .NET type name when serializing into a JSON array structure. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.All"> + <summary> + Always include the .NET type name when serializing. + </summary> + </member> + <member name="F:Newtonsoft.Json.TypeNameHandling.Auto"> + <summary> + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.IsNullOrEmpty``1(System.Collections.Generic.ICollection{``0})"> + <summary> + Determines whether the collection is null or empty. + </summary> + <param name="collection">The collection.</param> + <returns> + <c>true</c> if the collection is null or empty; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.AddRange``1(System.Collections.Generic.IList{``0},System.Collections.Generic.IEnumerable{``0})"> + <summary> + Adds the elements of the specified collection to the specified generic IList. + </summary> + <param name="initial">The list to add to.</param> + <param name="collection">The collection of elements to add.</param> + </member> + <member name="M:Newtonsoft.Json.Utilities.CollectionUtils.IndexOf``1(System.Collections.Generic.IEnumerable{``0},``0,System.Collections.Generic.IEqualityComparer{``0})"> + <summary> + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer{TSource}. + </summary> + <typeparam name="TSource">The type of the elements of source.</typeparam> + <param name="list">A sequence in which to locate a value.</param> + <param name="value">The object to locate in the sequence</param> + <param name="comparer">An equality comparer to compare values.</param> + <returns>The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1.</returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(System.Object,System.Globalization.CultureInfo,System.Type)"> + <summary> + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + </summary> + <param name="initialValue">The value to convert.</param> + <param name="culture">The culture to use when converting.</param> + <param name="targetType">The type to convert or cast the value to.</param> + <returns> + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodWithResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback,Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)"> + <summary> + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodReturnLast(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)"> + <summary> + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.CallMethodNoResult(System.String,System.Dynamic.DynamicMetaObjectBinder,System.Linq.Expressions.Expression[],Newtonsoft.Json.Utilities.DynamicProxyMetaObject{`0}.Fallback)"> + <summary> + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.DynamicProxyMetaObject`1.GetRestrictions"> + <summary> + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.EnumUtils.GetNamesAndValues``1"> + <summary> + Gets a dictionary of the names and values of an Enum type. + </summary> + <returns></returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.EnumUtils.GetNamesAndValues``1(System.Type)"> + <summary> + Gets a dictionary of the names and values of an Enum type. + </summary> + <param name="enumType">The enum type to get names and values for.</param> + <returns></returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetCollectionItemType(System.Type)"> + <summary> + Gets the type of the typed collection's items. + </summary> + <param name="type">The type.</param> + <returns>The type of the typed collection's items.</returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberUnderlyingType(System.Reflection.MemberInfo)"> + <summary> + Gets the member's underlying type. + </summary> + <param name="member">The member.</param> + <returns>The underlying type of the member.</returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.IsIndexedProperty(System.Reflection.MemberInfo)"> + <summary> + Determines whether the member is an indexed property. + </summary> + <param name="member">The member.</param> + <returns> + <c>true</c> if the member is an indexed property; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.IsIndexedProperty(System.Reflection.PropertyInfo)"> + <summary> + Determines whether the property is an indexed property. + </summary> + <param name="property">The property.</param> + <returns> + <c>true</c> if the property is an indexed property; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.GetMemberValue(System.Reflection.MemberInfo,System.Object)"> + <summary> + Gets the member's value on the object. + </summary> + <param name="member">The member.</param> + <param name="target">The target object.</param> + <returns>The member's value on the object.</returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.SetMemberValue(System.Reflection.MemberInfo,System.Object,System.Object)"> + <summary> + Sets the member's value on the target object. + </summary> + <param name="member">The member.</param> + <param name="target">The target.</param> + <param name="value">The value.</param> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.CanReadMemberValue(System.Reflection.MemberInfo,System.Boolean)"> + <summary> + Determines whether the specified MemberInfo can be read. + </summary> + <param name="member">The MemberInfo to determine whether can be read.</param> + /// <param name="nonPublic">if set to <c>true</c> then allow the member to be gotten non-publicly.</param> + <returns> + <c>true</c> if the specified MemberInfo can be read; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.ReflectionUtils.CanSetMemberValue(System.Reflection.MemberInfo,System.Boolean,System.Boolean)"> + <summary> + Determines whether the specified MemberInfo can be set. + </summary> + <param name="member">The MemberInfo to determine whether can be set.</param> + <param name="nonPublic">if set to <c>true</c> then allow the member to be set non-publicly.</param> + <param name="canSetReadOnly">if set to <c>true</c> then allow the member to be set if read-only.</param> + <returns> + <c>true</c> if the specified MemberInfo can be set; otherwise, <c>false</c>. + </returns> + </member> + <member name="T:Newtonsoft.Json.Utilities.StringBuffer"> + <summary> + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + </summary> + </member> + <member name="M:Newtonsoft.Json.Utilities.StringUtils.IsWhiteSpace(System.String)"> + <summary> + Determines whether the string is all white space. Empty string will return false. + </summary> + <param name="s">The string to test whether it is all white space.</param> + <returns> + <c>true</c> if the string is all white space; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:Newtonsoft.Json.Utilities.StringUtils.NullEmptyString(System.String)"> + <summary> + Nulls an empty string. + </summary> + <param name="s">The string.</param> + <returns>Null if the string was null, otherwise the string unchanged.</returns> + </member> + <member name="T:Newtonsoft.Json.WriteState"> + <summary> + Specifies the state of the <see cref="T:Newtonsoft.Json.JsonWriter"/>. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Error"> + <summary> + An exception has been thrown, which has left the <see cref="T:Newtonsoft.Json.JsonWriter"/> in an invalid state. + You may call the <see cref="M:Newtonsoft.Json.JsonWriter.Close"/> method to put the <see cref="T:Newtonsoft.Json.JsonWriter"/> in the <c>Closed</c> state. + Any other <see cref="T:Newtonsoft.Json.JsonWriter"/> method calls results in an <see cref="T:System.InvalidOperationException"/> being thrown. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Closed"> + <summary> + The <see cref="M:Newtonsoft.Json.JsonWriter.Close"/> method has been called. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Object"> + <summary> + An object is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Array"> + <summary> + A array is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Constructor"> + <summary> + A constructor is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Property"> + <summary> + A property is being written. + </summary> + </member> + <member name="F:Newtonsoft.Json.WriteState.Start"> + <summary> + A write method has not been called. + </summary> + </member> + </members> +</doc> diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.dll diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml diff --git a/DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/tools/install.ps1 b/DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/tools/install.ps1 similarity index 100% rename from DfBAdminToolkit/packages/Newtonsoft.Json.7.0.1/tools/install.ps1 rename to DfBAdminToolkit-v2/packages/Newtonsoft.Json.7.0.1/tools/install.ps1 diff --git a/DfBAdminToolkit/packages/ObjectListView.Official.2.9.0/ObjectListView.Official.2.9.0.nupkg b/DfBAdminToolkit-v2/packages/ObjectListView.Official.2.9.0/ObjectListView.Official.2.9.0.nupkg similarity index 100% rename from DfBAdminToolkit/packages/ObjectListView.Official.2.9.0/ObjectListView.Official.2.9.0.nupkg rename to DfBAdminToolkit-v2/packages/ObjectListView.Official.2.9.0/ObjectListView.Official.2.9.0.nupkg diff --git a/DfBAdminToolkit/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.XML b/DfBAdminToolkit-v2/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.XML similarity index 100% rename from DfBAdminToolkit/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.XML rename to DfBAdminToolkit-v2/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.XML diff --git a/DfBAdminToolkit/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.dll b/DfBAdminToolkit-v2/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.dll similarity index 100% rename from DfBAdminToolkit/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.dll rename to DfBAdminToolkit-v2/packages/ObjectListView.Official.2.9.0/lib/net20/ObjectListView.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/RestSharp.105.2.3.nupkg b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/RestSharp.105.2.3.nupkg similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/RestSharp.105.2.3.nupkg rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/RestSharp.105.2.3.nupkg diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoAndroid10/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/MonoTouch10/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/Xamarin.iOS10/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net35/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net35/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net35/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net35/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net35/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net35/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net35/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net35/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4-client/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net4/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net45/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net45/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net4/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net45/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net45/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net45/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net45/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net451/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net45/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net451/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net45/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net451/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net451/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net451/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net451/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net452/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net451/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net452/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net451/RestSharp.xml diff --git a/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net452/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net452/RestSharp.dll new file mode 100644 index 0000000..31e4704 Binary files /dev/null and b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net452/RestSharp.dll differ diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net452/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net452/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net46/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net46/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/net46/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net46/RestSharp.dll diff --git a/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml new file mode 100644 index 0000000..16ca278 --- /dev/null +++ b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/net46/RestSharp.xml @@ -0,0 +1,3095 @@ +<?xml version="1.0"?> +<doc> + <assembly> + <name>RestSharp</name> + </assembly> + <members> + <member name="T:RestSharp.Authenticators.JwtAuthenticator"> + <summary> + JSON WEB TOKEN (JWT) Authenticator class. + <remarks>https://tools.ietf.org/html/draft-ietf-oauth-json-web-token</remarks> + </summary> + </member> + <member name="T:RestSharp.Authenticators.NtlmAuthenticator"> + <summary> + Tries to Authenticate with the credentials of the currently logged in user, or impersonate a user + </summary> + </member> + <member name="M:RestSharp.Authenticators.NtlmAuthenticator.#ctor"> + <summary> + Authenticate with the credentials of the currently logged in user + </summary> + </member> + <member name="M:RestSharp.Authenticators.NtlmAuthenticator.#ctor(System.String,System.String)"> + <summary> + Authenticate by impersonation + </summary> + <param name="username"></param> + <param name="password"></param> + </member> + <member name="M:RestSharp.Authenticators.NtlmAuthenticator.#ctor(System.Net.ICredentials)"> + <summary> + Authenticate by impersonation, using an existing <c>ICredentials</c> instance + </summary> + <param name="credentials"></param> + </member> + <member name="T:RestSharp.Authenticators.OAuth1Authenticator"> + <seealso href="http://tools.ietf.org/html/rfc5849"/> + </member> + <member name="T:RestSharp.Authenticators.OAuth2Authenticator"> + <summary> + Base class for OAuth 2 Authenticators. + </summary> + <remarks> + Since there are many ways to authenticate in OAuth2, + this is used as a base class to differentiate between + other authenticators. + + Any other OAuth2 authenticators must derive from this + abstract class. + </remarks> + </member> + <member name="F:RestSharp.Authenticators.OAuth2Authenticator.accessToken"> + <summary> + Access token to be used when authenticating. + </summary> + </member> + <member name="M:RestSharp.Authenticators.OAuth2Authenticator.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:RestSharp.Authenticators.OAuth2Authenticator"/> class. + </summary> + <param name="accessToken"> + The access token. + </param> + </member> + <member name="P:RestSharp.Authenticators.OAuth2Authenticator.AccessToken"> + <summary> + Gets the access token. + </summary> + </member> + <member name="T:RestSharp.Authenticators.OAuth2UriQueryParameterAuthenticator"> + <summary> + The OAuth 2 authenticator using URI query parameter. + </summary> + <remarks> + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.2 + </remarks> + </member> + <member name="M:RestSharp.Authenticators.OAuth2UriQueryParameterAuthenticator.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:RestSharp.Authenticators.OAuth2UriQueryParameterAuthenticator"/> class. + </summary> + <param name="accessToken"> + The access token. + </param> + </member> + <member name="T:RestSharp.Authenticators.OAuth2AuthorizationRequestHeaderAuthenticator"> + <summary> + The OAuth 2 authenticator using the authorization request header field. + </summary> + <remarks> + Based on http://tools.ietf.org/html/draft-ietf-oauth-v2-10#section-5.1.1 + </remarks> + </member> + <member name="F:RestSharp.Authenticators.OAuth2AuthorizationRequestHeaderAuthenticator.authorizationValue"> + <summary> + Stores the Authorization header value as "[tokenType] accessToken". used for performance. + </summary> + </member> + <member name="M:RestSharp.Authenticators.OAuth2AuthorizationRequestHeaderAuthenticator.#ctor(System.String)"> + <summary> + Initializes a new instance of the <see cref="T:RestSharp.Authenticators.OAuth2AuthorizationRequestHeaderAuthenticator"/> class. + </summary> + <param name="accessToken"> + The access token. + </param> + </member> + <member name="M:RestSharp.Authenticators.OAuth2AuthorizationRequestHeaderAuthenticator.#ctor(System.String,System.String)"> + <summary> + Initializes a new instance of the <see cref="T:RestSharp.Authenticators.OAuth2AuthorizationRequestHeaderAuthenticator"/> class. + </summary> + <param name="accessToken"> + The access token. + </param> + <param name="tokenType"> + The token type. + </param> + </member> + <member name="F:RestSharp.Authenticators.OAuth.OAuthTools.encoding"> + <summary> + All text parameters are UTF-8 encoded (per section 5.1). + </summary> + <seealso cref="!:http://www.hueniverse.com/hueniverse/2008/10/beginners-gui-1.html"/> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetNonce"> + <summary> + Generates a random 16-byte lowercase alphanumeric string. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#nonce"/> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetTimestamp"> + <summary> + Generates a timestamp based on the current elapsed seconds since '01/01/1970 0000 GMT" + </summary> + <seealso cref="!:http://oauth.net/core/1.0#nonce"/> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetTimestamp(System.DateTime)"> + <summary> + Generates a timestamp based on the elapsed seconds of a given time since '01/01/1970 0000 GMT" + </summary> + <seealso cref="!:http://oauth.net/core/1.0#nonce"/> + <param name="dateTime">A specified point in time.</param> + <returns></returns> + </member> + <member name="F:RestSharp.Authenticators.OAuth.OAuthTools.uriRfc3986CharsToEscape"> + <summary> + The set of characters that are unreserved in RFC 2396 but are NOT unreserved in RFC 3986. + </summary> + <seealso cref="!:http://stackoverflow.com/questions/846487/how-to-get-uri-escapedatastring-to-comply-with-rfc-3986"/> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.UrlEncodeRelaxed(System.String)"> + <summary> + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + </summary> + <param name="value">The value to escape.</param> + <returns>The escaped value.</returns> + <remarks> + The <see cref="M:System.Uri.EscapeDataString(System.String)"/> method is <i>supposed</i> to take on + RFC 3986 behavior if certain elements are present in a .config file. Even if this + actually worked (which in my experiments it <i>doesn't</i>), we can't rely on every + host actually having this configuration element present. + </remarks> + <seealso cref="!:http://oauth.net/core/1.0#encoding_parameters"/> + <seealso cref="!:http://stackoverflow.com/questions/846487/how-to-get-uri-escapedatastring-to-comply-with-rfc-3986"/> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.UrlEncodeStrict(System.String)"> + <summary> + URL encodes a string based on section 5.1 of the OAuth spec. + Namely, percent encoding with [RFC3986], avoiding unreserved characters, + upper-casing hexadecimal characters, and UTF-8 encoding for text value pairs. + </summary> + <param name="value"></param> + <seealso cref="!:http://oauth.net/core/1.0#encoding_parameters"/> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.NormalizeRequestParameters(RestSharp.Authenticators.OAuth.WebParameterCollection)"> + <summary> + Sorts a collection of key-value pairs by name, and then value if equal, + concatenating them into a single string. This string should be encoded + prior to, or after normalization is run. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.1.1"/> + <param name="parameters"></param> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.SortParametersExcludingSignature(RestSharp.Authenticators.OAuth.WebParameterCollection)"> + <summary> + Sorts a <see cref="T:RestSharp.Authenticators.OAuth.WebParameterCollection"/> by name, and then value if equal. + </summary> + <param name="parameters">A collection of parameters to sort</param> + <returns>A sorted parameter collection</returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.ConstructRequestUrl(System.Uri)"> + <summary> + Creates a request URL suitable for making OAuth requests. + Resulting URLs must exclude port 80 or port 443 when accompanied by HTTP and HTTPS, respectively. + Resulting URLs must be lower case. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.1.2"/> + <param name="url">The original request URL</param> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.ConcatenateRequestElements(System.String,System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)"> + <summary> + Creates a request elements concatentation value to send with a request. + This is also known as the signature base. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.1.3"/> + <seealso cref="!:http://oauth.net/core/1.0#sig_base_example"/> + <param name="method">The request's HTTP method type</param> + <param name="url">The request URL</param> + <param name="parameters">The request's parameters</param> + <returns>A signature base string</returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,System.String,System.String)"> + <summary> + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/> + <param name="signatureMethod">The hashing method</param> + <param name="signatureBase">The signature base</param> + <param name="consumerSecret">The consumer key</param> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,RestSharp.Authenticators.OAuth.OAuthSignatureTreatment,System.String,System.String)"> + <summary> + Creates a signature value given a signature base and the consumer secret. + This method is used when the token secret is currently unknown. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/> + <param name="signatureMethod">The hashing method</param> + <param name="signatureTreatment">The treatment to use on a signature value</param> + <param name="signatureBase">The signature base</param> + <param name="consumerSecret">The consumer key</param> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,System.String,System.String,System.String)"> + <summary> + Creates a signature value given a signature base and the consumer secret and a known token secret. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/> + <param name="signatureMethod">The hashing method</param> + <param name="signatureBase">The signature base</param> + <param name="consumerSecret">The consumer secret</param> + <param name="tokenSecret">The token secret</param> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthTools.GetSignature(RestSharp.Authenticators.OAuth.OAuthSignatureMethod,RestSharp.Authenticators.OAuth.OAuthSignatureTreatment,System.String,System.String,System.String)"> + <summary> + Creates a signature value given a signature base and the consumer secret and a known token secret. + </summary> + <seealso cref="!:http://oauth.net/core/1.0#rfc.section.9.2"/> + <param name="signatureMethod">The hashing method</param> + <param name="signatureTreatment">The treatment to use on a signature value</param> + <param name="signatureBase">The signature base</param> + <param name="consumerSecret">The consumer secret</param> + <param name="tokenSecret">The token secret</param> + <returns></returns> + </member> + <member name="T:RestSharp.Authenticators.OAuth.OAuthWorkflow"> + <summary> + A class to encapsulate OAuth authentication flow. + <seealso cref="!:http://oauth.net/core/1.0#anchor9"/> + </summary> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildRequestTokenInfo(System.String)"> + <summary> + Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an + <see cref="T:RestSharp.Authenticators.IAuthenticator"/> for the purpose of requesting an + unauthorized request token. + </summary> + <param name="method">The HTTP method for the intended request</param> + <seealso cref="!:http://oauth.net/core/1.0#anchor9"/> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildRequestTokenInfo(System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)"> + <summary> + Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an + <see cref="T:RestSharp.Authenticators.IAuthenticator"/> for the purpose of requesting an + unauthorized request token. + </summary> + <param name="method">The HTTP method for the intended request</param> + <param name="parameters">Any existing, non-OAuth query parameters desired in the request</param> + <seealso cref="!:http://oauth.net/core/1.0#anchor9"/> + <returns></returns> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildAccessTokenInfo(System.String)"> + <summary> + Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an + <see cref="T:RestSharp.Authenticators.IAuthenticator"/> for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + </summary> + <param name="method">The HTTP method for the intended request</param> + <seealso cref="!:http://oauth.net/core/1.0#anchor9"/> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildAccessTokenInfo(System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)"> + <summary> + Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an + <see cref="T:RestSharp.Authenticators.IAuthenticator"/> for the purpose of exchanging a request token + for an access token authorized by the user at the Service Provider site. + </summary> + <param name="method">The HTTP method for the intended request</param> + <seealso cref="!:http://oauth.net/core/1.0#anchor9"/> + <param name="parameters">Any existing, non-OAuth query parameters desired in the request</param> + </member> + <member name="M:RestSharp.Authenticators.OAuth.OAuthWorkflow.BuildClientAuthAccessTokenInfo(System.String,RestSharp.Authenticators.OAuth.WebParameterCollection)"> + <summary> + Generates a <see cref="T:RestSharp.Authenticators.OAuth.OAuthWebQueryInfo"/> instance to pass to an + <see cref="T:RestSharp.Authenticators.IAuthenticator"/> for the purpose of exchanging user credentials + for an access token authorized by the user at the Service Provider site. + </summary> + <param name="method">The HTTP method for the intended request</param> + <seealso cref="!:http://tools.ietf.org/html/draft-dehora-farrell-oauth-accesstoken-creds-00#section-4"/> + <param name="parameters">Any existing, non-OAuth query parameters desired in the request</param> + </member> + <member name="P:RestSharp.Authenticators.OAuth.OAuthWorkflow.RequestTokenUrl"> + <seealso cref="!:http://oauth.net/core/1.0#request_urls"/> + </member> + <member name="P:RestSharp.Authenticators.OAuth.OAuthWorkflow.AccessTokenUrl"> + <seealso cref="!:http://oauth.net/core/1.0#request_urls"/> + </member> + <member name="P:RestSharp.Authenticators.OAuth.OAuthWorkflow.AuthorizationUrl"> + <seealso cref="!:http://oauth.net/core/1.0#request_urls"/> + </member> + <member name="T:RestSharp.Deserializers.DeserializeAsAttribute"> + <summary> + Allows control how class and property names and values are deserialized by XmlAttributeDeserializer + </summary> + </member> + <member name="P:RestSharp.Deserializers.DeserializeAsAttribute.Name"> + <summary> + The name to use for the serialized element + </summary> + </member> + <member name="P:RestSharp.Deserializers.DeserializeAsAttribute.Attribute"> + <summary> + Sets if the property to Deserialize is an Attribute or Element (Default: false) + </summary> + </member> + <member name="T:RestSharp.Deserializers.DotNetXmlDeserializer"> + <summary> + Wrapper for System.Xml.Serialization.XmlSerializer. + </summary> + </member> + <member name="T:RestSharp.ParameterType"> + <summary> + Types of parameters that can be added to requests + </summary> + </member> + <member name="T:RestSharp.DataFormat"> + <summary> + Data formats + </summary> + </member> + <member name="T:RestSharp.Method"> + <summary> + HTTP method to use when making requests + </summary> + </member> + <member name="T:RestSharp.DateFormat"> + <summary> + Format strings for commonly-used date formats + </summary> + </member> + <member name="F:RestSharp.DateFormat.ISO_8601"> + <summary> + .NET format string for ISO 8601 date format + </summary> + </member> + <member name="F:RestSharp.DateFormat.ROUND_TRIP"> + <summary> + .NET format string for roundtrip date format + </summary> + </member> + <member name="T:RestSharp.ResponseStatus"> + <summary> + Status for responses (surprised?) + </summary> + </member> + <member name="T:RestSharp.Extensions.MiscExtensions"> + <summary> + Extension method overload! + </summary> + </member> + <member name="M:RestSharp.Extensions.MiscExtensions.SaveAs(System.Byte[],System.String)"> + <summary> + Save a byte array to a file + </summary> + <param name="input">Bytes to save</param> + <param name="path">Full path to save file to</param> + </member> + <member name="M:RestSharp.Extensions.MiscExtensions.ReadAsBytes(System.IO.Stream)"> + <summary> + Read a stream into a byte array + </summary> + <param name="input">Stream to read</param> + <returns>byte[]</returns> + </member> + <member name="M:RestSharp.Extensions.MiscExtensions.CopyTo(System.IO.Stream,System.IO.Stream)"> + <summary> + Copies bytes from one stream to another + </summary> + <param name="input">The input stream.</param> + <param name="output">The output stream.</param> + </member> + <member name="M:RestSharp.Extensions.MiscExtensions.AsString(System.Byte[])"> + <summary> + Converts a byte array to a string, using its byte order mark to convert it to the right encoding. + http://www.shrinkrays.net/code-snippets/csharp/an-extension-method-for-converting-a-byte-array-to-a-string.aspx + </summary> + <param name="buffer">An array of bytes to convert</param> + <returns>The byte as a string.</returns> + </member> + <member name="M:RestSharp.Extensions.MonoHttp.HttpUtility.HtmlDecode(System.String)"> + <summary> + Decodes an HTML-encoded string and returns the decoded string. + </summary> + <param name="s">The HTML string to decode. </param> + <returns>The decoded text.</returns> + </member> + <member name="M:RestSharp.Extensions.MonoHttp.HttpUtility.HtmlDecode(System.String,System.IO.TextWriter)"> + <summary> + Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream. + </summary> + <param name="s">The HTML string to decode</param> + <param name="output">The TextWriter output stream containing the decoded string. </param> + </member> + <member name="M:RestSharp.Extensions.MonoHttp.HttpUtility.HtmlEncode(System.String,System.IO.TextWriter)"> + <summary> + HTML-encodes a string and sends the resulting output to a TextWriter output stream. + </summary> + <param name="s">The string to encode. </param> + <param name="output">The TextWriter output stream containing the encoded string. </param> + </member> + <member name="T:RestSharp.Extensions.ReflectionExtensions"> + <summary> + Reflection extensions + </summary> + </member> + <member name="M:RestSharp.Extensions.ReflectionExtensions.GetAttribute``1(System.Reflection.MemberInfo)"> + <summary> + Retrieve an attribute from a member (property) + </summary> + <typeparam name="T">Type of attribute to retrieve</typeparam> + <param name="prop">Member to retrieve attribute from</param> + <returns></returns> + </member> + <member name="M:RestSharp.Extensions.ReflectionExtensions.GetAttribute``1(System.Type)"> + <summary> + Retrieve an attribute from a type + </summary> + <typeparam name="T">Type of attribute to retrieve</typeparam> + <param name="type">Type to retrieve attribute from</param> + <returns></returns> + </member> + <member name="M:RestSharp.Extensions.ReflectionExtensions.IsSubclassOfRawGeneric(System.Type,System.Type)"> + <summary> + Checks a type to see if it derives from a raw generic (e.g. List[[]]) + </summary> + <param name="toCheck"></param> + <param name="generic"></param> + <returns></returns> + </member> + <member name="M:RestSharp.Extensions.ReflectionExtensions.FindEnumValue(System.Type,System.String,System.Globalization.CultureInfo)"> + <summary> + Find a value from a System.Enum by trying several possible variants + of the string value of the enum. + </summary> + <param name="type">Type of enum</param> + <param name="value">Value for which to search</param> + <param name="culture">The culture used to calculate the name variants</param> + <returns></returns> + </member> + <member name="M:RestSharp.Extensions.ResponseStatusExtensions.ToWebException(RestSharp.ResponseStatus)"> + <summary> + Convert a <see cref="T:RestSharp.ResponseStatus"/> to a <see cref="T:System.Net.WebException"/> instance. + </summary> + <param name="responseStatus">The response status.</param> + <returns></returns> + <exception cref="T:System.ArgumentOutOfRangeException">responseStatus</exception> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.UrlEncode(System.String)"> + <summary> + Uses Uri.EscapeDataString() based on recommendations on MSDN + http://blogs.msdn.com/b/yangxind/archive/2006/11/09/don-t-use-net-system-uri-unescapedatastring-in-url-decoding.aspx + </summary> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.HasValue(System.String)"> + <summary> + Check that a string is not null or empty + </summary> + <param name="input">String to check</param> + <returns>bool</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.RemoveUnderscoresAndDashes(System.String)"> + <summary> + Remove underscores from a string + </summary> + <param name="input">String to process</param> + <returns>string</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.ParseJsonDate(System.String,System.Globalization.CultureInfo)"> + <summary> + Parses most common JSON date formats + </summary> + <param name="input">JSON value to parse</param> + <param name="culture"></param> + <returns>DateTime</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.RemoveSurroundingQuotes(System.String)"> + <summary> + Remove leading and trailing " from a string + </summary> + <param name="input">String to parse</param> + <returns>String</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.Matches(System.String,System.String)"> + <summary> + Checks a string to see if it matches a regex + </summary> + <param name="input">String to check</param> + <param name="pattern">Pattern to match</param> + <returns>bool</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.ToPascalCase(System.String,System.Globalization.CultureInfo)"> + <summary> + Converts a string to pascal case + </summary> + <param name="lowercaseAndUnderscoredWord">String to convert</param> + <param name="culture"></param> + <returns>string</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.ToPascalCase(System.String,System.Boolean,System.Globalization.CultureInfo)"> + <summary> + Converts a string to pascal case with the option to remove underscores + </summary> + <param name="text">String to convert</param> + <param name="removeUnderscores">Option to remove underscores</param> + <param name="culture"></param> + <returns></returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.ToCamelCase(System.String,System.Globalization.CultureInfo)"> + <summary> + Converts a string to camel case + </summary> + <param name="lowercaseAndUnderscoredWord">String to convert</param> + <param name="culture"></param> + <returns>String</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.MakeInitialLowerCase(System.String)"> + <summary> + Convert the first letter of a string to lower case + </summary> + <param name="word">String to convert</param> + <returns>string</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.IsUpperCase(System.String)"> + <summary> + Checks to see if a string is all uppper case + </summary> + <param name="inputString">String to check</param> + <returns>bool</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.AddUnderscores(System.String)"> + <summary> + Add underscores to a pascal-cased string + </summary> + <param name="pascalCasedWord">String to convert</param> + <returns>string</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.AddDashes(System.String)"> + <summary> + Add dashes to a pascal-cased string + </summary> + <param name="pascalCasedWord">String to convert</param> + <returns>string</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.AddUnderscorePrefix(System.String)"> + <summary> + Add an undescore prefix to a pascasl-cased string + </summary> + <param name="pascalCasedWord"></param> + <returns></returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.AddSpaces(System.String)"> + <summary> + Add spaces to a pascal-cased string + </summary> + <param name="pascalCasedWord">String to convert</param> + <returns>string</returns> + </member> + <member name="M:RestSharp.Extensions.StringExtensions.GetNameVariants(System.String,System.Globalization.CultureInfo)"> + <summary> + Return possible variants of a name for name matching. + </summary> + <param name="name">String to convert</param> + <param name="culture">The culture to use for conversion</param> + <returns>IEnumerable<string></returns> + </member> + <member name="T:RestSharp.Extensions.XmlExtensions"> + <summary> + XML Extension Methods + </summary> + </member> + <member name="M:RestSharp.Extensions.XmlExtensions.AsNamespaced(System.String,System.String)"> + <summary> + Returns the name of an element with the namespace if specified + </summary> + <param name="name">Element name</param> + <param name="namespace">XML Namespace</param> + <returns></returns> + </member> + <member name="T:RestSharp.FileParameter"> + <summary> + Container for files to be uploaded with requests + </summary> + </member> + <member name="M:RestSharp.FileParameter.Create(System.String,System.Byte[],System.String,System.String)"> + <summary> + Creates a file parameter from an array of bytes. + </summary> + <param name="name">The parameter name to use in the request.</param> + <param name="data">The data to use as the file's contents.</param> + <param name="filename">The filename to use in the request.</param> + <param name="contentType">The content type to use in the request.</param> + <returns>The <see cref="T:RestSharp.FileParameter"/></returns> + </member> + <member name="M:RestSharp.FileParameter.Create(System.String,System.Byte[],System.String)"> + <summary> + Creates a file parameter from an array of bytes. + </summary> + <param name="name">The parameter name to use in the request.</param> + <param name="data">The data to use as the file's contents.</param> + <param name="filename">The filename to use in the request.</param> + <returns>The <see cref="T:RestSharp.FileParameter"/> using the default content type.</returns> + </member> + <member name="P:RestSharp.FileParameter.ContentLength"> + <summary> + The length of data to be sent + </summary> + </member> + <member name="P:RestSharp.FileParameter.Writer"> + <summary> + Provides raw data for file + </summary> + </member> + <member name="P:RestSharp.FileParameter.FileName"> + <summary> + Name of the file to use when uploading + </summary> + </member> + <member name="P:RestSharp.FileParameter.ContentType"> + <summary> + MIME content type of file + </summary> + </member> + <member name="P:RestSharp.FileParameter.Name"> + <summary> + Name of the parameter + </summary> + </member> + <member name="T:RestSharp.Http"> + <summary> + HttpWebRequest wrapper (async methods) + </summary> + <summary> + HttpWebRequest wrapper + </summary> + <summary> + HttpWebRequest wrapper (sync methods) + </summary> + </member> + <member name="P:RestSharp.IHttp.AlwaysMultipartFormData"> + <summary> + Always send a multipart/form-data request - even when no Files are present. + </summary> + </member> + <member name="P:RestSharp.IHttp.RequestBodyBytes"> + <summary> + An alternative to RequestBody, for when the caller already has the byte array. + </summary> + </member> + <member name="M:RestSharp.Http.AsPostAsync(System.Action{RestSharp.HttpResponse},System.String)"> + <summary> + Execute an async POST-style request with the specified HTTP Method. + </summary> + <param name="action"></param> + <param name="httpMethod">The HTTP method to execute.</param> + <returns></returns> + </member> + <member name="M:RestSharp.Http.AsGetAsync(System.Action{RestSharp.HttpResponse},System.String)"> + <summary> + Execute an async GET-style request with the specified HTTP Method. + </summary> + <param name="action"></param> + <param name="httpMethod">The HTTP method to execute.</param> + <returns></returns> + </member> + <member name="M:RestSharp.Http.Create"> + <summary> + Creates an IHttp + </summary> + <returns></returns> + </member> + <member name="M:RestSharp.Http.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:RestSharp.Http.Post"> + <summary> + Execute a POST request + </summary> + </member> + <member name="M:RestSharp.Http.Put"> + <summary> + Execute a PUT request + </summary> + </member> + <member name="M:RestSharp.Http.Get"> + <summary> + Execute a GET request + </summary> + </member> + <member name="M:RestSharp.Http.Head"> + <summary> + Execute a HEAD request + </summary> + </member> + <member name="M:RestSharp.Http.Options"> + <summary> + Execute an OPTIONS request + </summary> + </member> + <member name="M:RestSharp.Http.Delete"> + <summary> + Execute a DELETE request + </summary> + </member> + <member name="M:RestSharp.Http.Patch"> + <summary> + Execute a PATCH request + </summary> + </member> + <member name="M:RestSharp.Http.Merge"> + <summary> + Execute a MERGE request + </summary> + </member> + <member name="M:RestSharp.Http.AsGet(System.String)"> + <summary> + Execute a GET-style request with the specified HTTP Method. + </summary> + <param name="httpMethod">The HTTP method to execute.</param> + <returns></returns> + </member> + <member name="M:RestSharp.Http.AsPost(System.String)"> + <summary> + Execute a POST-style request with the specified HTTP Method. + </summary> + <param name="httpMethod">The HTTP method to execute.</param> + <returns></returns> + </member> + <member name="P:RestSharp.Http.HasParameters"> + <summary> + True if this HTTP request has any HTTP parameters + </summary> + </member> + <member name="P:RestSharp.Http.HasCookies"> + <summary> + True if this HTTP request has any HTTP cookies + </summary> + </member> + <member name="P:RestSharp.Http.HasBody"> + <summary> + True if a request body has been specified + </summary> + </member> + <member name="P:RestSharp.Http.HasFiles"> + <summary> + True if files have been set to be uploaded + </summary> + </member> + <member name="P:RestSharp.Http.AlwaysMultipartFormData"> + <summary> + Always send a multipart/form-data request - even when no Files are present. + </summary> + </member> + <member name="P:RestSharp.Http.UserAgent"> + <summary> + UserAgent to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.Timeout"> + <summary> + Timeout in milliseconds to be used for the request + </summary> + </member> + <member name="P:RestSharp.Http.ReadWriteTimeout"> + <summary> + The number of milliseconds before the writing or reading times out. + </summary> + </member> + <member name="P:RestSharp.Http.Credentials"> + <summary> + System.Net.ICredentials to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.CookieContainer"> + <summary> + The System.Net.CookieContainer to be used for the request + </summary> + </member> + <member name="P:RestSharp.Http.ResponseWriter"> + <summary> + The method to use to write the response instead of reading into RawBytes + </summary> + </member> + <member name="P:RestSharp.Http.Files"> + <summary> + Collection of files to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.FollowRedirects"> + <summary> + Whether or not HTTP 3xx response redirects should be automatically followed + </summary> + </member> + <member name="P:RestSharp.Http.ClientCertificates"> + <summary> + X509CertificateCollection to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.MaxRedirects"> + <summary> + Maximum number of automatic redirects to follow if FollowRedirects is true + </summary> + </member> + <member name="P:RestSharp.Http.UseDefaultCredentials"> + <summary> + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. + </summary> + </member> + <member name="P:RestSharp.Http.Headers"> + <summary> + HTTP headers to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.Parameters"> + <summary> + HTTP parameters (QueryString or Form values) to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.Cookies"> + <summary> + HTTP cookies to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.RequestBody"> + <summary> + Request body to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.RequestContentType"> + <summary> + Content type of the request body. + </summary> + </member> + <member name="P:RestSharp.Http.RequestBodyBytes"> + <summary> + An alternative to RequestBody, for when the caller already has the byte array. + </summary> + </member> + <member name="P:RestSharp.Http.Url"> + <summary> + URL to call for this request + </summary> + </member> + <member name="P:RestSharp.Http.PreAuthenticate"> + <summary> + Flag to send authorisation header with the HttpWebRequest + </summary> + </member> + <member name="P:RestSharp.Http.Proxy"> + <summary> + Proxy info to be sent with request + </summary> + </member> + <member name="P:RestSharp.Http.CachePolicy"> + <summary> + Caching policy for requests created with this wrapper. + </summary> + </member> + <member name="T:RestSharp.HttpCookie"> + <summary> + Representation of an HTTP cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Comment"> + <summary> + Comment of the cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.CommentUri"> + <summary> + Comment of the cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Discard"> + <summary> + Indicates whether the cookie should be discarded at the end of the session + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Domain"> + <summary> + Domain of the cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Expired"> + <summary> + Indicates whether the cookie is expired + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Expires"> + <summary> + Date and time that the cookie expires + </summary> + </member> + <member name="P:RestSharp.HttpCookie.HttpOnly"> + <summary> + Indicates that this cookie should only be accessed by the server + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Name"> + <summary> + Name of the cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Path"> + <summary> + Path of the cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Port"> + <summary> + Port of the cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Secure"> + <summary> + Indicates that the cookie should only be sent over secure channels + </summary> + </member> + <member name="P:RestSharp.HttpCookie.TimeStamp"> + <summary> + Date and time the cookie was created + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Value"> + <summary> + Value of the cookie + </summary> + </member> + <member name="P:RestSharp.HttpCookie.Version"> + <summary> + Version of the cookie + </summary> + </member> + <member name="T:RestSharp.HttpFile"> + <summary> + Container for HTTP file + </summary> + </member> + <member name="P:RestSharp.HttpFile.ContentLength"> + <summary> + The length of data to be sent + </summary> + </member> + <member name="P:RestSharp.HttpFile.Writer"> + <summary> + Provides raw data for file + </summary> + </member> + <member name="P:RestSharp.HttpFile.FileName"> + <summary> + Name of the file to use when uploading + </summary> + </member> + <member name="P:RestSharp.HttpFile.ContentType"> + <summary> + MIME content type of file + </summary> + </member> + <member name="P:RestSharp.HttpFile.Name"> + <summary> + Name of the parameter + </summary> + </member> + <member name="T:RestSharp.HttpHeader"> + <summary> + Representation of an HTTP header + </summary> + </member> + <member name="P:RestSharp.HttpHeader.Name"> + <summary> + Name of the header + </summary> + </member> + <member name="P:RestSharp.HttpHeader.Value"> + <summary> + Value of the header + </summary> + </member> + <member name="T:RestSharp.HttpParameter"> + <summary> + Representation of an HTTP parameter (QueryString or Form value) + </summary> + </member> + <member name="P:RestSharp.HttpParameter.Name"> + <summary> + Name of the parameter + </summary> + </member> + <member name="P:RestSharp.HttpParameter.Value"> + <summary> + Value of the parameter + </summary> + </member> + <member name="P:RestSharp.HttpParameter.ContentType"> + <summary> + Content-Type of the parameter + </summary> + </member> + <member name="T:RestSharp.HttpResponse"> + <summary> + HTTP response data + </summary> + </member> + <member name="T:RestSharp.IHttpResponse"> + <summary> + HTTP response data + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.ContentType"> + <summary> + MIME content type of response + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.ContentLength"> + <summary> + Length in bytes of the response content + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.ContentEncoding"> + <summary> + Encoding of the response content + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.Content"> + <summary> + String representation of response content + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.StatusCode"> + <summary> + HTTP response status code + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.StatusDescription"> + <summary> + Description of HTTP status returned + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.RawBytes"> + <summary> + Response content + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.ResponseUri"> + <summary> + The URL that actually responded to the content (different from request if redirected) + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.Server"> + <summary> + HttpWebResponse.Server + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.Headers"> + <summary> + Headers returned by server with the response + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.Cookies"> + <summary> + Cookies returned by server with the response + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.ResponseStatus"> + <summary> + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.ErrorMessage"> + <summary> + Transport or other non-HTTP error generated while attempting request + </summary> + </member> + <member name="P:RestSharp.IHttpResponse.ErrorException"> + <summary> + Exception thrown when error is encountered. + </summary> + </member> + <member name="M:RestSharp.HttpResponse.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="P:RestSharp.HttpResponse.ContentType"> + <summary> + MIME content type of response + </summary> + </member> + <member name="P:RestSharp.HttpResponse.ContentLength"> + <summary> + Length in bytes of the response content + </summary> + </member> + <member name="P:RestSharp.HttpResponse.ContentEncoding"> + <summary> + Encoding of the response content + </summary> + </member> + <member name="P:RestSharp.HttpResponse.Content"> + <summary> + Lazy-loaded string representation of response content + </summary> + </member> + <member name="P:RestSharp.HttpResponse.StatusCode"> + <summary> + HTTP response status code + </summary> + </member> + <member name="P:RestSharp.HttpResponse.StatusDescription"> + <summary> + Description of HTTP status returned + </summary> + </member> + <member name="P:RestSharp.HttpResponse.RawBytes"> + <summary> + Response content + </summary> + </member> + <member name="P:RestSharp.HttpResponse.ResponseUri"> + <summary> + The URL that actually responded to the content (different from request if redirected) + </summary> + </member> + <member name="P:RestSharp.HttpResponse.Server"> + <summary> + HttpWebResponse.Server + </summary> + </member> + <member name="P:RestSharp.HttpResponse.Headers"> + <summary> + Headers returned by server with the response + </summary> + </member> + <member name="P:RestSharp.HttpResponse.Cookies"> + <summary> + Cookies returned by server with the response + </summary> + </member> + <member name="P:RestSharp.HttpResponse.ResponseStatus"> + <summary> + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + </summary> + </member> + <member name="P:RestSharp.HttpResponse.ErrorMessage"> + <summary> + Transport or other non-HTTP error generated while attempting request + </summary> + </member> + <member name="P:RestSharp.HttpResponse.ErrorException"> + <summary> + Exception thrown when error is encountered. + </summary> + </member> + <member name="M:RestSharp.IRestClient.ExecuteAsyncGet(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a GET-style request and callback asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteAsyncPost(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a POST-style request and callback asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteAsyncGet``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a GET-style request and callback asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteAsyncPost``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a GET-style request and callback asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes the request and callback asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest)"> + <summary> + Executes the request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest)"> + <summary> + Executes a GET-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a GET-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest)"> + <summary> + Executes a POST-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a POST-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes the request and callback asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteTaskAsync(RestSharp.IRestRequest)"> + <summary> + Executes the request asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest)"> + <summary> + Executes a GET-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.IRestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a GET-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync(RestSharp.IRestRequest)"> + <summary> + Executes a POST-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.IRestClient.ExecutePostTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a POST-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="P:RestSharp.IRestClient.ClientCertificates"> + <summary> + X509CertificateCollection to be sent with request + </summary> + </member> + <member name="M:RestSharp.IRestRequest.AddFile(System.String,System.String,System.String)"> + <summary> + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + </summary> + <param name="name">The parameter name to use in the request</param> + <param name="path">Full path to file to upload</param> + <param name="contentType">The MIME type of the file to upload</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddFile(System.String,System.Byte[],System.String,System.String)"> + <summary> + Adds the bytes to the Files collection with the specified file name and content type + </summary> + <param name="name">The parameter name to use in the request</param> + <param name="bytes">The file data</param> + <param name="fileName">The file name to use for the uploaded file</param> + <param name="contentType">The MIME type of the file to upload</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddFile(System.String,System.Action{System.IO.Stream},System.String,System.String)"> + <summary> + Adds the bytes to the Files collection with the specified file name and content type + </summary> + <param name="name">The parameter name to use in the request</param> + <param name="writer">A function that writes directly to the stream. Should NOT close the stream.</param> + <param name="fileName">The file name to use for the uploaded file</param> + <param name="contentType">The MIME type of the file to upload</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddFileBytes(System.String,System.Byte[],System.String,System.String)"> + <summary> + Add bytes to the Files collection as if it was a file of specific type + </summary> + <param name="name">A form parameter name</param> + <param name="bytes">The file data</param> + <param name="filename">The file name to use for the uploaded file</param> + <param name="contentType">Specific content type. Es: application/x-gzip </param> + <returns></returns> + </member> + <member name="M:RestSharp.IRestRequest.AddBody(System.Object,System.String)"> + <summary> + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + </summary> + <param name="obj">The object to serialize</param> + <param name="xmlNamespace">The XML namespace to use when serializing</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddBody(System.Object)"> + <summary> + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + </summary> + <param name="obj">The object to serialize</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddJsonBody(System.Object)"> + <summary> + Serializes obj to JSON format and adds it to the request body. + </summary> + <param name="obj">The object to serialize</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddXmlBody(System.Object)"> + <summary> + Serializes obj to XML format and adds it to the request body. + </summary> + <param name="obj">The object to serialize</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddXmlBody(System.Object,System.String)"> + <summary> + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + </summary> + <param name="obj">The object to serialize</param> + <param name="xmlNamespace">The XML namespace to use when serializing</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddObject(System.Object,System.String[])"> + <summary> + Calls AddParameter() for all public, readable properties specified in the includedProperties list + </summary> + <example> + request.AddObject(product, "ProductId", "Price", ...); + </example> + <param name="obj">The object with properties to add as parameters</param> + <param name="includedProperties">The names of the properties to include</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddObject(System.Object)"> + <summary> + Calls AddParameter() for all public, readable properties of obj + </summary> + <param name="obj">The object with properties to add as parameters</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddParameter(RestSharp.Parameter)"> + <summary> + Add the parameter to the request + </summary> + <param name="p">Parameter to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.IRestRequest.AddParameter(System.String,System.Object)"> + <summary> + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddParameter(System.String,System.Object,RestSharp.ParameterType)"> + <summary> + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <param name="type">The type of parameter to add</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddParameter(System.String,System.Object,System.String,RestSharp.ParameterType)"> + <summary> + Adds a parameter to the request. There are five types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - Cookie: Adds the name/value pair to the HTTP request's Cookies collection + - RequestBody: Used by AddBody() (not recommended to use directly) + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <param name="contentType">Content-Type of the parameter</param> + <param name="type">The type of parameter to add</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.IRestRequest.AddHeader(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, HttpHeader) overload + </summary> + <param name="name">Name of the header to add</param> + <param name="value">Value of the header to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.IRestRequest.AddCookie(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, Cookie) overload + </summary> + <param name="name">Name of the cookie to add</param> + <param name="value">Value of the cookie to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.IRestRequest.AddUrlSegment(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, UrlSegment) overload + </summary> + <param name="name">Name of the segment to add</param> + <param name="value">Value of the segment to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.IRestRequest.AddQueryParameter(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, QueryString) overload + </summary> + <param name="name">Name of the parameter to add</param> + <param name="value">Value of the parameter to add</param> + <returns></returns> + </member> + <member name="P:RestSharp.IRestRequest.AlwaysMultipartFormData"> + <summary> + Always send a multipart/form-data request - even when no Files are present. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.JsonSerializer"> + <summary> + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + </summary> + </member> + <member name="P:RestSharp.IRestRequest.XmlSerializer"> + <summary> + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.ResponseWriter"> + <summary> + Set this to write response to Stream rather than reading into memory. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.Parameters"> + <summary> + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + </summary> + </member> + <member name="P:RestSharp.IRestRequest.Files"> + <summary> + Container of all the files to be uploaded with the request. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.Method"> + <summary> + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + </summary> + </member> + <member name="P:RestSharp.IRestRequest.Resource"> + <summary> + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + </summary> + <example> + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + </example> + </member> + <member name="P:RestSharp.IRestRequest.RequestFormat"> + <summary> + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.RootElement"> + <summary> + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.DateFormat"> + <summary> + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.XmlNamespace"> + <summary> + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.Credentials"> + <summary> + In general you would not need to set this directly. Used by the NtlmAuthenticator. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.Timeout"> + <summary> + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.ReadWriteTimeout"> + <summary> + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + </summary> + </member> + <member name="P:RestSharp.IRestRequest.Attempts"> + <summary> + How many attempts were made to send this Request? + </summary> + <remarks> + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + </remarks> + </member> + <member name="P:RestSharp.IRestRequest.UseDefaultCredentials"> + <summary> + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + </summary> + </member> + <member name="T:RestSharp.IRestResponse"> + <summary> + Container for data sent back from API + </summary> + </member> + <member name="P:RestSharp.IRestResponse.Request"> + <summary> + The RestRequest that was made to get this RestResponse + </summary> + <remarks> + Mainly for debugging if ResponseStatus is not OK + </remarks> + </member> + <member name="P:RestSharp.IRestResponse.ContentType"> + <summary> + MIME content type of response + </summary> + </member> + <member name="P:RestSharp.IRestResponse.ContentLength"> + <summary> + Length in bytes of the response content + </summary> + </member> + <member name="P:RestSharp.IRestResponse.ContentEncoding"> + <summary> + Encoding of the response content + </summary> + </member> + <member name="P:RestSharp.IRestResponse.Content"> + <summary> + String representation of response content + </summary> + </member> + <member name="P:RestSharp.IRestResponse.StatusCode"> + <summary> + HTTP response status code + </summary> + </member> + <member name="P:RestSharp.IRestResponse.StatusDescription"> + <summary> + Description of HTTP status returned + </summary> + </member> + <member name="P:RestSharp.IRestResponse.RawBytes"> + <summary> + Response content + </summary> + </member> + <member name="P:RestSharp.IRestResponse.ResponseUri"> + <summary> + The URL that actually responded to the content (different from request if redirected) + </summary> + </member> + <member name="P:RestSharp.IRestResponse.Server"> + <summary> + HttpWebResponse.Server + </summary> + </member> + <member name="P:RestSharp.IRestResponse.Cookies"> + <summary> + Cookies returned by server with the response + </summary> + </member> + <member name="P:RestSharp.IRestResponse.Headers"> + <summary> + Headers returned by server with the response + </summary> + </member> + <member name="P:RestSharp.IRestResponse.ResponseStatus"> + <summary> + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + </summary> + </member> + <member name="P:RestSharp.IRestResponse.ErrorMessage"> + <summary> + Transport or other non-HTTP error generated while attempting request + </summary> + </member> + <member name="P:RestSharp.IRestResponse.ErrorException"> + <summary> + Exceptions thrown during the request, if any. + </summary> + <remarks>Will contain only network transport or framework exceptions thrown during the request. + HTTP protocol errors are handled by RestSharp and will not appear here.</remarks> + </member> + <member name="T:RestSharp.IRestResponse`1"> + <summary> + Container for data sent back from API including deserialized data + </summary> + <typeparam name="T">Type of data to deserialize to</typeparam> + </member> + <member name="P:RestSharp.IRestResponse`1.Data"> + <summary> + Deserialized entity data + </summary> + </member> + <member name="T:RestSharp.Parameter"> + <summary> + Parameter container for REST requests + </summary> + </member> + <member name="M:RestSharp.Parameter.ToString"> + <summary> + Return a human-readable representation of this parameter + </summary> + <returns>String</returns> + </member> + <member name="P:RestSharp.Parameter.Name"> + <summary> + Name of the parameter + </summary> + </member> + <member name="P:RestSharp.Parameter.Value"> + <summary> + Value of the parameter + </summary> + </member> + <member name="P:RestSharp.Parameter.Type"> + <summary> + Type of the parameter + </summary> + </member> + <member name="P:RestSharp.Parameter.ContentType"> + <summary> + MIME content type of the parameter + </summary> + </member> + <member name="T:RestSharp.RestClient"> + <summary> + Client to translate RestRequests into Http requests and process response result + </summary> + </member> + <member name="M:RestSharp.RestClient.ExecuteAsync(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle})"> + <summary> + Executes the request and callback asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteAsyncGet(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a GET-style request and callback asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteAsyncPost(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse,RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a POST-style request and callback asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion providing access to the async handle.</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteAsync``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle})"> + <summary> + Executes the request and callback asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteAsyncGet``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a GET-style request and callback asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteAsyncPost``1(RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0},RestSharp.RestRequestAsyncHandle},System.String)"> + <summary> + Executes a POST-style request and callback asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion</param> + <param name="httpMethod">The HTTP method to execute</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest)"> + <summary> + Executes a GET-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a GET-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.RestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest)"> + <summary> + Executes a POST-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.RestClient.ExecutePostTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a POST-style request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest)"> + <summary> + Executes the request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteTaskAsync``1(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes the request asynchronously, authenticating if needed + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteTaskAsync(RestSharp.IRestRequest)"> + <summary> + Executes the request asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest)"> + <summary> + Executes a GET-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteGetTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a GET-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.RestClient.ExecutePostTaskAsync(RestSharp.IRestRequest)"> + <summary> + Executes a POST-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + </member> + <member name="M:RestSharp.RestClient.ExecutePostTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes a POST-style asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.RestClient.ExecuteTaskAsync(RestSharp.IRestRequest,System.Threading.CancellationToken)"> + <summary> + Executes the request asynchronously, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <param name="token">The cancellation token</param> + </member> + <member name="M:RestSharp.RestClient.#ctor"> + <summary> + Default constructor that registers default content handlers + </summary> + </member> + <member name="M:RestSharp.RestClient.#ctor(System.Uri)"> + <summary> + Sets the BaseUrl property for requests made by this client instance + </summary> + <param name="baseUrl"></param> + </member> + <member name="M:RestSharp.RestClient.#ctor(System.String)"> + <summary> + Sets the BaseUrl property for requests made by this client instance + </summary> + <param name="baseUrl"></param> + </member> + <member name="M:RestSharp.RestClient.AddHandler(System.String,RestSharp.Deserializers.IDeserializer)"> + <summary> + Registers a content handler to process response content + </summary> + <param name="contentType">MIME content type of the response content</param> + <param name="deserializer">Deserializer to use to process content</param> + </member> + <member name="M:RestSharp.RestClient.RemoveHandler(System.String)"> + <summary> + Remove a content handler for the specified MIME content type + </summary> + <param name="contentType">MIME content type to remove</param> + </member> + <member name="M:RestSharp.RestClient.ClearHandlers"> + <summary> + Remove all content handlers + </summary> + </member> + <member name="M:RestSharp.RestClient.GetHandler(System.String)"> + <summary> + Retrieve the handler for the specified MIME content type + </summary> + <param name="contentType">MIME content type to retrieve</param> + <returns>IDeserializer instance</returns> + </member> + <member name="M:RestSharp.RestClient.BuildUri(RestSharp.IRestRequest)"> + <summary> + Assembles URL to call based on parameters, method and resource + </summary> + <param name="request">RestRequest to execute</param> + <returns>Assembled System.Uri</returns> + </member> + <member name="M:RestSharp.RestClient.DownloadData(RestSharp.IRestRequest)"> + <summary> + Executes the specified request and downloads the response data + </summary> + <param name="request">Request to execute</param> + <returns>Response data</returns> + </member> + <member name="M:RestSharp.RestClient.Execute(RestSharp.IRestRequest)"> + <summary> + Executes the request and returns a response, authenticating if needed + </summary> + <param name="request">Request to be executed</param> + <returns>RestResponse</returns> + </member> + <member name="M:RestSharp.RestClient.Execute``1(RestSharp.IRestRequest)"> + <summary> + Executes the specified request and deserializes the response content using the appropriate content handler + </summary> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to execute</param> + <returns>RestResponse[[T]] with deserialized data in Data property</returns> + </member> + <member name="P:RestSharp.RestClient.MaxRedirects"> + <summary> + Maximum number of redirects to follow if FollowRedirects is true + </summary> + </member> + <member name="P:RestSharp.RestClient.ClientCertificates"> + <summary> + X509CertificateCollection to be sent with request + </summary> + </member> + <member name="P:RestSharp.RestClient.Proxy"> + <summary> + Proxy to use for requests made by this client instance. + Passed on to underlying WebRequest if set. + </summary> + </member> + <member name="P:RestSharp.RestClient.CachePolicy"> + <summary> + The cache policy to use for requests initiated by this client instance. + </summary> + </member> + <member name="P:RestSharp.RestClient.FollowRedirects"> + <summary> + Default is true. Determine whether or not requests that result in + HTTP status codes of 3xx should follow returned redirect + </summary> + </member> + <member name="P:RestSharp.RestClient.CookieContainer"> + <summary> + The CookieContainer used for requests made by this client instance + </summary> + </member> + <member name="P:RestSharp.RestClient.UserAgent"> + <summary> + UserAgent to use for requests made by this client instance + </summary> + </member> + <member name="P:RestSharp.RestClient.Timeout"> + <summary> + Timeout in milliseconds to use for requests made by this client instance + </summary> + </member> + <member name="P:RestSharp.RestClient.ReadWriteTimeout"> + <summary> + The number of milliseconds before the writing or reading times out. + </summary> + </member> + <member name="P:RestSharp.RestClient.UseSynchronizationContext"> + <summary> + Whether to invoke async callbacks using the SynchronizationContext.Current captured when invoked + </summary> + </member> + <member name="P:RestSharp.RestClient.Authenticator"> + <summary> + Authenticator to use for requests made by this client instance + </summary> + </member> + <member name="P:RestSharp.RestClient.BaseUrl"> + <summary> + Combined with Request.Resource to construct URL for request + Should include scheme and domain without trailing slash. + </summary> + <example> + client.BaseUrl = new Uri("http://example.com"); + </example> + </member> + <member name="P:RestSharp.RestClient.DefaultParameters"> + <summary> + Parameters included with every request made with this instance of RestClient + If specified in both client and request, the request wins + </summary> + </member> + <member name="M:RestSharp.RestClientExtensions.ExecuteAsync(RestSharp.IRestClient,RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse})"> + <summary> + Executes the request and callback asynchronously, authenticating if needed + </summary> + <param name="client">The IRestClient this method extends</param> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion</param> + </member> + <member name="M:RestSharp.RestClientExtensions.ExecuteAsync``1(RestSharp.IRestClient,RestSharp.IRestRequest,System.Action{RestSharp.IRestResponse{``0}})"> + <summary> + Executes the request and callback asynchronously, authenticating if needed + </summary> + <param name="client">The IRestClient this method extends</param> + <typeparam name="T">Target deserialization type</typeparam> + <param name="request">Request to be executed</param> + <param name="callback">Callback function to be executed upon completion providing access to the async handle</param> + </member> + <member name="M:RestSharp.RestClientExtensions.AddDefaultParameter(RestSharp.IRestClient,RestSharp.Parameter)"> + <summary> + Add a parameter to use on every request made with this client instance + </summary> + <param name="restClient">The IRestClient instance</param> + <param name="p">Parameter to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestClientExtensions.RemoveDefaultParameter(RestSharp.IRestClient,System.String)"> + <summary> + Removes a parameter from the default parameters that are used on every request made with this client instance + </summary> + <param name="restClient">The IRestClient instance</param> + <param name="name">The name of the parameter that needs to be removed</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestClientExtensions.AddDefaultParameter(RestSharp.IRestClient,System.String,System.Object)"> + <summary> + Adds a HTTP parameter (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + Used on every request made by this client instance + </summary> + <param name="restClient">The IRestClient instance</param> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestClientExtensions.AddDefaultParameter(RestSharp.IRestClient,System.String,System.Object,RestSharp.ParameterType)"> + <summary> + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + </summary> + <param name="restClient">The IRestClient instance</param> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <param name="type">The type of parameter to add</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestClientExtensions.AddDefaultHeader(RestSharp.IRestClient,System.String,System.String)"> + <summary> + Shortcut to AddDefaultParameter(name, value, HttpHeader) overload + </summary> + <param name="restClient">The IRestClient instance</param> + <param name="name">Name of the header to add</param> + <param name="value">Value of the header to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestClientExtensions.AddDefaultUrlSegment(RestSharp.IRestClient,System.String,System.String)"> + <summary> + Shortcut to AddDefaultParameter(name, value, UrlSegment) overload + </summary> + <param name="restClient">The IRestClient instance</param> + <param name="name">Name of the segment to add</param> + <param name="value">Value of the segment to add</param> + <returns></returns> + </member> + <member name="T:RestSharp.RestRequest"> + <summary> + Container for data used to make requests + </summary> + </member> + <member name="M:RestSharp.RestRequest.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:RestSharp.RestRequest.#ctor(RestSharp.Method)"> + <summary> + Sets Method property to value of method + </summary> + <param name="method">Method to use for this request</param> + </member> + <member name="M:RestSharp.RestRequest.#ctor(System.String)"> + <summary> + Sets Resource property + </summary> + <param name="resource">Resource to use for this request</param> + </member> + <member name="M:RestSharp.RestRequest.#ctor(System.String,RestSharp.Method)"> + <summary> + Sets Resource and Method properties + </summary> + <param name="resource">Resource to use for this request</param> + <param name="method">Method to use for this request</param> + </member> + <member name="M:RestSharp.RestRequest.#ctor(System.Uri)"> + <summary> + Sets Resource property + </summary> + <param name="resource">Resource to use for this request</param> + </member> + <member name="M:RestSharp.RestRequest.#ctor(System.Uri,RestSharp.Method)"> + <summary> + Sets Resource and Method properties + </summary> + <param name="resource">Resource to use for this request</param> + <param name="method">Method to use for this request</param> + </member> + <member name="M:RestSharp.RestRequest.AddFile(System.String,System.String,System.String)"> + <summary> + Adds a file to the Files collection to be included with a POST or PUT request + (other methods do not support file uploads). + </summary> + <param name="name">The parameter name to use in the request</param> + <param name="path">Full path to file to upload</param> + <param name="contentType">The MIME type of the file to upload</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddFile(System.String,System.Byte[],System.String,System.String)"> + <summary> + Adds the bytes to the Files collection with the specified file name + </summary> + <param name="name">The parameter name to use in the request</param> + <param name="bytes">The file data</param> + <param name="fileName">The file name to use for the uploaded file</param> + <param name="contentType">The MIME type of the file to upload</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddFile(System.String,System.Action{System.IO.Stream},System.String,System.String)"> + <summary> + Adds the bytes to the Files collection with the specified file name and content type + </summary> + <param name="name">The parameter name to use in the request</param> + <param name="writer">A function that writes directly to the stream. Should NOT close the stream.</param> + <param name="fileName">The file name to use for the uploaded file</param> + <param name="contentType">The MIME type of the file to upload</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddFileBytes(System.String,System.Byte[],System.String,System.String)"> + <summary> + Add bytes to the Files collection as if it was a file of specific type + </summary> + <param name="name">A form parameter name</param> + <param name="bytes">The file data</param> + <param name="filename">The file name to use for the uploaded file</param> + <param name="contentType">Specific content type. Es: application/x-gzip </param> + <returns></returns> + </member> + <member name="M:RestSharp.RestRequest.AddBody(System.Object,System.String)"> + <summary> + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + </summary> + <param name="obj">The object to serialize</param> + <param name="xmlNamespace">The XML namespace to use when serializing</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddBody(System.Object)"> + <summary> + Serializes obj to data format specified by RequestFormat and adds it to the request body. + The default format is XML. Change RequestFormat if you wish to use a different serialization format. + </summary> + <param name="obj">The object to serialize</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddJsonBody(System.Object)"> + <summary> + Serializes obj to JSON format and adds it to the request body. + </summary> + <param name="obj">The object to serialize</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddXmlBody(System.Object)"> + <summary> + Serializes obj to XML format and adds it to the request body. + </summary> + <param name="obj">The object to serialize</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddXmlBody(System.Object,System.String)"> + <summary> + Serializes obj to format specified by RequestFormat, but passes xmlNamespace if using the default XmlSerializer + Serializes obj to XML format and passes xmlNamespace then adds it to the request body. + </summary> + <param name="obj">The object to serialize</param> + <param name="xmlNamespace">The XML namespace to use when serializing</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddObject(System.Object,System.String[])"> + <summary> + Calls AddParameter() for all public, readable properties specified in the includedProperties list + </summary> + <example> + request.AddObject(product, "ProductId", "Price", ...); + </example> + <param name="obj">The object with properties to add as parameters</param> + <param name="includedProperties">The names of the properties to include</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddObject(System.Object)"> + <summary> + Calls AddParameter() for all public, readable properties of obj + </summary> + <param name="obj">The object with properties to add as parameters</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddParameter(RestSharp.Parameter)"> + <summary> + Add the parameter to the request + </summary> + <param name="p">Parameter to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestRequest.AddParameter(System.String,System.Object)"> + <summary> + Adds a HTTP parameter to the request (QueryString for GET, DELETE, OPTIONS and HEAD; Encoded form for POST and PUT) + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddParameter(System.String,System.Object,RestSharp.ParameterType)"> + <summary> + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <param name="type">The type of parameter to add</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddParameter(System.String,System.Object,System.String,RestSharp.ParameterType)"> + <summary> + Adds a parameter to the request. There are four types of parameters: + - GetOrPost: Either a QueryString value or encoded form value based on method + - HttpHeader: Adds the name/value pair to the HTTP request's Headers collection + - UrlSegment: Inserted into URL if there is a matching url token e.g. {AccountId} + - RequestBody: Used by AddBody() (not recommended to use directly) + </summary> + <param name="name">Name of the parameter</param> + <param name="value">Value of the parameter</param> + <param name="contentType">Content-Type of the parameter</param> + <param name="type">The type of parameter to add</param> + <returns>This request</returns> + </member> + <member name="M:RestSharp.RestRequest.AddHeader(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, HttpHeader) overload + </summary> + <param name="name">Name of the header to add</param> + <param name="value">Value of the header to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestRequest.AddCookie(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, Cookie) overload + </summary> + <param name="name">Name of the cookie to add</param> + <param name="value">Value of the cookie to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestRequest.AddUrlSegment(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, UrlSegment) overload + </summary> + <param name="name">Name of the segment to add</param> + <param name="value">Value of the segment to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestRequest.AddQueryParameter(System.String,System.String)"> + <summary> + Shortcut to AddParameter(name, value, QueryString) overload + </summary> + <param name="name">Name of the parameter to add</param> + <param name="value">Value of the parameter to add</param> + <returns></returns> + </member> + <member name="M:RestSharp.RestRequest.IncreaseNumAttempts"> + <summary> + Internal Method so that RestClient can increase the number of attempts + </summary> + </member> + <member name="P:RestSharp.RestRequest.AlwaysMultipartFormData"> + <summary> + Always send a multipart/form-data request - even when no Files are present. + </summary> + </member> + <member name="P:RestSharp.RestRequest.JsonSerializer"> + <summary> + Serializer to use when writing JSON request bodies. Used if RequestFormat is Json. + By default the included JsonSerializer is used (currently using JSON.NET default serialization). + </summary> + </member> + <member name="P:RestSharp.RestRequest.XmlSerializer"> + <summary> + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default the included XmlSerializer is used. + </summary> + </member> + <member name="P:RestSharp.RestRequest.ResponseWriter"> + <summary> + Set this to write response to Stream rather than reading into memory. + </summary> + </member> + <member name="P:RestSharp.RestRequest.UseDefaultCredentials"> + <summary> + Determine whether or not the "default credentials" (e.g. the user account under which the current process is running) + will be sent along to the server. The default is false. + </summary> + </member> + <member name="P:RestSharp.RestRequest.Parameters"> + <summary> + Container of all HTTP parameters to be passed with the request. + See AddParameter() for explanation of the types of parameters that can be passed + </summary> + </member> + <member name="P:RestSharp.RestRequest.Files"> + <summary> + Container of all the files to be uploaded with the request. + </summary> + </member> + <member name="P:RestSharp.RestRequest.Method"> + <summary> + Determines what HTTP method to use for this request. Supported methods: GET, POST, PUT, DELETE, HEAD, OPTIONS + Default is GET + </summary> + </member> + <member name="P:RestSharp.RestRequest.Resource"> + <summary> + The Resource URL to make the request against. + Tokens are substituted with UrlSegment parameters and match by name. + Should not include the scheme or domain. Do not include leading slash. + Combined with RestClient.BaseUrl to assemble final URL: + {BaseUrl}/{Resource} (BaseUrl is scheme + domain, e.g. http://example.com) + </summary> + <example> + // example for url token replacement + request.Resource = "Products/{ProductId}"; + request.AddParameter("ProductId", 123, ParameterType.UrlSegment); + </example> + </member> + <member name="P:RestSharp.RestRequest.RequestFormat"> + <summary> + Serializer to use when writing XML request bodies. Used if RequestFormat is Xml. + By default XmlSerializer is used. + </summary> + </member> + <member name="P:RestSharp.RestRequest.RootElement"> + <summary> + Used by the default deserializers to determine where to start deserializing from. + Can be used to skip container or root elements that do not have corresponding deserialzation targets. + </summary> + </member> + <member name="P:RestSharp.RestRequest.OnBeforeDeserialization"> + <summary> + A function to run prior to deserializing starting (e.g. change settings if error encountered) + </summary> + </member> + <member name="P:RestSharp.RestRequest.DateFormat"> + <summary> + Used by the default deserializers to explicitly set which date format string to use when parsing dates. + </summary> + </member> + <member name="P:RestSharp.RestRequest.XmlNamespace"> + <summary> + Used by XmlDeserializer. If not specified, XmlDeserializer will flatten response by removing namespaces from element names. + </summary> + </member> + <member name="P:RestSharp.RestRequest.Credentials"> + <summary> + In general you would not need to set this directly. Used by the NtlmAuthenticator. + </summary> + </member> + <member name="P:RestSharp.RestRequest.UserState"> + <summary> + Gets or sets a user-defined state object that contains information about a request and which can be later + retrieved when the request completes. + </summary> + </member> + <member name="P:RestSharp.RestRequest.Timeout"> + <summary> + Timeout in milliseconds to be used for the request. This timeout value overrides a timeout set on the RestClient. + </summary> + </member> + <member name="P:RestSharp.RestRequest.ReadWriteTimeout"> + <summary> + The number of milliseconds before the writing or reading times out. This timeout value overrides a timeout set on the RestClient. + </summary> + </member> + <member name="P:RestSharp.RestRequest.Attempts"> + <summary> + How many attempts were made to send this Request? + </summary> + <remarks> + This Number is incremented each time the RestClient sends the request. + Useful when using Asynchronous Execution with Callbacks + </remarks> + </member> + <member name="T:RestSharp.RestResponseBase"> + <summary> + Base class for common properties shared by RestResponse and RestResponse[[T]] + </summary> + </member> + <member name="M:RestSharp.RestResponseBase.#ctor"> + <summary> + Default constructor + </summary> + </member> + <member name="M:RestSharp.RestResponseBase.DebuggerDisplay"> + <summary> + Assists with debugging responses by displaying in the debugger output + </summary> + <returns></returns> + </member> + <member name="P:RestSharp.RestResponseBase.Request"> + <summary> + The RestRequest that was made to get this RestResponse + </summary> + <remarks> + Mainly for debugging if ResponseStatus is not OK + </remarks> + </member> + <member name="P:RestSharp.RestResponseBase.ContentType"> + <summary> + MIME content type of response + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.ContentLength"> + <summary> + Length in bytes of the response content + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.ContentEncoding"> + <summary> + Encoding of the response content + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.Content"> + <summary> + String representation of response content + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.StatusCode"> + <summary> + HTTP response status code + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.StatusDescription"> + <summary> + Description of HTTP status returned + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.RawBytes"> + <summary> + Response content + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.ResponseUri"> + <summary> + The URL that actually responded to the content (different from request if redirected) + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.Server"> + <summary> + HttpWebResponse.Server + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.Cookies"> + <summary> + Cookies returned by server with the response + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.Headers"> + <summary> + Headers returned by server with the response + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.ResponseStatus"> + <summary> + Status of the request. Will return Error for transport errors. + HTTP errors will still return ResponseStatus.Completed, check StatusCode instead + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.ErrorMessage"> + <summary> + Transport or other non-HTTP error generated while attempting request + </summary> + </member> + <member name="P:RestSharp.RestResponseBase.ErrorException"> + <summary> + The exception thrown during the request, if any + </summary> + </member> + <member name="T:RestSharp.RestResponse`1"> + <summary> + Container for data sent back from API including deserialized data + </summary> + <typeparam name="T">Type of data to deserialize to</typeparam> + </member> + <member name="P:RestSharp.RestResponse`1.Data"> + <summary> + Deserialized entity data + </summary> + </member> + <member name="T:RestSharp.RestResponse"> + <summary> + Container for data sent back from API + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Comment"> + <summary> + Comment of the cookie + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.CommentUri"> + <summary> + Comment of the cookie + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Discard"> + <summary> + Indicates whether the cookie should be discarded at the end of the session + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Domain"> + <summary> + Domain of the cookie + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Expired"> + <summary> + Indicates whether the cookie is expired + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Expires"> + <summary> + Date and time that the cookie expires + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.HttpOnly"> + <summary> + Indicates that this cookie should only be accessed by the server + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Name"> + <summary> + Name of the cookie + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Path"> + <summary> + Path of the cookie + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Port"> + <summary> + Port of the cookie + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Secure"> + <summary> + Indicates that the cookie should only be sent over secure channels + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.TimeStamp"> + <summary> + Date and time the cookie was created + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Value"> + <summary> + Value of the cookie + </summary> + </member> + <member name="P:RestSharp.RestResponseCookie.Version"> + <summary> + Version of the cookie + </summary> + </member> + <member name="T:RestSharp.Serializers.DotNetXmlSerializer"> + <summary> + Wrapper for System.Xml.Serialization.XmlSerializer. + </summary> + </member> + <member name="M:RestSharp.Serializers.DotNetXmlSerializer.#ctor"> + <summary> + Default constructor, does not specify namespace + </summary> + </member> + <member name="M:RestSharp.Serializers.DotNetXmlSerializer.#ctor(System.String)"> + <summary> + Specify the namespaced to be used when serializing + </summary> + <param name="namespace">XML namespace</param> + </member> + <member name="M:RestSharp.Serializers.DotNetXmlSerializer.Serialize(System.Object)"> + <summary> + Serialize the object as XML + </summary> + <param name="obj">Object to serialize</param> + <returns>XML as string</returns> + </member> + <member name="P:RestSharp.Serializers.DotNetXmlSerializer.RootElement"> + <summary> + Name of the root element to use when serializing + </summary> + </member> + <member name="P:RestSharp.Serializers.DotNetXmlSerializer.Namespace"> + <summary> + XML namespace to use when serializing + </summary> + </member> + <member name="P:RestSharp.Serializers.DotNetXmlSerializer.DateFormat"> + <summary> + Format string to use when serializing dates + </summary> + </member> + <member name="P:RestSharp.Serializers.DotNetXmlSerializer.ContentType"> + <summary> + Content type for serialized content + </summary> + </member> + <member name="P:RestSharp.Serializers.DotNetXmlSerializer.Encoding"> + <summary> + Encoding for serialized content + </summary> + </member> + <member name="T:RestSharp.Serializers.DotNetXmlSerializer.EncodingStringWriter"> + <summary> + Need to subclass StringWriter in order to override Encoding + </summary> + </member> + <member name="T:RestSharp.Serializers.JsonSerializer"> + <summary> + Default JSON serializer for request bodies + Doesn't currently use the SerializeAs attribute, defers to Newtonsoft's attributes + </summary> + </member> + <member name="M:RestSharp.Serializers.JsonSerializer.#ctor"> + <summary> + Default serializer + </summary> + </member> + <member name="M:RestSharp.Serializers.JsonSerializer.Serialize(System.Object)"> + <summary> + Serialize the object as JSON + </summary> + <param name="obj">Object to serialize</param> + <returns>JSON as String</returns> + </member> + <member name="P:RestSharp.Serializers.JsonSerializer.DateFormat"> + <summary> + Unused for JSON Serialization + </summary> + </member> + <member name="P:RestSharp.Serializers.JsonSerializer.RootElement"> + <summary> + Unused for JSON Serialization + </summary> + </member> + <member name="P:RestSharp.Serializers.JsonSerializer.Namespace"> + <summary> + Unused for JSON Serialization + </summary> + </member> + <member name="P:RestSharp.Serializers.JsonSerializer.ContentType"> + <summary> + Content type for serialized content + </summary> + </member> + <member name="T:RestSharp.Serializers.SerializeAsAttribute"> + <summary> + Allows control how class and property names and values are serialized by XmlSerializer + Currently not supported with the JsonSerializer + When specified at the property level the class-level specification is overridden + </summary> + </member> + <member name="M:RestSharp.Serializers.SerializeAsAttribute.TransformName(System.String)"> + <summary> + Called by the attribute when NameStyle is speficied + </summary> + <param name="input">The string to transform</param> + <returns>String</returns> + </member> + <member name="P:RestSharp.Serializers.SerializeAsAttribute.Name"> + <summary> + The name to use for the serialized element + </summary> + </member> + <member name="P:RestSharp.Serializers.SerializeAsAttribute.Attribute"> + <summary> + Sets the value to be serialized as an Attribute instead of an Element + </summary> + </member> + <member name="P:RestSharp.Serializers.SerializeAsAttribute.Culture"> + <summary> + The culture to use when serializing + </summary> + </member> + <member name="P:RestSharp.Serializers.SerializeAsAttribute.NameStyle"> + <summary> + Transforms the casing of the name based on the selected value. + </summary> + </member> + <member name="P:RestSharp.Serializers.SerializeAsAttribute.Index"> + <summary> + The order to serialize the element. Default is int.MaxValue. + </summary> + </member> + <member name="T:RestSharp.Serializers.NameStyle"> + <summary> + Options for transforming casing of element names + </summary> + </member> + <member name="T:RestSharp.Serializers.XmlSerializer"> + <summary> + Default XML Serializer + </summary> + </member> + <member name="M:RestSharp.Serializers.XmlSerializer.#ctor"> + <summary> + Default constructor, does not specify namespace + </summary> + </member> + <member name="M:RestSharp.Serializers.XmlSerializer.#ctor(System.String)"> + <summary> + Specify the namespaced to be used when serializing + </summary> + <param name="namespace">XML namespace</param> + </member> + <member name="M:RestSharp.Serializers.XmlSerializer.Serialize(System.Object)"> + <summary> + Serialize the object as XML + </summary> + <param name="obj">Object to serialize</param> + <returns>XML as string</returns> + </member> + <member name="M:RestSharp.Serializers.XmlSerializer.IsNumeric(System.Object)"> + <summary> + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + </summary> + </member> + <member name="P:RestSharp.Serializers.XmlSerializer.RootElement"> + <summary> + Name of the root element to use when serializing + </summary> + </member> + <member name="P:RestSharp.Serializers.XmlSerializer.Namespace"> + <summary> + XML namespace to use when serializing + </summary> + </member> + <member name="P:RestSharp.Serializers.XmlSerializer.DateFormat"> + <summary> + Format string to use when serializing dates + </summary> + </member> + <member name="P:RestSharp.Serializers.XmlSerializer.ContentType"> + <summary> + Content type for serialized content + </summary> + </member> + <member name="T:RestSharp.Validation.Require"> + <summary> + Helper methods for validating required values + </summary> + </member> + <member name="M:RestSharp.Validation.Require.Argument(System.String,System.Object)"> + <summary> + Require a parameter to not be null + </summary> + <param name="argumentName">Name of the parameter</param> + <param name="argumentValue">Value of the parameter</param> + </member> + <member name="T:RestSharp.JsonArray"> + <summary> + Represents the json array. + </summary> + </member> + <member name="M:RestSharp.JsonArray.#ctor"> + <summary> + Initializes a new instance of the <see cref="T:RestSharp.JsonArray"/> class. + </summary> + </member> + <member name="M:RestSharp.JsonArray.#ctor(System.Int32)"> + <summary> + Initializes a new instance of the <see cref="T:RestSharp.JsonArray"/> class. + </summary> + <param name="capacity">The capacity of the json array.</param> + </member> + <member name="M:RestSharp.JsonArray.ToString"> + <summary> + The json representation of the array. + </summary> + <returns>The json representation of the array.</returns> + </member> + <member name="T:RestSharp.JsonObject"> + <summary> + Represents the json object. + </summary> + </member> + <member name="F:RestSharp.JsonObject._members"> + <summary> + The internal member dictionary. + </summary> + </member> + <member name="M:RestSharp.JsonObject.#ctor"> + <summary> + Initializes a new instance of <see cref="T:RestSharp.JsonObject"/>. + </summary> + </member> + <member name="M:RestSharp.JsonObject.#ctor(System.Collections.Generic.IEqualityComparer{System.String})"> + <summary> + Initializes a new instance of <see cref="T:RestSharp.JsonObject"/>. + </summary> + <param name="comparer">The <see cref="T:System.Collections.Generic.IEqualityComparer`1"/> implementation to use when comparing keys, or null to use the default <see cref="T:System.Collections.Generic.EqualityComparer`1"/> for the type of the key.</param> + </member> + <member name="M:RestSharp.JsonObject.Add(System.String,System.Object)"> + <summary> + Adds the specified key. + </summary> + <param name="key">The key.</param> + <param name="value">The value.</param> + </member> + <member name="M:RestSharp.JsonObject.ContainsKey(System.String)"> + <summary> + Determines whether the specified key contains key. + </summary> + <param name="key">The key.</param> + <returns> + <c>true</c> if the specified key contains key; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:RestSharp.JsonObject.Remove(System.String)"> + <summary> + Removes the specified key. + </summary> + <param name="key">The key.</param> + <returns></returns> + </member> + <member name="M:RestSharp.JsonObject.TryGetValue(System.String,System.Object@)"> + <summary> + Tries the get value. + </summary> + <param name="key">The key.</param> + <param name="value">The value.</param> + <returns></returns> + </member> + <member name="M:RestSharp.JsonObject.Add(System.Collections.Generic.KeyValuePair{System.String,System.Object})"> + <summary> + Adds the specified item. + </summary> + <param name="item">The item.</param> + </member> + <member name="M:RestSharp.JsonObject.Clear"> + <summary> + Clears this instance. + </summary> + </member> + <member name="M:RestSharp.JsonObject.Contains(System.Collections.Generic.KeyValuePair{System.String,System.Object})"> + <summary> + Determines whether [contains] [the specified item]. + </summary> + <param name="item">The item.</param> + <returns> + <c>true</c> if [contains] [the specified item]; otherwise, <c>false</c>. + </returns> + </member> + <member name="M:RestSharp.JsonObject.CopyTo(System.Collections.Generic.KeyValuePair{System.String,System.Object}[],System.Int32)"> + <summary> + Copies to. + </summary> + <param name="array">The array.</param> + <param name="arrayIndex">Index of the array.</param> + </member> + <member name="M:RestSharp.JsonObject.Remove(System.Collections.Generic.KeyValuePair{System.String,System.Object})"> + <summary> + Removes the specified item. + </summary> + <param name="item">The item.</param> + <returns></returns> + </member> + <member name="M:RestSharp.JsonObject.GetEnumerator"> + <summary> + Gets the enumerator. + </summary> + <returns></returns> + </member> + <member name="M:RestSharp.JsonObject.System#Collections#IEnumerable#GetEnumerator"> + <summary> + Returns an enumerator that iterates through a collection. + </summary> + <returns> + An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection. + </returns> + </member> + <member name="M:RestSharp.JsonObject.ToString"> + <summary> + Returns a json <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>. + </summary> + <returns> + A json <see cref="T:System.String"/> that represents the current <see cref="T:System.Object"/>. + </returns> + </member> + <member name="M:RestSharp.JsonObject.TryConvert(System.Dynamic.ConvertBinder,System.Object@)"> + <summary> + Provides implementation for type conversion operations. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for operations that convert an object from one type to another. + </summary> + <param name="binder">Provides information about the conversion operation. The binder.Type property provides the type to which the object must be converted. For example, for the statement (String)sampleObject in C# (CType(sampleObject, Type) in Visual Basic), where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, binder.Type returns the <see cref="T:System.String"/> type. The binder.Explicit property provides information about the kind of conversion that occurs. It returns true for explicit conversion and false for implicit conversion.</param> + <param name="result">The result of the type conversion operation.</param> + <returns> + Alwasy returns true. + </returns> + </member> + <member name="M:RestSharp.JsonObject.TryDeleteMember(System.Dynamic.DeleteMemberBinder)"> + <summary> + Provides the implementation for operations that delete an object member. This method is not intended for use in C# or Visual Basic. + </summary> + <param name="binder">Provides information about the deletion.</param> + <returns> + Alwasy returns true. + </returns> + </member> + <member name="M:RestSharp.JsonObject.TryGetIndex(System.Dynamic.GetIndexBinder,System.Object[],System.Object@)"> + <summary> + Provides the implementation for operations that get a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for indexing operations. + </summary> + <param name="binder">Provides information about the operation.</param> + <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] operation in C# (sampleObject(3) in Visual Basic), where sampleObject is derived from the DynamicObject class, <paramref name="indexes"/> is equal to 3.</param> + <param name="result">The result of the index operation.</param> + <returns> + Alwasy returns true. + </returns> + </member> + <member name="M:RestSharp.JsonObject.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)"> + <summary> + Provides the implementation for operations that get member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for operations such as getting a value for a property. + </summary> + <param name="binder">Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member on which the dynamic operation is performed. For example, for the Console.WriteLine(sampleObject.SampleProperty) statement, where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param> + <param name="result">The result of the get operation. For example, if the method is called for a property, you can assign the property value to <paramref name="result"/>.</param> + <returns> + Alwasy returns true. + </returns> + </member> + <member name="M:RestSharp.JsonObject.TrySetIndex(System.Dynamic.SetIndexBinder,System.Object[],System.Object)"> + <summary> + Provides the implementation for operations that set a value by index. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for operations that access objects by a specified index. + </summary> + <param name="binder">Provides information about the operation.</param> + <param name="indexes">The indexes that are used in the operation. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, <paramref name="indexes"/> is equal to 3.</param> + <param name="value">The value to set to the object that has the specified index. For example, for the sampleObject[3] = 10 operation in C# (sampleObject(3) = 10 in Visual Basic), where sampleObject is derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, <paramref name="value"/> is equal to 10.</param> + <returns> + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown. + </returns> + </member> + <member name="M:RestSharp.JsonObject.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)"> + <summary> + Provides the implementation for operations that set member values. Classes derived from the <see cref="T:System.Dynamic.DynamicObject"/> class can override this method to specify dynamic behavior for operations such as setting a value for a property. + </summary> + <param name="binder">Provides information about the object that called the dynamic operation. The binder.Name property provides the name of the member to which the value is being assigned. For example, for the statement sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, binder.Name returns "SampleProperty". The binder.IgnoreCase property specifies whether the member name is case-sensitive.</param> + <param name="value">The value to set to the member. For example, for sampleObject.SampleProperty = "Test", where sampleObject is an instance of the class derived from the <see cref="T:System.Dynamic.DynamicObject"/> class, the <paramref name="value"/> is "Test".</param> + <returns> + true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.) + </returns> + </member> + <member name="M:RestSharp.JsonObject.GetDynamicMemberNames"> + <summary> + Returns the enumeration of all dynamic member names. + </summary> + <returns> + A sequence that contains dynamic member names. + </returns> + </member> + <member name="P:RestSharp.JsonObject.Item(System.Int32)"> + <summary> + Gets the <see cref="T:System.Object"/> at the specified index. + </summary> + <value></value> + </member> + <member name="P:RestSharp.JsonObject.Keys"> + <summary> + Gets the keys. + </summary> + <value>The keys.</value> + </member> + <member name="P:RestSharp.JsonObject.Values"> + <summary> + Gets the values. + </summary> + <value>The values.</value> + </member> + <member name="P:RestSharp.JsonObject.Item(System.String)"> + <summary> + Gets or sets the <see cref="T:System.Object"/> with the specified key. + </summary> + <value></value> + </member> + <member name="P:RestSharp.JsonObject.Count"> + <summary> + Gets the count. + </summary> + <value>The count.</value> + </member> + <member name="P:RestSharp.JsonObject.IsReadOnly"> + <summary> + Gets a value indicating whether this instance is read only. + </summary> + <value> + <c>true</c> if this instance is read only; otherwise, <c>false</c>. + </value> + </member> + <member name="T:RestSharp.SimpleJson"> + <summary> + This class encodes and decodes JSON strings. + Spec. details, see http://www.json.org/ + + JSON uses Arrays and Objects. These correspond here to the datatypes JsonArray(IList<object>) and JsonObject(IDictionary<string,object>). + All numbers are parsed to doubles. + </summary> + </member> + <member name="M:RestSharp.SimpleJson.DeserializeObject(System.String)"> + <summary> + Parses the string json into a value + </summary> + <param name="json">A JSON string.</param> + <returns>An IList<object>, a IDictionary<string,object>, a double, a string, null, true, or false</returns> + </member> + <member name="M:RestSharp.SimpleJson.TryDeserializeObject(System.String,System.Object@)"> + <summary> + Try parsing the json string into a value. + </summary> + <param name="json"> + A JSON string. + </param> + <param name="obj"> + The object. + </param> + <returns> + Returns true if successfull otherwise false. + </returns> + </member> + <member name="M:RestSharp.SimpleJson.SerializeObject(System.Object,RestSharp.IJsonSerializerStrategy)"> + <summary> + Converts a IDictionary<string,object> / IList<object> object into a JSON string + </summary> + <param name="json">A IDictionary<string,object> / IList<object></param> + <param name="jsonSerializerStrategy">Serializer strategy to use</param> + <returns>A JSON encoded string, or null if object 'json' is not serializable</returns> + </member> + <member name="M:RestSharp.SimpleJson.IsNumeric(System.Object)"> + <summary> + Determines if a given object is numeric in any way + (can be integer, double, null, etc). + </summary> + </member> + <member name="T:RestSharp.Validation.Validate"> + <summary> + Helper methods for validating values + </summary> + </member> + <member name="M:RestSharp.Validation.Validate.IsBetween(System.Int32,System.Int32,System.Int32)"> + <summary> + Validate an integer value is between the specified values (exclusive of min/max) + </summary> + <param name="value">Value to validate</param> + <param name="min">Exclusive minimum value</param> + <param name="max">Exclusive maximum value</param> + </member> + <member name="M:RestSharp.Validation.Validate.IsValidLength(System.String,System.Int32)"> + <summary> + Validate a string length + </summary> + <param name="value">String to be validated</param> + <param name="maxSize">Maximum length of the string</param> + </member> + </members> +</doc> diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/sl5/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/sl5/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/sl5/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/sl5/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/sl5/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone8/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.dll b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.dll similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.dll rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.dll diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/lib/windowsphone81/RestSharp.xml diff --git a/DfBAdminToolkit/packages/RestSharp.105.2.3/readme.txt b/DfBAdminToolkit-v2/packages/RestSharp.105.2.3/readme.txt similarity index 100% rename from DfBAdminToolkit/packages/RestSharp.105.2.3/readme.txt rename to DfBAdminToolkit-v2/packages/RestSharp.105.2.3/readme.txt diff --git a/DfBAdminToolkit/$tf/0/1b325150-208c-42ca-b56f-dc8093a4bef0.gz b/DfBAdminToolkit/$tf/0/1b325150-208c-42ca-b56f-dc8093a4bef0.gz deleted file mode 100644 index e8f9954..0000000 Binary files a/DfBAdminToolkit/$tf/0/1b325150-208c-42ca-b56f-dc8093a4bef0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/37652f30-51ce-43db-8eef-d561bf73bd9f.gz b/DfBAdminToolkit/$tf/0/37652f30-51ce-43db-8eef-d561bf73bd9f.gz deleted file mode 100644 index 57f9b1a..0000000 Binary files a/DfBAdminToolkit/$tf/0/37652f30-51ce-43db-8eef-d561bf73bd9f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/4fbef230-a9ce-419c-8c84-5dfaecfc8087.gz b/DfBAdminToolkit/$tf/0/4fbef230-a9ce-419c-8c84-5dfaecfc8087.gz deleted file mode 100644 index 83fa98f..0000000 Binary files a/DfBAdminToolkit/$tf/0/4fbef230-a9ce-419c-8c84-5dfaecfc8087.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/5b0f0f80-32f0-4985-9159-e49fd7a05e01.gz b/DfBAdminToolkit/$tf/0/5b0f0f80-32f0-4985-9159-e49fd7a05e01.gz deleted file mode 100644 index e912555..0000000 Binary files a/DfBAdminToolkit/$tf/0/5b0f0f80-32f0-4985-9159-e49fd7a05e01.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/6bbc7e70-3fbb-4f46-bec9-d5dd42cf8a42.gz b/DfBAdminToolkit/$tf/0/6bbc7e70-3fbb-4f46-bec9-d5dd42cf8a42.gz deleted file mode 100644 index 79ff82c..0000000 Binary files a/DfBAdminToolkit/$tf/0/6bbc7e70-3fbb-4f46-bec9-d5dd42cf8a42.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/91536d70-794b-40c1-9015-79c13e191a49.gz b/DfBAdminToolkit/$tf/0/91536d70-794b-40c1-9015-79c13e191a49.gz deleted file mode 100644 index 1ca1c5b..0000000 Binary files a/DfBAdminToolkit/$tf/0/91536d70-794b-40c1-9015-79c13e191a49.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/96729690-e941-4eb6-be3b-1fe67c4ccec8.gz b/DfBAdminToolkit/$tf/0/96729690-e941-4eb6-be3b-1fe67c4ccec8.gz deleted file mode 100644 index 6cd8de8..0000000 Binary files a/DfBAdminToolkit/$tf/0/96729690-e941-4eb6-be3b-1fe67c4ccec8.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/bd0cc7f0-4ff3-4079-881d-318d584ec5bd.gz b/DfBAdminToolkit/$tf/0/bd0cc7f0-4ff3-4079-881d-318d584ec5bd.gz deleted file mode 100644 index 760ffe1..0000000 Binary files a/DfBAdminToolkit/$tf/0/bd0cc7f0-4ff3-4079-881d-318d584ec5bd.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/cbf9e250-4b7b-499b-859a-afd60397d425.gz b/DfBAdminToolkit/$tf/0/cbf9e250-4b7b-499b-859a-afd60397d425.gz deleted file mode 100644 index b4dfcd7..0000000 Binary files a/DfBAdminToolkit/$tf/0/cbf9e250-4b7b-499b-859a-afd60397d425.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/d1216480-2940-4cf2-b8e1-069d21e6755c.gz b/DfBAdminToolkit/$tf/0/d1216480-2940-4cf2-b8e1-069d21e6755c.gz deleted file mode 100644 index 5661751..0000000 Binary files a/DfBAdminToolkit/$tf/0/d1216480-2940-4cf2-b8e1-069d21e6755c.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/0/f5cea320-aa1c-45be-a62d-ca0af2b0b75e.gz b/DfBAdminToolkit/$tf/0/f5cea320-aa1c-45be-a62d-ca0af2b0b75e.gz deleted file mode 100644 index e72c7b6..0000000 Binary files a/DfBAdminToolkit/$tf/0/f5cea320-aa1c-45be-a62d-ca0af2b0b75e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/006a87f1-398b-448d-a292-d7c3448ee264.gz b/DfBAdminToolkit/$tf/1/006a87f1-398b-448d-a292-d7c3448ee264.gz deleted file mode 100644 index d45e827..0000000 Binary files a/DfBAdminToolkit/$tf/1/006a87f1-398b-448d-a292-d7c3448ee264.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/3155cb51-fa1b-4395-a1a9-0e5124203923.gz b/DfBAdminToolkit/$tf/1/3155cb51-fa1b-4395-a1a9-0e5124203923.gz deleted file mode 100644 index 18a4913..0000000 Binary files a/DfBAdminToolkit/$tf/1/3155cb51-fa1b-4395-a1a9-0e5124203923.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/4d5de141-40fd-403f-b31f-127633db5693.gz b/DfBAdminToolkit/$tf/1/4d5de141-40fd-403f-b31f-127633db5693.gz deleted file mode 100644 index c25fcbb..0000000 Binary files a/DfBAdminToolkit/$tf/1/4d5de141-40fd-403f-b31f-127633db5693.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/4f080591-c695-4480-99db-8179a90a2354.gz b/DfBAdminToolkit/$tf/1/4f080591-c695-4480-99db-8179a90a2354.gz deleted file mode 100644 index 8f72f4b..0000000 Binary files a/DfBAdminToolkit/$tf/1/4f080591-c695-4480-99db-8179a90a2354.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/69939fa1-adb9-4817-a4d2-e38a6345e25b.gz b/DfBAdminToolkit/$tf/1/69939fa1-adb9-4817-a4d2-e38a6345e25b.gz deleted file mode 100644 index 83fb826..0000000 Binary files a/DfBAdminToolkit/$tf/1/69939fa1-adb9-4817-a4d2-e38a6345e25b.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/8eeedc11-add4-4b8b-aded-58d318914151.gz b/DfBAdminToolkit/$tf/1/8eeedc11-add4-4b8b-aded-58d318914151.gz deleted file mode 100644 index 79d744e..0000000 Binary files a/DfBAdminToolkit/$tf/1/8eeedc11-add4-4b8b-aded-58d318914151.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/a56597a1-9bd7-4a29-a704-da9255aff469.gz b/DfBAdminToolkit/$tf/1/a56597a1-9bd7-4a29-a704-da9255aff469.gz deleted file mode 100644 index 62e6743..0000000 Binary files a/DfBAdminToolkit/$tf/1/a56597a1-9bd7-4a29-a704-da9255aff469.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/a8b78aa1-03f2-4096-89f2-98740a7fb7b0.gz b/DfBAdminToolkit/$tf/1/a8b78aa1-03f2-4096-89f2-98740a7fb7b0.gz deleted file mode 100644 index 83fb826..0000000 Binary files a/DfBAdminToolkit/$tf/1/a8b78aa1-03f2-4096-89f2-98740a7fb7b0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/e0e5a5b1-aab9-43f3-9203-397830f8dc2a.gz b/DfBAdminToolkit/$tf/1/e0e5a5b1-aab9-43f3-9203-397830f8dc2a.gz deleted file mode 100644 index 3a79794..0000000 Binary files a/DfBAdminToolkit/$tf/1/e0e5a5b1-aab9-43f3-9203-397830f8dc2a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/ec186a71-3221-48fe-ae72-5e81021a96fc.gz b/DfBAdminToolkit/$tf/1/ec186a71-3221-48fe-ae72-5e81021a96fc.gz deleted file mode 100644 index 535f790..0000000 Binary files a/DfBAdminToolkit/$tf/1/ec186a71-3221-48fe-ae72-5e81021a96fc.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/edfd0081-c2dd-42a4-b9c0-57823ba0b5bf.gz b/DfBAdminToolkit/$tf/1/edfd0081-c2dd-42a4-b9c0-57823ba0b5bf.gz deleted file mode 100644 index 98ce643..0000000 Binary files a/DfBAdminToolkit/$tf/1/edfd0081-c2dd-42a4-b9c0-57823ba0b5bf.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/1/fc4f2521-1359-4499-880b-f8a3a2c0067f.gz b/DfBAdminToolkit/$tf/1/fc4f2521-1359-4499-880b-f8a3a2c0067f.gz deleted file mode 100644 index 334746a..0000000 Binary files a/DfBAdminToolkit/$tf/1/fc4f2521-1359-4499-880b-f8a3a2c0067f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/51031c4a-934a-4993-b098-d048c9776ea4.gz b/DfBAdminToolkit/$tf/10/51031c4a-934a-4993-b098-d048c9776ea4.gz deleted file mode 100644 index 5cd3390..0000000 Binary files a/DfBAdminToolkit/$tf/10/51031c4a-934a-4993-b098-d048c9776ea4.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/78451dfa-ae52-41f7-9f80-f468851716e7.gz b/DfBAdminToolkit/$tf/10/78451dfa-ae52-41f7-9f80-f468851716e7.gz deleted file mode 100644 index 45a925f..0000000 Binary files a/DfBAdminToolkit/$tf/10/78451dfa-ae52-41f7-9f80-f468851716e7.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/c1f7ea5a-20a5-4b46-906a-beb61bcb78b3.gz b/DfBAdminToolkit/$tf/10/c1f7ea5a-20a5-4b46-906a-beb61bcb78b3.gz deleted file mode 100644 index e2ac77d..0000000 Binary files a/DfBAdminToolkit/$tf/10/c1f7ea5a-20a5-4b46-906a-beb61bcb78b3.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/c374577a-526f-4957-bc59-efeb742fa6d4.gz b/DfBAdminToolkit/$tf/10/c374577a-526f-4957-bc59-efeb742fa6d4.gz deleted file mode 100644 index becada8..0000000 Binary files a/DfBAdminToolkit/$tf/10/c374577a-526f-4957-bc59-efeb742fa6d4.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/c668ed2a-ba00-4bf1-b015-0d8a40112fa6.gz b/DfBAdminToolkit/$tf/10/c668ed2a-ba00-4bf1-b015-0d8a40112fa6.gz deleted file mode 100644 index 6390342..0000000 Binary files a/DfBAdminToolkit/$tf/10/c668ed2a-ba00-4bf1-b015-0d8a40112fa6.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/d35f122a-1768-4514-b24f-79b8d7f013f0.gz b/DfBAdminToolkit/$tf/10/d35f122a-1768-4514-b24f-79b8d7f013f0.gz deleted file mode 100644 index da417dc..0000000 Binary files a/DfBAdminToolkit/$tf/10/d35f122a-1768-4514-b24f-79b8d7f013f0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/daba28ba-4473-4247-a34a-b6ffb930dfef.gz b/DfBAdminToolkit/$tf/10/daba28ba-4473-4247-a34a-b6ffb930dfef.gz deleted file mode 100644 index 643f596..0000000 Binary files a/DfBAdminToolkit/$tf/10/daba28ba-4473-4247-a34a-b6ffb930dfef.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/10/fa376c7a-4d4e-4f35-abe1-2336f454124e.gz b/DfBAdminToolkit/$tf/10/fa376c7a-4d4e-4f35-abe1-2336f454124e.gz deleted file mode 100644 index 96f600a..0000000 Binary files a/DfBAdminToolkit/$tf/10/fa376c7a-4d4e-4f35-abe1-2336f454124e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/130335eb-306d-437e-9ea3-fd1bd1a3f2db.gz b/DfBAdminToolkit/$tf/11/130335eb-306d-437e-9ea3-fd1bd1a3f2db.gz deleted file mode 100644 index 6fb0162..0000000 Binary files a/DfBAdminToolkit/$tf/11/130335eb-306d-437e-9ea3-fd1bd1a3f2db.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/18f3bfab-cc72-4aad-a305-c30203ca0c9e.gz b/DfBAdminToolkit/$tf/11/18f3bfab-cc72-4aad-a305-c30203ca0c9e.gz deleted file mode 100644 index 97c4cf3..0000000 Binary files a/DfBAdminToolkit/$tf/11/18f3bfab-cc72-4aad-a305-c30203ca0c9e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/28d8e62b-a20c-4b99-9fe0-7b108257c2df.gz b/DfBAdminToolkit/$tf/11/28d8e62b-a20c-4b99-9fe0-7b108257c2df.gz deleted file mode 100644 index 0a1a6f8..0000000 Binary files a/DfBAdminToolkit/$tf/11/28d8e62b-a20c-4b99-9fe0-7b108257c2df.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/3c2ca48b-910a-4404-877d-b97ec80940bb.gz b/DfBAdminToolkit/$tf/11/3c2ca48b-910a-4404-877d-b97ec80940bb.gz deleted file mode 100644 index ab0c10f..0000000 Binary files a/DfBAdminToolkit/$tf/11/3c2ca48b-910a-4404-877d-b97ec80940bb.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/46e8267b-d9bb-420e-bab8-cbd41a0b0779.gz b/DfBAdminToolkit/$tf/11/46e8267b-d9bb-420e-bab8-cbd41a0b0779.gz deleted file mode 100644 index 5a996fe..0000000 Binary files a/DfBAdminToolkit/$tf/11/46e8267b-d9bb-420e-bab8-cbd41a0b0779.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/59e9f4eb-619a-4dd3-96d9-780ec2e2b67e.gz b/DfBAdminToolkit/$tf/11/59e9f4eb-619a-4dd3-96d9-780ec2e2b67e.gz deleted file mode 100644 index e8f9954..0000000 Binary files a/DfBAdminToolkit/$tf/11/59e9f4eb-619a-4dd3-96d9-780ec2e2b67e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/62d4338b-73f3-48eb-8b52-16bc407b2730.gz b/DfBAdminToolkit/$tf/11/62d4338b-73f3-48eb-8b52-16bc407b2730.gz deleted file mode 100644 index 06594be..0000000 Binary files a/DfBAdminToolkit/$tf/11/62d4338b-73f3-48eb-8b52-16bc407b2730.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/6f158e7b-d730-4892-a6c0-c19c66d9d71e.gz b/DfBAdminToolkit/$tf/11/6f158e7b-d730-4892-a6c0-c19c66d9d71e.gz deleted file mode 100644 index 90411e9..0000000 Binary files a/DfBAdminToolkit/$tf/11/6f158e7b-d730-4892-a6c0-c19c66d9d71e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/729aae2b-4124-4eb3-a96f-7430ebb175a8.gz b/DfBAdminToolkit/$tf/11/729aae2b-4124-4eb3-a96f-7430ebb175a8.gz deleted file mode 100644 index c9993fb..0000000 Binary files a/DfBAdminToolkit/$tf/11/729aae2b-4124-4eb3-a96f-7430ebb175a8.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/9478264b-6e09-4477-849a-4226d2bc8162.gz b/DfBAdminToolkit/$tf/11/9478264b-6e09-4477-849a-4226d2bc8162.gz deleted file mode 100644 index 2c1c66b..0000000 Binary files a/DfBAdminToolkit/$tf/11/9478264b-6e09-4477-849a-4226d2bc8162.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/956e977b-a1e1-4272-9e71-db2e8c6dda6b.gz b/DfBAdminToolkit/$tf/11/956e977b-a1e1-4272-9e71-db2e8c6dda6b.gz deleted file mode 100644 index e499b5b..0000000 Binary files a/DfBAdminToolkit/$tf/11/956e977b-a1e1-4272-9e71-db2e8c6dda6b.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/97371d3b-38b4-4151-bb2b-b9d39062d039.gz b/DfBAdminToolkit/$tf/11/97371d3b-38b4-4151-bb2b-b9d39062d039.gz deleted file mode 100644 index 28df6f0..0000000 Binary files a/DfBAdminToolkit/$tf/11/97371d3b-38b4-4151-bb2b-b9d39062d039.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/977ce29b-1cf1-415b-8a77-884079773b43.gz b/DfBAdminToolkit/$tf/11/977ce29b-1cf1-415b-8a77-884079773b43.gz deleted file mode 100644 index 6fb0162..0000000 Binary files a/DfBAdminToolkit/$tf/11/977ce29b-1cf1-415b-8a77-884079773b43.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/a03acf6b-979c-4527-89e1-48137c8f5bf6.gz b/DfBAdminToolkit/$tf/11/a03acf6b-979c-4527-89e1-48137c8f5bf6.gz deleted file mode 100644 index 097ae86..0000000 Binary files a/DfBAdminToolkit/$tf/11/a03acf6b-979c-4527-89e1-48137c8f5bf6.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/ba62ee4b-794c-43ac-820c-b42f0c41f667.gz b/DfBAdminToolkit/$tf/11/ba62ee4b-794c-43ac-820c-b42f0c41f667.gz deleted file mode 100644 index 83fb826..0000000 Binary files a/DfBAdminToolkit/$tf/11/ba62ee4b-794c-43ac-820c-b42f0c41f667.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/de394a4b-181f-4111-89aa-321fa73ad4dd.gz b/DfBAdminToolkit/$tf/11/de394a4b-181f-4111-89aa-321fa73ad4dd.gz deleted file mode 100644 index 1fa6732..0000000 Binary files a/DfBAdminToolkit/$tf/11/de394a4b-181f-4111-89aa-321fa73ad4dd.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/11/fa51f5db-f5af-4eb0-9086-8dcecdc4b6da.gz b/DfBAdminToolkit/$tf/11/fa51f5db-f5af-4eb0-9086-8dcecdc4b6da.gz deleted file mode 100644 index 94cf58e..0000000 Binary files a/DfBAdminToolkit/$tf/11/fa51f5db-f5af-4eb0-9086-8dcecdc4b6da.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/186239bc-ca0e-46fa-8271-67b57ac4e354.rw b/DfBAdminToolkit/$tf/12/186239bc-ca0e-46fa-8271-67b57ac4e354.rw deleted file mode 100644 index d5bca70..0000000 --- a/DfBAdminToolkit/$tf/12/186239bc-ca0e-46fa-8271-67b57ac4e354.rw +++ /dev/null @@ -1,203 +0,0 @@ -<Activity mc:Ignorable="sap sads" x:Class="TfsBuild.Process" this:Process.LabWorkflowParameters="[New Microsoft.TeamFoundation.Lab.Workflow.Activities.LabWorkflowDetails()]" this:Process.Verbosity="[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]" this:Process.BuildNumberFormat="["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]" this:Process.SupportedReasons="Manual, BatchedCI, Schedule, ScheduleForced, IndividualCI" this:Process.TimeoutForDeploymentScriptInMinutes="30" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbc1="clr-namespace:Microsoft.TeamFoundation.Build.Common;assembly=Microsoft.TeamFoundation.Build.Common" xmlns:mtbp="clr-namespace:Microsoft.TeamFoundation.Build.ProcessComponents;assembly=Microsoft.TeamFoundation.Build.ProcessComponents" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbws="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Services;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtlc="clr-namespace:Microsoft.TeamFoundation.Lab.Client;assembly=Microsoft.TeamFoundation.Lab.Client" xmlns:mtltc="clr-namespace:Microsoft.TeamFoundation.Lab.TestIntegration.Client;assembly=Microsoft.TeamFoundation.Lab.TestIntegration.Client" xmlns:mtlwa="clr-namespace:Microsoft.TeamFoundation.Lab.Workflow.Activities;assembly=Microsoft.TeamFoundation.Lab.Workflow.Activities" xmlns:mtlwc="clr-namespace:Microsoft.TeamFoundation.Lab.WorkflowIntegration.Client;assembly=Microsoft.TeamFoundation.Lab.WorkflowIntegration.Client" xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration" xmlns:mttc="clr-namespace:Microsoft.TeamFoundation.TestManagement.Client;assembly=Microsoft.TeamFoundation.TestManagement.Client" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:s1="clr-namespace:System;assembly=System" xmlns:s2="clr-namespace:System;assembly=System.Core" xmlns:s3="clr-namespace:System;assembly=System.ServiceModel" xmlns:s4="clr-namespace:System;assembly=System.ComponentModel.Composition" xmlns:sa="clr-namespace:System.Activities;assembly=System.Activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger" xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:this="clr-namespace:TfsBuild" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - <x:Members> - <x:Property Name="BuildProcessVersion" Type="x:String" /> - <x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" /> - <x:Property Name="LabWorkflowParameters" Type="InArgument(mtlwa:LabWorkflowDetails)" /> - <x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" /> - <x:Property Name="BuildNumberFormat" Type="InArgument(x:String)" /> - <x:Property Name="SupportedReasons" Type="mtbc:BuildReason" /> - <x:Property Name="TimeoutForDeploymentScriptInMinutes" Type="InArgument(x:Int32)"> - <x:Property.Attributes> - <RequiredArgumentAttribute /> - </x:Property.Attributes> - </x:Property> - </x:Members> - <this:Process.BuildProcessVersion>11.0</this:Process.BuildProcessVersion> - <this:Process.Metadata> - <mtbw:ProcessParameterMetadataCollection> - <mtbw:ProcessParameterMetadata _locID="Activity001" _locAttrData="DisplayName" BrowsableWhen="Always" Category="Misc" DisplayName="Timeout For Each Deployment Script (in Minutes)" ParameterName="TimeoutForDeploymentScriptInMinutes" /> - </mtbw:ProcessParameterMetadataCollection> - </this:Process.Metadata> - <sap:VirtualizedContainerService.HintSize>920,3702</sap:VirtualizedContainerService.HintSize> - <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings> - <Sequence _locID="Activity002" _locAttrData="DisplayName" DisplayName="Application Deployment Workflow" sap:VirtualizedContainerService.HintSize="880,3662" mva:VisualBasic.Settings="Assembly references and imported namespaces serialized as XML namespaces"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" /> - <Variable x:TypeArguments="x:String" Name="LabEnvironmentUri" /> - <Variable x:TypeArguments="x:String" Name="BuildLocation" /> - <Variable x:TypeArguments="x:Int64" Name="SnapshotId" /> - <Variable x:TypeArguments="x:Int32" Name="QueueBuildId" /> - <Variable x:TypeArguments="mtbc:BuildStatus" Default="[Microsoft.TeamFoundation.Build.Client.BuildStatus.Succeeded]" Name="BuildStatus" /> - <Variable x:TypeArguments="mtbc:IBuildDetail" Name="ChildBuildDetail" /> - <Variable x:TypeArguments="mtbc:IBuildDetail" Name="SelectedBuildDetail" /> - <Variable x:TypeArguments="x:String" Name="BuildNumber" /> - <Variable x:TypeArguments="mtlc:LabEnvironment" Name="LabEnvironment" /> - </Sequence.Variables> - <mtbwa:UpdateBuildNumber _locID="Activity003" _locAttrData="DisplayName" BuildNumberFormat="[BuildNumberFormat]" DisplayName="Update Build Number" sap:VirtualizedContainerService.HintSize="858,22" /> - <mtbwa:GetBuildDetail _locID="Activity004" _locAttrData="DisplayName" DisplayName="Get Build Details" sap:VirtualizedContainerService.HintSize="858,22" Result="[BuildDetail]" /> - <If _locID="Activity005" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.BuildDetails.IsTeamSystemBuild = True AndAlso LabWorkflowParameters.BuildDetails.QueueNewBuild = True]" DisplayName="If Build is needed" sap:VirtualizedContainerService.HintSize="858,416"> - <If.Then> - <Sequence _locID="Activity006" _locAttrData="DisplayName" DisplayName="Do Build" sap:VirtualizedContainerService.HintSize="301,308"> - <mtlwa:RunWorkflow _locID="Activity007" _locAttrData="DisplayName" BuildController="{x:Null}" LabEnvironmentUri="{x:Null}" BuildDefinition="[LabWorkflowParameters.BuildDetails.BuildDefinitionName]" DisplayName="Start Build Workflow" sap:VirtualizedContainerService.HintSize="242,22" ProjectName="[BuildDetail.TeamProject]" Result="[QueueBuildId]" /> - <mtlwa:WaitForWorkflow _locID="Activity008" _locAttrData="DisplayName" AllowPartiallySucceededBuild="True" BuildDetails="[ChildBuildDetail]" DisplayName="Wait For Build To Complete" sap:VirtualizedContainerService.HintSize="242,22" LabWorkflowType="[Microsoft.TeamFoundation.Lab.Workflow.Activities.WorkflowType.Build]" MaxConsecutiveFailuresToIgnoreDuringWaitForCompletion="[3]" MaxWaitTime="[TimeSpan.Zero]" QueueBuildId="[QueueBuildId]" RefreshInterval="[System.TimeSpan.FromMinutes(1)]" Result="[BuildStatus]" ThrowOnError="True" /> - <Assign _locID="Activity009" _locAttrData="DisplayName" DisplayName="Set Build Location" sap:VirtualizedContainerService.HintSize="242,60"> - <Assign.To> - <OutArgument x:TypeArguments="x:Uri">[LabWorkflowParameters.BuildDetails.BuildUri]</OutArgument> - </Assign.To> - <Assign.Value> - <InArgument x:TypeArguments="x:Uri">[ChildBuildDetail.Uri]</InArgument> - </Assign.Value> - </Assign> - </Sequence> - </If.Then> - </If> - <mtlwa:WriteDeploymentInformation _locID="Activity010" _locAttrData="DisplayName, Message" Url="{x:Null}" DeploymentInformationType="[Microsoft.TeamFoundation.Build.Common.DeploymentInformationTypes.Deploy]" DisplayName="Update Deployment Summary" sap:VirtualizedContainerService.HintSize="858,22" Message="[String.Format("Lab environment: {0}", LabWorkflowParameters.EnvironmentDetails.LabEnvironmentName)]" /> - <mtlwa:GetBuildLocationAndBuildNumber _locID="Activity011" _locAttrData="DisplayName" BuildDetails="[LabWorkflowParameters.BuildDetails]" BuildNumber="[BuildNumber]" DisplayName="Get Build Location And Build Number" sap:VirtualizedContainerService.HintSize="858,22" Result="[BuildLocation]" SelectedBuild="[SelectedBuildDetail]" /> - <If _locID="Activity012" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.BuildDetails.IsTeamSystemBuild = True]" DisplayName="Compute build location needed" sap:VirtualizedContainerService.HintSize="858,208"> - <If.Then> - <Assign _locID="Activity013" _locAttrData="DisplayName" DisplayName="Compute build path" sap:VirtualizedContainerService.HintSize="291,100"> - <Assign.To> - <OutArgument x:TypeArguments="x:String">[BuildLocation]</OutArgument> - </Assign.To> - <Assign.Value> - <InArgument x:TypeArguments="x:String">[If(LabWorkflowParameters.BuildDetails.Configuration Is Nothing, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsEmpty Or (SelectedBuildDetail.Information.GetNodesByType(Microsoft.TeamFoundation.Build.Common.InformationTypes.ConfigurationSummary, True)).Count = 1, BuildLocation, If(LabWorkflowParameters.BuildDetails.Configuration.IsPlatformEmptyOrAnyCpu, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration, BuildLocation + "\" + LabWorkflowParameters.BuildDetails.Configuration.Platform + "\" + LabWorkflowParameters.BuildDetails.Configuration.Configuration)))]</InArgument> - </Assign.Value> - </Assign> - </If.Then> - </If> - <If _locID="Activity014" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.EnvironmentDetails.Disposition = Microsoft.TeamFoundation.Lab.Client.LabEnvironmentDisposition.Stored]" DisplayName="If user selected stored environment" sap:VirtualizedContainerService.HintSize="858,208"> - <If.Then> - <Throw _locID="Activity015" _locAttrData="DisplayName, Exception" DisplayName="Indicate error" Exception="[New System.Exception("You have selected an environment that is stored in the library. Select an environment that is deployed on a team project host group.")]" sap:VirtualizedContainerService.HintSize="269,100" /> - </If.Then> - </If> - <Assign _locID="Activity016" _locAttrData="DisplayName" DisplayName="Get Lab Environment Uri" sap:VirtualizedContainerService.HintSize="858,22" > - <Assign.To> - <OutArgument x:TypeArguments="x:String">[LabEnvironmentUri]</OutArgument> - </Assign.To> - <Assign.Value> - <InArgument x:TypeArguments="x:String">[LabWorkflowParameters.EnvironmentDetails.LabEnvironmentUri.ToString()]</InArgument> - </Assign.Value> - </Assign> - <mtlwa:GetLabEnvironment _locID="Activity017" _locAttrData="DisplayName" DisplayName="Get Lab Environment" LabEnvironmentUri="[LabEnvironmentUri]" Result="[LabEnvironment]" /> - <If _locID="Activity018" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.EnvironmentDetails.RevertToSnapshot = True]" DisplayName=" If Restore Snapshot" sap:VirtualizedContainerService.HintSize="858,316"> - <If.Then> - <Sequence _locID="Activity019" _locAttrData="DisplayName" DisplayName="Restore Snapshot" sap:VirtualizedContainerService.HintSize="231,208"> - <mtlwa:GetLabEnvironmentSnapshotId _locID="Activity020" _locAttrData="DisplayName" DisplayName="Get Snapshot Details" sap:VirtualizedContainerService.HintSize="200,22" LabEnvironmentUri="[LabEnvironmentUri]" Result="[SnapshotId]" SnapshotName="[LabWorkflowParameters.EnvironmentDetails.SnapshotName]" /> - <mtlwa:RestoreLabEnvironment _locID="Activity021" _locAttrData="DisplayName" DisplayName="Restore Lab Environment to Snapshot" sap:VirtualizedContainerService.HintSize="200,22" LabEnvironmentUri="[LabEnvironmentUri]" SnapshotId="[SnapshotId]" /> - </Sequence> - </If.Then> - <If.Else> - <Sequence _locID="Activity022" _locAttrData="DisplayName" DisplayName="No Clean Snapshot"> - <If _locID="Activity023" _locAttrData="DisplayName" Condition="[Not String.Equals(Microsoft.TeamFoundation.Lab.Client.LabEnvironment.UnmanagedProvider, labEnvironment.LabProvider)]" DisplayName="If Virtual Environment"> - <If.Then> - <mtlwa:WriteDeploymentInformation _locID="Activity024" _locAttrData="DisplayName, Message" Url="{x:Null}" DeploymentInformationType="[Microsoft.TeamFoundation.Build.Common.DeploymentInformationTypes.Deploy]" DisplayName="Clean snapshot not specified " sap:VirtualizedContainerService.HintSize="208,208" Message="Build definition did not specify a clean snapshot. It is a best practice to use clean snapshot when running the lab workflow." /> - </If.Then> - </If> - </Sequence> - </If.Else> - </If> - <If _locID="Activity025" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.DeploymentDetails.DeploymentNeeded = True or LabWorkflowParameters.TestParameters.RunTest = True]" DisplayName="If deployment or test needed" sap:VirtualizedContainerService.HintSize="858,1214"> - <If.Then> - <mtlwa:WaitForEnvironmentReady _locID="Activity026" _locAttrData="DisplayName" DisplayName="Wait For Environment To Be Ready" sap:VirtualizedContainerService.HintSize="711,22" LabEnvironmentUri="[LabEnvironmentUri]" MaxWaitTime="[System.TimeSpan.FromMinutes(10)]" /> - </If.Then> - </If> - <If _locID="Activity027" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.DeploymentDetails.DeploymentNeeded = True]" DisplayName="If deployment needed" sap:VirtualizedContainerService.HintSize="858,1214"> - <If.Then> - <Sequence _locID="Activity028" _locAttrData="DisplayName" DisplayName="Do deployment" sap:VirtualizedContainerService.HintSize="733,1106"> - <mtlwa:ReserveEnvironmentForDeployment _locID="Activity029" _locAttrData="DisplayName" DisplayName="Reserve Environment For Deployment" sap:VirtualizedContainerService.HintSize="711,22" LabEnvironmentUri="[LabEnvironmentUri]" /> - <TryCatch _locID="Activity030" _locAttrData="DisplayName" DisplayName="Deploy Build on Environment"> - <TryCatch.Try> - <Sequence _locID="Activity031" _locAttrData="DisplayName" DisplayName="Deploying Build"> - <ForEach _locID="Activity032" _locAttrData="DisplayName" x:TypeArguments="x:String" DisplayName="Run Deployment scripts" sap:VirtualizedContainerService.HintSize="711,254" Values="[LabWorkflowParameters.DeploymentDetails.Scripts]"> - <ActivityAction x:TypeArguments="x:String"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="x:String" Name="deploymentConfigurationPair" /> - </ActivityAction.Argument> - <mtlwa:RunDeploymentTask _locID="Activity055" _locAttrData="DisplayName" BuildLocation="[BuildLocation]" DeploymentScriptDetails="[deploymentConfigurationPair]" DisplayName="Run Deployment Task" sap:VirtualizedContainerService.HintSize="200,22" LabEnvironmentUri="[LabEnvironmentUri]" MaxWaitTime="[TimeSpan.FromMinutes(TimeoutForDeploymentScriptInMinutes)]" ThrowOnError="True" UseRoleForDeployment="[LabWorkflowParameters.DeploymentDetails.UseRoleForDeployment]" /> - </ActivityAction> - </ForEach> - </Sequence> - </TryCatch.Try> - <TryCatch.Finally> - <mtlwa:ReleaseEnvironmentFromDeployment _locID="Activity035" _locAttrData="DisplayName" DisplayName="Release Environment From Deployment" sap:VirtualizedContainerService.HintSize="711,22" LabEnvironmentUri="[LabEnvironmentUri]" /> - </TryCatch.Finally> - </TryCatch> - <mtlwa:WriteDeploymentInformation _locID="Activity036" _locAttrData="DisplayName, Message" DeploymentInformationType="[Microsoft.TeamFoundation.Build.Common.DeploymentInformationTypes.Deploy]" DisplayName="Application Deployment Succeeded" sap:VirtualizedContainerService.HintSize="711,22" Message="[String.Format("The application was deployed successfully from the following build location:")]" Url="[BuildLocation]" /> - <If _locID="Activity037" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.DeploymentDetails.TakePostDeploymentSnapshot = True]" DisplayName="Post Deployment Snapshot" sap:VirtualizedContainerService.HintSize="711,626"> - <If.Then> - <Sequence _locID="Activity038" _locAttrData="DisplayName" DisplayName="Take Post deployment Snapshot " sap:VirtualizedContainerService.HintSize="486,518"> - <Sequence.Variables> - <Variable x:TypeArguments="x:Int64" Name="PostDeploymentSnapshotChainId" /> - <Variable x:TypeArguments="x:String" Default="[String.Format("{0}_{1}", BuildDetail.BuildDefinition.Name, BuildDetail.BuildNumber)]" Name="PostDeploymentSnapshotName" /> - </Sequence.Variables> - <If _locID="Activity039" _locAttrData="DisplayName" Condition="[String.IsNullOrEmpty(LabWorkflowParameters.DeploymentDetails.PostDeploymentSnapshotName) = False]" DisplayName="Check snapshot name" sap:VirtualizedContainerService.HintSize="464,208"> - <If.Then> - <Assign sap:VirtualizedContainerService.HintSize="291,100"> - <Assign.To> - <OutArgument x:TypeArguments="x:String">[PostDeploymentSnapshotName]</OutArgument> - </Assign.To> - <Assign.Value> - <InArgument x:TypeArguments="x:String">[If(LabWorkflowParameters.BuildDetails.IsTeamSystemBuild = True,String.Format("{0}_{1}_{2}", LabWorkflowParameters.DeploymentDetails.PostDeploymentSnapshotName, BuildNumber,BuildDetail.BuildNumber),String.Format("{0}_{1}", LabWorkflowParameters.DeploymentDetails.PostDeploymentSnapshotName, BuildDetail.BuildNumber))]</InArgument> - </Assign.Value> - </Assign> - </If.Then> - </If> - <mtlwa:SnapshotLabEnvironment _locID="Activity040" _locAttrData="DisplayName" DisplayName="Taking Post Deployment snapshot" sap:VirtualizedContainerService.HintSize="464,22" LabEnvironmentUri="[LabEnvironmentUri]" SnapshotChainId="[PostDeploymentSnapshotChainId]" SnapshotName="[PostDeploymentSnapshotName]" /> - <mtlwa:WriteDeploymentInformation _locID="Activity041" _locAttrData="DisplayName, Message" Url="{x:Null}" DeploymentInformationType="[Microsoft.TeamFoundation.Build.Common.DeploymentInformationTypes.Deploy]" DisplayName="Taking Snapshot succeeded" sap:VirtualizedContainerService.HintSize="464,22" Message="[String.Format("The following snapshot was taken after the deployment was finished: {0}", PostDeploymentSnapshotName)]" /> - <mtlwa:WriteDeploymentInformation _locID="Activity042" _locAttrData="DisplayName" DeploymentInformationType="[Microsoft.TeamFoundation.Build.Common.DeploymentInformationTypes.ConnectToSnapshot]" DisplayName="Added connection link to the Snapshot" sap:VirtualizedContainerService.HintSize="464,22" Message="[PostDeploymentSnapshotName]" Url="[PostDeploymentSnapshotChainId.ToString()]" /> - </Sequence> - </If.Then> - <If.Else> - <Sequence _locID="Activity043" _locAttrData="DisplayName" DisplayName="No Post Deployment Snapshot"> - <If _locID="Activity044" _locAttrData="DisplayName" Condition="[Not String.Equals(Microsoft.TeamFoundation.Lab.Client.LabEnvironment.UnmanagedProvider, labEnvironment.LabProvider)]" DisplayName="If Virtual Environment"> - <If.Then> - <mtlwa:WriteDeploymentInformation _locID="Activity045" _locAttrData="DisplayName, Message" Url="{x:Null}" DeploymentInformationType="[Microsoft.TeamFoundation.Build.Common.DeploymentInformationTypes.Deploy]" DisplayName="Post deployment snapshot not specified" sap:VirtualizedContainerService.HintSize="200,518" Message="Build definition did not specify a post deployment snapshot. It is a best practice to take post deployment snapshot when running the lab workflow." /> - </If.Then> - </If> - </Sequence> - </If.Else> - </If> - </Sequence> - </If.Then> - </If> - <If _locID="Activity046" _locAttrData="DisplayName" Condition="[LabWorkflowParameters.TestParameters.RunTest = True]" DisplayName="Run Tests on Environment" sap:VirtualizedContainerService.HintSize="858,604"> - <If.Then> - <Sequence _locID="Activity047" _locAttrData="DisplayName" DisplayName="Run Tests" sap:VirtualizedContainerService.HintSize="656,498"> - <Sequence.Variables> - <Variable x:TypeArguments="mtltc:TestingCapabilityInformation" Name="TestCapabilityInfo" /> - <Variable x:TypeArguments="x:String" Name="variable1" /> - <Variable x:TypeArguments="mtlwa:TestRunStatistics" Default="[New Microsoft.TeamFoundation.Lab.Workflow.Activities.TestRunStatistics()]" Name="TestResults" /> - </Sequence.Variables> - <mtlwa:ExecuteRemoteTestRun2 _locID="Activity048" _locAttrData="DisplayName" MaxWaitTime="{x:Null}" TestEnvironment="{x:Null}" BuildNumber="[BuildNumber]" BuildDefinitionName="[LabWorkflowParameters.BuildDetails.BuildDefinitionName]" DisplayName="Running Tests" sap:VirtualizedContainerService.HintSize="634,22" LabEnvironmentUri="[LabEnvironmentUri]" MaxConsecutiveFailuresToIgnoreDuringWaitForCompletion="[3]" RefreshInterval="[System.TimeSpan.FromMinutes(1)]" Result="[TestResults]" TestDirectory="[BuildLocation]" TestParameters="[LabWorkflowParameters.TestParameters]" Title="[String.Format("{0}", BuildDetail.BuildNumber)]" /> - <If _locID="Activity049" _locAttrData="DisplayName" Condition="[TestResults.PassedTests <> TestResults.TotalTests Or TestResults.TestRunStatus <> TestManagement.Client.TestRunState.Completed]" DisplayName="If all tests have not passed" sap:VirtualizedContainerService.HintSize="634,312"> - <If.Then> - <If _locID="Activity050" _locAttrData="DisplayName" Condition="[(LabWorkflowParameters.BuildDetails.IsTeamSystemBuild = True AndAlso LabWorkflowParameters.BuildDetails.QueueNewBuild = True) Or (LabWorkflowParameters.DeploymentDetails.DeploymentNeeded = True)]" DisplayName="Set build status" sap:VirtualizedContainerService.HintSize="509,206"> - <If.Then> - <Assign _locID="Activity051" _locAttrData="DisplayName" DisplayName="Partially succeeded" sap:VirtualizedContainerService.HintSize="242,100"> - <Assign.To> - <OutArgument x:TypeArguments="mtbc:BuildStatus">[BuildStatus]</OutArgument> - </Assign.To> - <Assign.Value> - <InArgument x:TypeArguments="mtbc:BuildStatus">[Microsoft.TeamFoundation.Build.Client.BuildStatus.PartiallySucceeded]</InArgument> - </Assign.Value> - </Assign> - </If.Then> - <If.Else> - <Assign _locID="Activity052" _locAttrData="DisplayName" DisplayName="Failed" sap:VirtualizedContainerService.HintSize="242,100"> - <Assign.To> - <OutArgument x:TypeArguments="mtbc:BuildStatus">[BuildStatus]</OutArgument> - </Assign.To> - <Assign.Value> - <InArgument x:TypeArguments="mtbc:BuildStatus">[Microsoft.TeamFoundation.Build.Client.BuildStatus.Failed]</InArgument> - </Assign.Value> - </Assign> - </If.Else> - </If> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - <mtbwa:SetBuildProperties _locID="Activity053" _locAttrData="DisplayName" DisplayName="Set build status" sap:VirtualizedContainerService.HintSize="858,22" PropertiesToSet="Status" Status="[BuildStatus]" /> - </Sequence> -</Activity> \ No newline at end of file diff --git a/DfBAdminToolkit/$tf/12/2a5f084c-e345-4394-ba20-b653e592b9f5.gz b/DfBAdminToolkit/$tf/12/2a5f084c-e345-4394-ba20-b653e592b9f5.gz deleted file mode 100644 index 675185b..0000000 Binary files a/DfBAdminToolkit/$tf/12/2a5f084c-e345-4394-ba20-b653e592b9f5.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/2faec95c-600d-4ae7-a5a2-1b168c63c9b3.gz b/DfBAdminToolkit/$tf/12/2faec95c-600d-4ae7-a5a2-1b168c63c9b3.gz deleted file mode 100644 index f1853c1..0000000 Binary files a/DfBAdminToolkit/$tf/12/2faec95c-600d-4ae7-a5a2-1b168c63c9b3.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/63bd2a2c-7002-4bde-b23e-e77400d79de5.gz b/DfBAdminToolkit/$tf/12/63bd2a2c-7002-4bde-b23e-e77400d79de5.gz deleted file mode 100644 index 7c1c6ea..0000000 Binary files a/DfBAdminToolkit/$tf/12/63bd2a2c-7002-4bde-b23e-e77400d79de5.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/7ede420c-39d3-4e4f-976e-8bca6a3095b7.rw b/DfBAdminToolkit/$tf/12/7ede420c-39d3-4e4f-976e-8bca6a3095b7.rw deleted file mode 100644 index 1a08b91..0000000 --- a/DfBAdminToolkit/$tf/12/7ede420c-39d3-4e4f-976e-8bca6a3095b7.rw +++ /dev/null @@ -1,686 +0,0 @@ -<Activity mc:Ignorable="sad" x:Class="TfsBuild.Process" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common" xmlns:mtb="clr-namespace:Microsoft.TeamFoundation.Build.Common;assembly=Microsoft.TeamFoundation.Build.Common" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtdwa="clr-namespace:Microsoft.TeamFoundation.Deployment.Workflow.Activities;assembly=Microsoft.TeamFoundation.Deployment.Workflow" xmlns:mtdw="clr-namespace:Microsoft.TeamFoundation.Deployment.Workflow;assembly=Microsoft.TeamFoundation.Deployment.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mtvco="clr-namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sad="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:sad1="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:this="clr-namespace:TfsBuild;" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - <x:Members> - <x:Property Name="SolutionToBuild" Type="InArgument(x:String)" /> - <x:Property Name="ConfigurationsToBuild" Type="InArgument(mtbwa:PlatformConfigurationList)" /> - <x:Property Name="TestSpecs" Type="InArgument(mtbwa:TestSpecList)" /> - <x:Property Name="BuildNumberFormat" Type="InArgument(x:String)" /> - <x:Property Name="CleanWorkspace" Type="InArgument(mtbwa:CleanWorkspaceOption)" /> - <x:Property Name="RunCodeAnalysis" Type="InArgument(mtbwa:CodeAnalysisOption)" /> - <x:Property Name="SourceAndSymbolServerSettings" Type="InArgument(mtbwa:SourceAndSymbolServerSettings)" /> - <x:Property Name="AgentSettings" Type="InArgument(mtbwa:AgentSettings)" /> - <x:Property Name="AssociateChangesetsAndWorkItems" Type="InArgument(x:Boolean)" /> - <x:Property Name="CreateWorkItem" Type="InArgument(x:Boolean)" /> - <x:Property Name="MSBuildArguments" Type="InArgument(x:String)" /> - <x:Property Name="MSBuildPlatform" Type="InArgument(mtbwa:ToolPlatform)" /> - <x:Property Name="MSBuildMultiProc" Type="InArgument(x:Boolean)" /> - <x:Property Name="PerformTestImpactAnalysis" Type="InArgument(x:Boolean)" /> - <x:Property Name="CreateLabel" Type="InArgument(x:Boolean)" /> - <x:Property Name="DisableTests" Type="InArgument(x:Boolean)" /> - <x:Property Name="GetVersion" Type="InArgument(x:String)" /> - <x:Property Name="PrivateDropLocation" Type="InArgument(x:String)" /> - <x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" /> - <x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" /> - <x:Property Name="SupportedReasons" Type="mtbc:BuildReason" /> - <x:Property Name="DeploymentEnvironmentName" Type="InArgument(x:String)" /> - <x:Property Name="AllowUntrustedCertificates" Type="InArgument(x:Boolean)" /> - <!-- Additional Cloud Service Overrides --> - <x:Property Name="AlternatePublishProfile" Type="InArgument(x:String)" /> - <x:Property Name="AlternateHostedServiceName" Type="InArgument(x:String)" /> - <x:Property Name="AllowUpgrade" Type="InArgument(x:Boolean)" /> - <!-- NOTE: this deliberately a String instead of Enum type so it can easily be set by server code. --> - <x:Property Name="AlternateDeploymentSlot" Type="InArgument(x:String)" /> - <x:Property Name="AlternateStorageAccountName" Type="InArgument(x:String)" /> - <x:Property Name="AlternateDeploymentLabel" Type="InArgument(x:String)" /> - <x:Property Name="AlternateServiceConfiguration" Type="InArgument(x:String)" /> - <!-- Additional Web Deploy Overrides --> - <x:Property Name="AlternateWebDeployPublishProfile" Type="InArgument(x:String)" /> - </x:Members> - <this:Process.SolutionToBuild> - <InArgument x:TypeArguments="x:String" /> - </this:Process.SolutionToBuild> - <this:Process.ConfigurationsToBuild>[New Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfigurationList()]</this:Process.ConfigurationsToBuild> - <this:Process.DisableTests>[False]</this:Process.DisableTests> - <this:Process.TestSpecs>[New Microsoft.TeamFoundation.Build.Workflow.Activities.TestSpecList(New Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec("**\*test*.dll") With { .FailBuildOnFailure = True } )]</this:Process.TestSpecs> - <this:Process.BuildNumberFormat>["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]</this:Process.BuildNumberFormat> - <this:Process.AssociateChangesetsAndWorkItems>[True]</this:Process.AssociateChangesetsAndWorkItems> - <this:Process.CreateWorkItem>[True]</this:Process.CreateWorkItem> - <this:Process.CleanWorkspace>[Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]</this:Process.CleanWorkspace> - <this:Process.MSBuildArguments> - <InArgument x:TypeArguments="x:String" /> - </this:Process.MSBuildArguments> - <this:Process.RunCodeAnalysis>[Microsoft.TeamFoundation.Build.Workflow.Activities.CodeAnalysisOption.AsConfigured]</this:Process.RunCodeAnalysis> - <this:Process.MSBuildMultiProc>[True]</this:Process.MSBuildMultiProc> - <this:Process.MSBuildPlatform>[Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]</this:Process.MSBuildPlatform> - <this:Process.PerformTestImpactAnalysis>[True]</this:Process.PerformTestImpactAnalysis> - <this:Process.SourceAndSymbolServerSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.SourceAndSymbolServerSettings(True, Nothing)]</this:Process.SourceAndSymbolServerSettings> - <this:Process.CreateLabel>[True]</this:Process.CreateLabel> - <this:Process.GetVersion> - <InArgument x:TypeArguments="x:String" /> - </this:Process.GetVersion> - <this:Process.AgentSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]</this:Process.AgentSettings> - <this:Process.Verbosity>[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]</this:Process.Verbosity> - <this:Process.AllowUntrustedCertificates>[True]</this:Process.AllowUntrustedCertificates> - <this:Process.AllowUpgrade>[True]</this:Process.AllowUpgrade> - <this:Process.Metadata> - <mtbw:ProcessParameterMetadataCollection> - <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#100 Required" Required="True" DisplayName="Solution To Build" Description="The solution to build, package and deploy." ParameterName="SolutionToBuild" Editor="Microsoft.TeamFoundation.Build.Controls.ServerFileBrowserEditor, Microsoft.TeamFoundation.Build.Controls" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#200 Basic" DisplayName="Configuration To Build" Description="The configuration to build." ParameterName="ConfigurationsToBuild" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#300 Advanced" DisplayName="MSBuild Multi-Proc" Description="Enable MSBuild Multi-proc to build your solutions' projects in parallel, when possible, using all available processors on the build server." ParameterName="MSBuildMultiProc" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#300 Advanced" DisplayName="Solution Specific Build Outputs" Description="True will put build outputs into folders based on the solution name. False will put all build outputs into the same folder." ParameterName="SolutionSpecificBuildOutputs" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#400 Publishing -- General" Description="The named set of Deployment Settings to use for Application Deployment." DisplayName="Deployment Settings Name" ParameterName="DeploymentEnvironmentName" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#400 Publishing -- General" Description="True will allow non-rooted certificates during deployment." DisplayName="Allow Untrusted Certificates" ParameterName="AllowUntrustedCertificates" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#500 Publishing -- Azure Cloud Service" Description="Specify a source control path to an alternate publish profile." DisplayName="Alternate Publish Profile" ParameterName="AlternatePublishProfile" Editor="Microsoft.TeamFoundation.Build.Controls.ServerFileBrowserEditor, Microsoft.TeamFoundation.Build.Controls" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#500 Publishing -- Azure Cloud Service" Description="Specify the name of an alternate storage account." DisplayName="Alternate Storage Account Name" ParameterName="AlternateStorageAccountName" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#500 Publishing -- Azure Cloud Service" Description="Specify the Cloud Service Environment: Production or Staging." DisplayName="Alternate Cloud Service Environment" ParameterName="AlternateDeploymentSlot" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#500 Publishing -- Azure Cloud Service" Description="Specify an alternate deployment label." DisplayName="Alternate Deployment Label" ParameterName="AlternateDeploymentLabel" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#500 Publishing -- Azure Cloud Service" Description="Specify an alternate Cloud Service name." DisplayName="Alternate Cloud Service Name" ParameterName="AlternateHostedServiceName" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#500 Publishing -- Azure Cloud Service" Description="Specify an alternate service configuration." DisplayName="Alternate Service Configuration" ParameterName="AlternateServiceConfiguration" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#500 Publishing -- Azure Cloud Service" Description="Specify whether upgrade is allowed on deployment." DisplayName="Allow Upgrade" ParameterName="AllowUpgrade" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="Always" Category="#600 Publishing -- Azure Website" Description="Specify a source control path to a Web Deploy publish profile." DisplayName="Web Deploy Publish Profile" ParameterName="AlternateWebDeployPublishProfile" Editor="Microsoft.TeamFoundation.Build.Controls.ServerFileBrowserEditor, Microsoft.TeamFoundation.Build.Controls" /> - </mtbw:ProcessParameterMetadataCollection> - </this:Process.Metadata> - <this:Process.SupportedReasons>All</this:Process.SupportedReasons> - <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" /> - <Variable x:TypeArguments="x:String" Name="DropLocation" /> - <Variable x:TypeArguments="mtbwa:PlatformConfiguration" Name="ConfigurationToBuild" /> - </Sequence.Variables> - <mtbwa:GetBuildDetail DisplayName="Get the Build" Result="[BuildDetail]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Sequence DisplayName="Update Drop Location" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:InvokeForReason DisplayName="Update Build Number for Triggered Builds" Reason="Triggered"> - <mtbwa:UpdateBuildNumber BuildNumberFormat="[BuildNumberFormat]" DisplayName="Update Build Number" /> - </mtbwa:InvokeForReason> - <If Condition="[(Not String.IsNullOrEmpty(BuildDetail.DropLocationRoot)) AndAlso (BuildDetail.Reason And Microsoft.TeamFoundation.Build.Client.BuildReason.Triggered) = BuildDetail.Reason]" DisplayName="If Build Reason is Triggered" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="None" Value="[BuildDropProvider.CombinePaths(BuildDetail.DropLocationRoot, BuildDetail.BuildDefinition.Name, BuildDetail.BuildNumber)]" To="[DropLocation]" /> - <mtbwa:SetBuildProperties DisplayName="Set Drop Location" DropLocation="[DropLocation]" PropertiesToSet="DropLocation" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - <If Condition="[(Not String.IsNullOrEmpty(PrivateDropLocation)) AndAlso BuildDetail.Reason = Microsoft.TeamFoundation.Build.Client.BuildReason.ValidateShelveset]" DisplayName="If Build Reason is ValidateShelveset" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Assign x:TypeArguments="x:String" Value="[BuildDropProvider.CombinePaths(PrivateDropLocation, BuildDetail.BuildDefinition.Name, BuildDetail.BuildNumber)]" To="[DropLocation]" mtbwt:BuildTrackingParticipant.Importance="None" /> - <mtbwa:SetBuildProperties DisplayName="Set Drop Location for Private Build" DropLocation="[DropLocation]" PropertiesToSet="DropLocation" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - </Sequence> - <mtbwa:AgentScope DisplayName="Run On Agent" MaxExecutionTime="[AgentSettings.MaxExecutionTime]" MaxWaitTime="[AgentSettings.MaxWaitTime]" ReservationSpec="[AgentSettings.GetAgentReservationSpec()]"> - <mtbwa:AgentScope.Variables> - <Variable x:TypeArguments="mtbc:IBuildAgent" Name="BuildAgent" /> - <Variable x:TypeArguments="mtvc:Workspace" Name="Workspace" /> - <Variable x:TypeArguments="x:String" Name="BuildDirectory" /> - <Variable x:TypeArguments="x:String" Default="[BuildDetail.BuildNumber]" Name="LabelName" /> - <Variable x:TypeArguments="x:String" Name="WorkspaceName" /> - <Variable x:TypeArguments="x:String" Name="SourcesDirectory" /> - <Variable x:TypeArguments="x:String" Name="BinariesDirectory" /> - <Variable x:TypeArguments="x:String" Name="TestResultsDirectory" /> - </mtbwa:AgentScope.Variables> - <Sequence DisplayName="Initialize Variables" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:GetBuildAgent DisplayName="Get the Agent" Result="[BuildAgent]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:GetBuildDirectory DisplayName="Get the Build Directory" Result="[BuildDirectory]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize Workspace Name" To="[WorkspaceName]" Value="[String.Format("{0}_{1}_{2}", BuildDetail.BuildDefinition.Id, Microsoft.TeamFoundation.LinkingUtilities.DecodeUri(BuildAgent.Uri.AbsoluteUri).ToolSpecificId, BuildAgent.ServiceHost.Name)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize Sources Directory" To="[SourcesDirectory]" Value="[String.Format("{0}\src", BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize Binaries Directory" To="[BinariesDirectory]" Value="[String.Format("{0}\bin", BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize TestResults Directory" To="[TestResultsDirectory]" Value="[String.Format("{0}\tst", BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[ConfigurationsToBuild.Count = 0]" DisplayName="If ConfigurationsToBuild Is Empty" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Assign x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="Use Default Platform Configuration" To="[ConfigurationToBuild]" Value="[Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfiguration.Default]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - <If.Else> - <Assign x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="Use user's Platform Configuration" To="[ConfigurationToBuild]" Value="[ConfigurationsToBuild(0)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Else> - </If> - <If Condition="[WorkspaceName.Length > Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize]" DisplayName="If WorkspaceName > MaxSize" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <mtbwa:WriteBuildWarning DisplayName="Write Workspace Size Warning" Message="[String.Format("The workspace name '{0}' exceeds the maximum allowed limit of '{1}' characters. Truncating it to match the maximum limit.", WorkspaceName, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize)]" /> - <Assign x:TypeArguments="x:String" DisplayName="Truncate WorkspaceName to MaxSize" To="[WorkspaceName]" Value="[WorkspaceName.Substring(0, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize).TrimEnd()]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - </Sequence> - <Sequence DisplayName="Initialize Workspace" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:DeleteDirectory Directory="[TestResultsDirectory]" DisplayName="Delete Test Results Directory" Recursive="[True]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[Not CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.None]" DisplayName="If Not CleanWorkspace = CleanWorkspaceOption.None" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:DeleteDirectory Directory="[BinariesDirectory]" DisplayName="Delete Binaries Directory" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.All" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Delete Workspace and Sources Directory" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:DeleteWorkspace DeleteLocalItems="[True]" DisplayName="Delete Workspace" Name="[WorkspaceName]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:DeleteDirectory Directory="[SourcesDirectory]" DisplayName="Delete Sources Directory" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - <mtbwa:CreateWorkspace BuildDirectory="[BuildDirectory]" Comment="["Workspace Created by Team Build"]" DisplayName="Create Workspace" Name="[WorkspaceName]" Result="[Workspace]" SourcesDirectory="[SourcesDirectory]" /> - <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.Outputs]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.Outputs" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Clean Configuration"> - <If Condition="[Not String.IsNullOrEmpty(SolutionToBuild)]" DisplayName="If SolutionToBuild is Not Nothing" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Clean Project" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localBuildProjectItem" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Paths to Local Paths" Input="[SolutionToBuild]" Result="[localBuildProjectItem]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[System.IO.File.Exists(localBuildProjectItem)]" DisplayName="If File.Exists(Project)" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:MSBuild CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)]" Configuration="[ConfigurationToBuild.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" MaxProcesses="[If (MSBuildMultiProc, 0, 1)]" OutDir="[BinariesDirectory]" Platform="[ConfigurationToBuild.Platform]" Project="[localBuildProjectItem]" Targets="[New String() { "Clean" }]" TargetsNotLogged="[New String() {"GetNativeManifest", "GetCopyToOutputDirectoryItems", "GetTargetPath"}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" /> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - <mtbwa:SyncWorkspace DisplayName="Get Workspace" VersionOverride="[GetVersion]" Workspace="[Workspace]"> - <mtbwa:SyncWorkspace.RequestsFailed> - <ActivityAction x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" /> - </ActivityAction.Argument> - <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </ActivityAction> - </mtbwa:SyncWorkspace.RequestsFailed> - </mtbwa:SyncWorkspace> - </Sequence> - <If Condition="[CreateLabel]" DisplayName="If CreateLabel" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Create and Set Label for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated"> - <mtbwa:LabelWorkspace Comment="["Label Created by Team Build"]" DisplayName="Create Label" Name="[LabelName]" Scope="[String.Format("$/{0}", BuildDetail.BuildDefinition.TeamProject)]" Workspace="[Workspace]" /> - <mtbwa:SetBuildProperties DisplayName="Set Label on BuildDetail" LabelName="[String.Format("{0}@$/{1}", LabelName, BuildDetail.BuildDefinition.TeamProject)]" PropertiesToSet="LabelName" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </mtbwa:InvokeForReason> - </If.Then> - <If.Else> - <mtbwa:WriteBuildMessage DisplayName="Write Message" Message="Not Labeling sources" Importance="[Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High]" /> - </If.Else> - </If> - <TryCatch DisplayName="Try Compile, Test, and Associate Changesets and Work Items" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Finally> - <Sequence DisplayName="Revert Workspace and Copy Files to Drop Location" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:InvokeForReason DisplayName="Revert Workspace for Shelveset Builds" Reason="CheckInShelveset, ValidateShelveset"> - <mtbwa:RevertWorkspace DisplayName="Revert Workspace" Workspace="[Workspace]" /> - </mtbwa:InvokeForReason> - <If Condition="[Not String.IsNullOrEmpty(DropLocation)]" DisplayName="If DropLocation is Set" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:CopyDirectory DisplayName="Drop Files to Drop Location" Source="[BinariesDirectory]" Destination="[DropLocation]" /> - </If.Then> - </If> - </Sequence> - </TryCatch.Finally> - <TryCatch.Try> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="s:Exception" Name="compilationException" /> - <Variable x:TypeArguments="scg:IList(mtvc:Changeset)" Name="associatedChangesets" /> - <Variable x:TypeArguments="s:Boolean" Name="treatTestFailureAsBuildFailure" /> - </Sequence.Variables> - <Parallel DisplayName="Compile, Test, and Associate Changesets and Work Items"> - <TryCatch DisplayName="Try Compile and Test" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <Sequence DisplayName="Compile and Test"> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="outputDirectory" /> - <Variable x:TypeArguments="x:String" Name="logFileDropLocation" /> - <Variable x:TypeArguments="mtbc:DeploymentEnvironment" Name="deploymentEnvironment" /> - <Variable x:TypeArguments="mtdw:MSDeployProfile" Name="azureWebSiteProfile" /> - <Variable x:TypeArguments="mtb:AzureCloudAppProfile" Name="azureCloudAppProfile" /> - <Variable x:TypeArguments="x:Boolean" Name="deployOutput" Default="False" /> - <Variable x:TypeArguments="x:String" Name="targetSite" /> - <Variable x:TypeArguments="x:String" Name="AlternateWebDeployPublishProfileName" /> - <Variable x:TypeArguments="x:Boolean" Name="CreateWebDeployPackage" Default="False" /> - </Sequence.Variables> - <Sequence DisplayName="Initialize Variables" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Assign x:TypeArguments="x:String" DisplayName="Create OutputDirectory" To="[outputDirectory]" Value="[BinariesDirectory]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[Not String.IsNullOrEmpty(DropLocation)]" DisplayName="If DropLocation is Set" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Assign x:TypeArguments="x:String" DisplayName="Initialize LogFile Drop Location" To="[logFileDropLocation]" Value="[BuildDropProvider.CombinePaths(DropLocation, "logs")]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[Not String.IsNullOrEmpty(DeploymentEnvironmentName)]" DisplayName="If DeploymentEnvironmentName is Set" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <mtdwa:GetDeploymentEnvironment DisplayName="Get Deployment Environment" DeploymentEnvironmentName="[DeploymentEnvironmentName]" Result="[deploymentEnvironment]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:Boolean" DisplayName="Set Deploy Output to True" mtbwt:BuildTrackingParticipant.Importance="Low" Value="True" To="[deployOutput]" /> - <If Condition="[deploymentEnvironment.EnvironmentMetadata.Kind = Microsoft.TeamFoundation.Build.Client.DeploymentEnvironmentKind.AzureWebSite]" DisplayName="If DeploymentEnvironment is Azure Web Site" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <mtdwa:GetAzureWebsitePublishProfile DisplayName="Fetch Azure Web Site Publish Profile" ConnectedService="[deploymentEnvironment.ConnectedService]" WebsiteEnvironment="[deploymentEnvironment]" AllowUntrustedCertificates="[AllowUntrustedCertificates]" Result="[azureWebSiteProfile]" /> - <Assign x:TypeArguments="x:Boolean" DisplayName="Set Create Web Deploy Package to True" mtbwt:BuildTrackingParticipant.Importance="Low" Value="True" To="[CreateWebDeployPackage]" /> - <!-- The following value is passed to MSBuild for packaging --> - <Assign x:TypeArguments="x:String" DisplayName="Set Target Site Variable" mtbwt:BuildTrackingParticipant.Importance="Low" Value="[azureWebSiteProfile.MSDeploySite]" To="[targetSite]" /> - <If Condition="[Not String.IsNullOrEmpty(AlternateWebDeployPublishProfile)]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Use Alternate Web Deploy Publish Profile"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localProfile" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[AlternateWebDeployPublishProfile]" Result="[localProfile]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Record Alternate Web Deploy Publish Profile Name" To="[AlternateWebDeployPublishProfileName]" Value="[System.IO.Path.GetFileNameWithoutExtension(localProfile)]" /> - </Sequence> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - <If Condition="[deploymentEnvironment.EnvironmentMetadata.Kind = Microsoft.TeamFoundation.Build.Client.DeploymentEnvironmentKind.AzureCloudApp]" DisplayName="If DeploymentEnvironment is Azure Cloud Service" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <If Condition="[String.IsNullOrEmpty(AlternatePublishProfile)]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Use Default Publish Profile"> - <If.Then> - <mtdwa:GetAzureCloudAppPublishProfile DisplayName="Get Default Azure Cloud Service Publish Profile" CloudAppEnvironment="[deploymentEnvironment]" Result="[azureCloudAppProfile]" /> - </If.Then> - <If.Else> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localProfile" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[AlternatePublishProfile]" Result="[localProfile]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="mtb:AzureCloudAppProfile" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Load Alternate Publish Profile" To="[azureCloudAppProfile]" Value="[AzureCloudAppProfile.Parse(System.IO.File.ReadAllText(localProfile))]" /> - </Sequence> - </If.Else> - </If> - <If Condition="[Not String.IsNullOrEmpty(AlternateHostedServiceName)]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Alternate Cloud Service name is set."> - <If.Then> - <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Set Alternate Cloud Service name in profile." To="[azureCloudAppProfile.AzureHostedServiceName]" Value="[AlternateHostedServiceName]" /> - </If.Then> - </If> - <If Condition="[Not String.IsNullOrEmpty(AlternateDeploymentSlot)]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Alternate Deployment Slot is set."> - <If.Then> - <Assign x:TypeArguments="mtb:AzureDeploymentSlot" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Set Alternate Deployment Slot in profile." To="[azureCloudAppProfile.AzureSlot]" Value="[CType([Enum].Parse(GetType(AzureDeploymentSlot), AlternateDeploymentSlot, True), AzureDeploymentSlot)]" /> - </If.Then> - </If> - <If Condition="[Not String.IsNullOrEmpty(AlternateStorageAccountName)]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Alternate Storage Account Name is set."> - <If.Then> - <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Set Alternate Storage Account Name in profile." To="[azureCloudAppProfile.AzureStorageAccountName]" Value="[AlternateStorageAccountName]" /> - </If.Then> - </If> - <If Condition="[Not String.IsNullOrEmpty(AlternateServiceConfiguration)]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Alternate Service Configuration is set."> - <If.Then> - <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Set Alternate Service Configuration in profile." To="[azureCloudAppProfile.AzureServiceConfiguration]" Value="[AlternateServiceConfiguration]" /> - </If.Then> - </If> - <If Condition="[Not String.IsNullOrEmpty(AlternateDeploymentLabel)]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Alternate Deployment Label is set."> - <If.Then> - <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Set Alternate Deployment Label in profile." To="[azureCloudAppProfile.AzureDeploymentLabel]" Value="[AlternateDeploymentLabel]" /> - </If.Then> - </If> - <If Condition="[Not AllowUpgrade = azureCloudAppProfile.AzureAllowUpgrade]" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="If Allow Upgrade is overridden"> - <If.Then> - <Assign x:TypeArguments="x:Boolean" mtbwt:BuildTrackingParticipant.Importance="Low" DisplayName="Set Allow Upgrade in profile." To="[azureCloudAppProfile.AzureAllowUpgrade]" Value="[AllowUpgrade]" /> - </If.Then> - </If> - <If Condition="[(Not ConfigurationToBuild.IsConfigurationEmpty) AndAlso (Not String.IsNullOrEmpty(azureCloudAppProfile.AzureSolutionConfiguration))]" DisplayName="If Build Configuration and Azure Profile Solution Configuration are set." mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[Not (String.Compare(ConfigurationToBuild.Configuration, azureCloudAppProfile.AzureSolutionConfiguration, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.CompareOptions.OrdinalIgnoreCase) = 0)]" DisplayName="If Build Configuration and Azure Profile Solution Profile Configuration are not equal." mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Assign x:TypeArguments="x:Boolean" DisplayName="Set Deploy Output to False" mtbwt:BuildTrackingParticipant.Importance="Low" Value="False" To="[deployOutput]" /> - <mtbwa:WriteBuildMessage DisplayName="Write Message" Message="[String.Format("This build will not be deployed because the build configuration -- {0} -- and the Azure Profile Solution Configuration -- {1} -- do not match.", ConfigurationToBuild.Configuration, azureCloudAppProfile.AzureSolutionConfiguration)]" Importance="[Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.Normal]" /> - </Sequence> - </If.Then> - </If> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - <If Condition="[deployOutput]" DisplayName="Deploy Output" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <mtdwa:UpdateDeployment BuildDetail="[BuildDetail]" Stage="[Microsoft.TeamFoundation.Deployment.Workflow.Activities.DeploymentStage.Start]" DeploymentEnvironmentName="[deploymentEnvironment.EnvironmentMetadata.Name]" DisplayName="Mark this build as including a deployment" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[deploymentEnvironment.EnvironmentMetadata.Kind = Microsoft.TeamFoundation.Build.Client.DeploymentEnvironmentKind.AzureCloudApp]" DisplayName="If DeploymentEnvironment is Azure Cloud Service" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtdwa:UpdateDeployment BuildDetail="[BuildDetail]" Stage="[Microsoft.TeamFoundation.Deployment.Workflow.Activities.DeploymentStage.AddProperty]" PropertyKey="AzureSlot" PropertyValue="[azureCloudAppProfile.AzureSlot.ToString()]" DisplayName="Add AzureSlot property to the deployment" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - </Sequence> - <If Condition="[Not String.IsNullOrEmpty(SolutionToBuild)]" DisplayName="If SolutionToBuild is Not Nothing" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <TryCatch DisplayName="Try to Compile the Project" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <Sequence DisplayName="Compile the Project" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localProject" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[SolutionToBuild]" Result="[localProject]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[(deploymentEnvironment IsNot Nothing) AndAlso (deploymentEnvironment.EnvironmentMetadata.Kind = Microsoft.TeamFoundation.Build.Client.DeploymentEnvironmentKind.AzureCloudApp)]" DisplayName="If Deployment Environment is Azure Cloud Service" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="ccprojName" /> - </Sequence.Variables> - <mtdwa:FindCCProjInSln DisplayName="Find the Azure Project in the Solution" mtbwt:BuildTrackingParticipant.Importance="Low" SolutionPath="[localProject]" Result="[ccprojName]" /> - <Assign x:TypeArguments="x:String" DisplayName="Set Project to build CSPack" To="[MSBuildArguments]" Value="[String.Format("/t:{0}:Publish /p:PublishDir=""{1}/app.publish/"" {2}", ccprojName, outputDirectory, MSBuildArguments)]" /> - <If Condition="[Not String.IsNullOrEmpty(azureCloudAppProfile.AzureServiceConfiguration)]" DisplayName="If Service Configuration is specified" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Assign x:TypeArguments="x:String" DisplayName="Set Azure Service Configuration" To="[MSBuildArguments]" Value="[String.Format("/p:TargetProfile={0} {1}", azureCloudAppProfile.AzureServiceConfiguration, MSBuildArguments)]" /> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - <If Condition="[Not String.IsNullOrEmpty(AlternateWebDeployPublishProfileName) AndAlso (deploymentEnvironment.EnvironmentMetadata.Kind = Microsoft.TeamFoundation.Build.Client.DeploymentEnvironmentKind.AzureWebSite)]" DisplayName="If DeploymentEnvironment is Azure Web Site" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Assign x:TypeArguments="x:String" DisplayName="Set Web Deploy Publish Profile" To="[MSBuildArguments]" Value="[String.Format("/p:WebPublishMethod=Package;PublishProfile=""{0}"" {1}", AlternateWebDeployPublishProfileName, MSBuildArguments)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <mtbwa:MSBuild CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)]" Configuration="[ConfigurationToBuild.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" LogFileDropLocation="[logFileDropLocation]" MaxProcesses="[If (MSBuildMultiProc, 0, 1)]" OutDir="[outputDirectory]" Platform="[ConfigurationToBuild.Platform]" Project="[localProject]" RunCodeAnalysis="[RunCodeAnalysis]" TargetsNotLogged="[New String() {"GetNativeManifest", "GetCopyToOutputDirectoryItems", "GetTargetPath"}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" DeployOnBuild="[CreateWebDeployPackage]" DeployIisAppPath="[targetSite]" /> - </Sequence> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="ex" /> - </ActivityAction.Argument> - <Sequence DisplayName="Handle Exception"> - <Sequence.Variables> - <Variable x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" /> - </Sequence.Variables> - <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" DisplayName="Set CompilationStatus to Failed" PropertiesToSet="CompilationStatus" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[CreateWorkItem]" DisplayName="If CreateWorkItem" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Create Work Item for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated"> - <mtbwa:OpenWorkItem AssignedTo="[BuildDetail.RequestedFor]" Comment="["This work item was created by TFS Build on a build failure."]" CustomFields="[New Dictionary(Of String, String) From { {"System.Reason", "Build Failure"}, {"Microsoft.VSTS.TCM.ReproSteps", "Start the build using TFS Build"}, {"Severity", "1 - Critical"} }]" DisplayName="Create Work Item" Title="[String.Format("Build Failure in Build: {0}", BuildDetail.BuildNumber)]" Type="["Bug"]" /> - </mtbwa:InvokeForReason> - </If.Then> - </If> - <mtbwa:GetApprovedRequests DisplayName="Get Requests Approved for Check In" Result="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="None" /> - <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Rethrow DisplayName="Rethrow the exception so the build will stop" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </If.Then> - </If> - <If Condition="[Not DisableTests]" DisplayName="If Not DisableTests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Run Tests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If Condition="[Not TestSpecs Is Nothing]" DisplayName="If Not TestSpecs Is Nothing" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <ForEach x:TypeArguments="mtbwa:TestSpec" DisplayName="For Each TestSpec in TestSpecs" Values="[TestSpecs]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <ActivityAction x:TypeArguments="mtbwa:TestSpec"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="mtbwa:TestSpec" Name="spec" /> - </ActivityAction.Argument> - <TryCatch DisplayName="Try Run Tests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <If Condition="[TypeOf spec Is Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec]" DisplayName="If spec Is AgileTestPlatformSpec" mtbwt:BuildTrackingParticipant.Importance="None"> - <If.Then> - <Sequence DisplayName="Run Visual Studio Test Runner for Test Sources" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbwa:AgileTestPlatformSpec" Name="agileTestPlatformAssembly" /> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="agileTestPlatformAssemblies" /> - </Sequence.Variables> - <Assign x:TypeArguments="mtbwa:AgileTestPlatformSpec" DisplayName="Assign spec to agileTestPlatformAssembly" To="[agileTestPlatformAssembly]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:FindMatchingFiles DisplayName="Find Visual Studio Test Platform Test Assemblies" MatchPattern="[String.Format("{0}\{1}", outputDirectory, agileTestPlatformAssembly.AssemblyFileSpec)]" Result="[agileTestPlatformAssemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[agileTestPlatformAssemblies.Count() > 0]" DisplayName="If Visual Studio Test Platform Test Assemblies Found" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[agileTestPlatformAssembly.HasRunSettingsFile]" DisplayName="If agileTestPlatformAssembly.HasRunSettingsFile" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Find Run Settings File And Run Visual Studio Test Runner" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localRunSettings" /> - </Sequence.Variables> - <mtbwa:GenerateRunSettings DisplayName="Generate Run Settings File" RunSettingsForTestRun="[agileTestPlatformAssembly.RunSettingsForTestRun]" Result="[localRunSettings]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:RunTests DisplayName="Run Visual Studio Test Runner for Test Sources" RunName="[agileTestPlatformAssembly.RunName]" Flavor="[ConfigurationToBuild.Configuration]" Platform="[ConfigurationToBuild.Platform]" TestSources="[agileTestPlatformAssemblies]" RunSettings="[localRunSettings]" TestCaseFilter="[agileTestPlatformAssembly.TestCaseFilter]" ExecutionPlatform="[agileTestPlatformAssembly.ExecutionPlatform]" /> - </Sequence> - </If.Then> - <If.Else> - <mtbwa:RunTests DisplayName="Run Visual Studio Test Runner for Test Sources" RunName="[agileTestPlatformAssembly.RunName]" Flavor="[ConfigurationToBuild.Configuration]" Platform="[ConfigurationToBuild.Platform]" TestSources="[agileTestPlatformAssemblies]" TestCaseFilter="[agileTestPlatformAssembly.TestCaseFilter]" ExecutionPlatform="[agileTestPlatformAssembly.ExecutionPlatform]" /> - </If.Else> - </If> - </If.Then> - </If> - </Sequence> - </If.Then> - <If.Else> - <If Condition="[TypeOf spec Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec]" DisplayName="If spec Is TestMetadataFileSpec" mtbwt:BuildTrackingParticipant.Importance="None"> - <If.Then> - <Sequence DisplayName="Run MSTest for Metadata File"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbwa:TestMetadataFileSpec" Name="testMetadataFile" /> - <Variable x:TypeArguments="x:String" Name="localTestMetadata" /> - </Sequence.Variables> - <Assign x:TypeArguments="mtbwa:TestMetadataFileSpec" DisplayName="Assign spec to testMetadataFile" To="[testMetadataFile]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[testMetadataFile.MetadataFileName]" Result="[localTestMetadata]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:MSTest RunTitle="[testMetadataFile.RunName]" Category="[testMetadataFile.CategoryFilter]" DisplayName="Run MSTest for Metadata File" Flavor="[ConfigurationToBuild.Configuration]" MaxPriority="[testMetadataFile.MaximumPriority]" MinPriority="[testMetadataFile.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[ConfigurationToBuild.Platform]" SearchPathRoot="[outputDirectory]" TestLists="[testMetadataFile.TestLists]" TestMetadata="[localTestMetadata]" TestSettings="[String.Empty]" CommandLineArguments="[testMetadataFile.MSTestCommandLineArgs]" /> - </Sequence> - </If.Then> - <If.Else> - <Sequence DisplayName="Run MSTest for Test Assemblies" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbwa:TestAssemblySpec" Name="testAssembly" /> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="testAssemblies" /> - <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testFlavor" /> - <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testPlatform" /> - </Sequence.Variables> - <Assign x:TypeArguments="mtbwa:TestAssemblySpec" DisplayName="Assign spec to testAssembly" To="[testAssembly]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestAssemblySpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:FindMatchingFiles DisplayName="Find Test Assemblies" MatchPattern="[String.Format("{0}\{1}", outputDirectory, testAssembly.AssemblyFileSpec)]" Result="[testAssemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[testAssemblies.Count() > 0]" DisplayName="If Test Assemblies Found" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[testAssembly.HasTestSettingsFile]" DisplayName="If testAssembly.HasTestSettingsFile" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Find Test Settings File And Run MSTest" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localTestSettings" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[testAssembly.TestSettingsFileName]" Result="[localTestSettings]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:MSTest RunTitle="[testAssembly.RunName]" Category="[testAssembly.CategoryFilter]" DisplayName="Run MSTest for Test Assemblies" Flavor="[ConfigurationToBuild.Configuration]" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[ConfigurationToBuild.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" TestSettings="[localTestSettings]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" /> - </Sequence> - </If.Then> - <If.Else> - <mtbwa:MSTest RunTitle="[testAssembly.RunName]" Category="[testAssembly.CategoryFilter]" DisplayName="Run MSTest for Test Assemblies" Flavor="[ConfigurationToBuild.Configuration]" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[ConfigurationToBuild.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" /> - </If.Else> - </If> - </If.Then> - </If> - </Sequence> - </If.Else> - </If> - </If.Else> - </If> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="testException" /> - </ActivityAction.Argument> - <Sequence DisplayName="Handle Test Run Exception"> - <Sequence.Variables> - <Variable x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" /> - </Sequence.Variables> - <If Condition="[Not (TypeOf testException Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestFailureException)]" DisplayName="If testException is NOT TestFailureException" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:WriteBuildError DisplayName="Write Test Failure Message" Message="[testException.Message]" /> - </If.Then> - </If> - <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Failed" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[spec.FailBuildOnFailure]" DisplayName="If spec.FailBuildOnFailure" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Assign x:TypeArguments="s:Boolean" DisplayName="Set treatTestFailureAsBuildFailure to True" To="[treatTestFailureAsBuildFailure]" Value="[True]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <mtbwa:GetApprovedRequests DisplayName="Get Requests Approved for Check In" Result="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="None" /> - <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </ActivityAction> - </ForEach> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - <If Condition="[deployOutput]" DisplayName="Deploy Output" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[treatTestFailureAsBuildFailure And (BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed)]" DisplayName="Deploy on Test Success" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:WriteBuildMessage DisplayName="Write Message" Message="Skipping Deployment Due to Test Failures." Importance="[Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.Normal]" /> - </If.Then> - <If.Else> - <If Condition="[Not azureWebSiteProfile Is Nothing]" DisplayName="Publish Output"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <mtdwa:MSDeploy DisplayName="MSDeploy" BuildPath="[outputDirectory]" PublishEndpoint="[azureWebSiteProfile.PublishUrl]" TargetSite="[azureWebSiteProfile.MSDeploySite]" UserName="[azureWebSiteProfile.UserName]" Password="[azureWebSiteProfile.UserPWD]" AllowUntrustedCertificates="[AllowUntrustedCertificates]" /> - <mtbwa:WriteCustomSummaryInformation DisplayName="Write Custom Deployment Summary" Message="[String.Format("Your Website was deployed to : [{0}]({0})",azureWebSiteProfile.DestinationAppUrl.ToString())]" SectionDisplayName="Deployment Summary" SectionKey="customSummarySectionKey" SectionPriority="160" /> - <mtdwa:SetCurrentAzureWebsiteBuildNumber DisplayName="Set the current build number in the web site portal." ConnectedService="[deploymentEnvironment.ConnectedService]" AllowUntrustedCertificates="[AllowUntrustedCertificates]" WebsiteEnvironment="[deploymentEnvironment]" mtbwt:BuildTrackingParticipant.Importance="Normal" /> - </Sequence> - </If.Then> - <If.Else> - <If Condition="[deploymentEnvironment.EnvironmentMetadata.Kind = Microsoft.TeamFoundation.Build.Client.DeploymentEnvironmentKind.AzureCloudApp]" DisplayName="DeploymentEnvironment is Azure Cloud Service" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <mtdwa:DeployAzureCloudApp DisplayName="Deploy application to Azure" ConnectedService="[deploymentEnvironment.ConnectedService]" DeploymentProfile="[azureCloudAppProfile]" AllowUntrustedCertificates="[AllowUntrustedCertificates]" BuildPath="[outputDirectory]" /> - </Sequence> - </If.Then> - </If> - </If.Else> - </If> - </If.Else> - </If> - </If.Then> - </If> - </Sequence> - <If Condition="[BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If CompilationStatus = Unknown" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" DisplayName="Set CompilationStatus to Succeeded" PropertiesToSet="CompilationStatus" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If TestStatus = Unknown" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Succeeded" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[treatTestFailureAsBuildFailure And (BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed)]" DisplayName="If TreatTestFailureAsBuildFailure And (TestStatus = Failed)" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:SetBuildProperties DisplayName="Set Status to Failed" PropertiesToSet="Status" Status="[Microsoft.TeamFoundation.Build.Client.BuildStatus.Failed]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - </Sequence> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="compilationExceptionArgument" /> - </ActivityAction.Argument> - <Assign x:TypeArguments="s:Exception" DisplayName="Save the Compilation Exception" To="[compilationException]" Value="[compilationExceptionArgument]" mtbwt:BuildTrackingParticipant.Importance="None" /> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - <If Condition="[AssociateChangesetsAndWorkItems]" DisplayName="If AssociateChangesetsAndWorkItems" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[CreateLabel]" DisplayName="If CreateLabel and AssociateChangesetsAndWorkItems" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Associate Changesets and Work Items for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated"> - <mtbwa:AssociateChangesetsAndWorkItems DisplayName="Associate Changesets and Work Items" Result="[associatedChangesets]" /> - </mtbwa:InvokeForReason> - </If.Then> - <If.Else> - <mtbwa:WriteBuildWarning DisplayName="Write Associate Changesets and Work Items Warning" Message="Cannot Associate Changesets and Work Items because the Label Sources option is set to False." /> - </If.Else> - </If> - </If.Then> - </If> - </Parallel> - <If Condition="[Not compilationException Is Nothing]" DisplayName="If a Compilation Exception Occurred" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Throw DisplayName="Rethrow Compilation Exception" Exception="[compilationException]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <Parallel DisplayName="Get Impacted Tests, Index Sources and Publish Symbols"> - <If Condition="[PerformTestImpactAnalysis]" DisplayName="If PerformTestImpactAnalysis" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Get Impacted Tests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="assemblies" /> - </Sequence.Variables> - <mtbwa:FindMatchingFiles DisplayName="Find Build Outputs" MatchPattern="[String.Format("{0}\**\*.dll;{0}\**\*.exe", BinariesDirectory)]" Result="[assemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mttbb:GetImpactedTests Assemblies="[assemblies]" AssociatedChangesets="[associatedChangesets]" BinariesRoot="[BinariesDirectory]" Build="[BuildDetail]" CodeChanges="{x:Null}" DisplayName="Get Impacted Tests" ImpactedTests="{x:Null}" Workspace="[Workspace]" /> - </Sequence> - </If.Then> - </If> - <If Condition="[SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Index Sources and Publish Symbols for Triggered Builds" Reason="Triggered"> - <mtbwa:InvokeForReason.Variables> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="symbolFiles" /> - </mtbwa:InvokeForReason.Variables> - <mtbwa:FindMatchingFiles DisplayName="Find Symbol Files" MatchPattern="[String.Format("{0}\**\*.pdb", BinariesDirectory)]" Result="[symbolFiles]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[SourceAndSymbolServerSettings.IndexSources]" DisplayName="If SourceAndSymbolServerSettings.IndexSources" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <TryCatch DisplayName="Try Index Sources" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <mtbwa:IndexSources DisplayName="Index Sources" FileList="[symbolFiles]" /> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" /> - </ActivityAction.Argument> - <mtbwa:WriteBuildError DisplayName="Write Indexing Sources Error" Message="[exception.Message]" /> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </If.Then> - </If> - <If Condition="[SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.HasSymbolStorePath" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <TryCatch DisplayName="Try Publish Symbols" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <mtbwa:SharedResourceScope DisplayName="Synchronize Access to Symbol Store" MaxExecutionTime="[TimeSpan.Zero]" MaxWaitTime="[New TimeSpan(1, 0, 0)]" ResourceName="[SourceAndSymbolServerSettings.SymbolStorePath]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:PublishSymbols DisplayName="Publish Symbols" FileList="[symbolFiles]" ProductName="[BuildDetail.BuildDefinition.Name]" StorePath="[SourceAndSymbolServerSettings.SymbolStorePath]" Version="[BuildDetail.BuildNumber]" /> - </mtbwa:SharedResourceScope> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" /> - </ActivityAction.Argument> - <mtbwa:WriteBuildError DisplayName="Write Publishing Symbols Error" Message="[exception.Message]" /> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </If.Then> - </If> - </mtbwa:InvokeForReason> - </If.Then> - </If> - </Parallel> - </Sequence> - </TryCatch.Try> - </TryCatch> - </mtbwa:AgentScope> - <mtbwa:InvokeForReason DisplayName="Check In Gated Changes for CheckInShelveset Builds" Reason="CheckInShelveset"> - <mtbwa:CheckInGatedChanges DisplayName="Check In Gated Changes" /> - </mtbwa:InvokeForReason> - </Sequence> -</Activity> \ No newline at end of file diff --git a/DfBAdminToolkit/$tf/12/8c3a5b2c-97dd-4a17-9128-232e4793e5b7.gz b/DfBAdminToolkit/$tf/12/8c3a5b2c-97dd-4a17-9128-232e4793e5b7.gz deleted file mode 100644 index da45a99..0000000 Binary files a/DfBAdminToolkit/$tf/12/8c3a5b2c-97dd-4a17-9128-232e4793e5b7.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/9fed7a6c-d766-4547-8f13-3930de91bef9.gz b/DfBAdminToolkit/$tf/12/9fed7a6c-d766-4547-8f13-3930de91bef9.gz deleted file mode 100644 index 4c6d649..0000000 Binary files a/DfBAdminToolkit/$tf/12/9fed7a6c-d766-4547-8f13-3930de91bef9.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/a68c89ec-40b0-4ca2-94aa-48a4a8256394.gz b/DfBAdminToolkit/$tf/12/a68c89ec-40b0-4ca2-94aa-48a4a8256394.gz deleted file mode 100644 index 64ec0c5..0000000 Binary files a/DfBAdminToolkit/$tf/12/a68c89ec-40b0-4ca2-94aa-48a4a8256394.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/a819333c-1dd0-4945-99c6-0ae6b5b86db0.gz b/DfBAdminToolkit/$tf/12/a819333c-1dd0-4945-99c6-0ae6b5b86db0.gz deleted file mode 100644 index f66c877..0000000 Binary files a/DfBAdminToolkit/$tf/12/a819333c-1dd0-4945-99c6-0ae6b5b86db0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/aa763f4c-b4cc-4157-87ad-7c9a5f17233e.gz b/DfBAdminToolkit/$tf/12/aa763f4c-b4cc-4157-87ad-7c9a5f17233e.gz deleted file mode 100644 index e702941..0000000 Binary files a/DfBAdminToolkit/$tf/12/aa763f4c-b4cc-4157-87ad-7c9a5f17233e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/db1494ec-c5f2-4f45-a2ef-fdd727d65470.gz b/DfBAdminToolkit/$tf/12/db1494ec-c5f2-4f45-a2ef-fdd727d65470.gz deleted file mode 100644 index 4deff4e..0000000 Binary files a/DfBAdminToolkit/$tf/12/db1494ec-c5f2-4f45-a2ef-fdd727d65470.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/df2bd1fc-916b-4e0a-8f20-5fcfd039aa8b.gz b/DfBAdminToolkit/$tf/12/df2bd1fc-916b-4e0a-8f20-5fcfd039aa8b.gz deleted file mode 100644 index fd81064..0000000 Binary files a/DfBAdminToolkit/$tf/12/df2bd1fc-916b-4e0a-8f20-5fcfd039aa8b.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/ec39b9bc-5359-4efe-877b-fdaabfc376c5.gz b/DfBAdminToolkit/$tf/12/ec39b9bc-5359-4efe-877b-fdaabfc376c5.gz deleted file mode 100644 index 5e0741e..0000000 Binary files a/DfBAdminToolkit/$tf/12/ec39b9bc-5359-4efe-877b-fdaabfc376c5.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/12/ff7f1b3c-9b2a-4175-8266-92bb470b108f.gz b/DfBAdminToolkit/$tf/12/ff7f1b3c-9b2a-4175-8266-92bb470b108f.gz deleted file mode 100644 index 3c8fe9a..0000000 Binary files a/DfBAdminToolkit/$tf/12/ff7f1b3c-9b2a-4175-8266-92bb470b108f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/0482315d-4a0e-4868-aedc-3f0bbc5f1ac5.gz b/DfBAdminToolkit/$tf/13/0482315d-4a0e-4868-aedc-3f0bbc5f1ac5.gz deleted file mode 100644 index 07b07f5..0000000 Binary files a/DfBAdminToolkit/$tf/13/0482315d-4a0e-4868-aedc-3f0bbc5f1ac5.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/17d5c0fd-8163-423b-8656-c586fbbc1200.gz b/DfBAdminToolkit/$tf/13/17d5c0fd-8163-423b-8656-c586fbbc1200.gz deleted file mode 100644 index ed3d3b0..0000000 Binary files a/DfBAdminToolkit/$tf/13/17d5c0fd-8163-423b-8656-c586fbbc1200.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/594db0ad-367a-4fa2-a2cc-3999e9cdcc84.gz b/DfBAdminToolkit/$tf/13/594db0ad-367a-4fa2-a2cc-3999e9cdcc84.gz deleted file mode 100644 index bcabe4a..0000000 Binary files a/DfBAdminToolkit/$tf/13/594db0ad-367a-4fa2-a2cc-3999e9cdcc84.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/bf056a0d-233c-4550-acba-9eaac6b9cc44.gz b/DfBAdminToolkit/$tf/13/bf056a0d-233c-4550-acba-9eaac6b9cc44.gz deleted file mode 100644 index febc2bc..0000000 Binary files a/DfBAdminToolkit/$tf/13/bf056a0d-233c-4550-acba-9eaac6b9cc44.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/ca1f4a8d-d426-4849-826d-2defc82bd916.gz b/DfBAdminToolkit/$tf/13/ca1f4a8d-d426-4849-826d-2defc82bd916.gz deleted file mode 100644 index 4982713..0000000 Binary files a/DfBAdminToolkit/$tf/13/ca1f4a8d-d426-4849-826d-2defc82bd916.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/ca9fb28d-9c2f-4281-938e-fd7b750e3df2.gz b/DfBAdminToolkit/$tf/13/ca9fb28d-9c2f-4281-938e-fd7b750e3df2.gz deleted file mode 100644 index bc9f9d0..0000000 Binary files a/DfBAdminToolkit/$tf/13/ca9fb28d-9c2f-4281-938e-fd7b750e3df2.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/cf7f9a6d-854b-4a2a-88e8-d8717f36f85f.gz b/DfBAdminToolkit/$tf/13/cf7f9a6d-854b-4a2a-88e8-d8717f36f85f.gz deleted file mode 100644 index 83fb826..0000000 Binary files a/DfBAdminToolkit/$tf/13/cf7f9a6d-854b-4a2a-88e8-d8717f36f85f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/13/d91f987d-c6a3-40fc-9e1c-ea9e0d6976d6.gz b/DfBAdminToolkit/$tf/13/d91f987d-c6a3-40fc-9e1c-ea9e0d6976d6.gz deleted file mode 100644 index 4055e9e..0000000 Binary files a/DfBAdminToolkit/$tf/13/d91f987d-c6a3-40fc-9e1c-ea9e0d6976d6.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/0b989e6e-1ebd-4e4e-8a7d-3070d2bbf730.gz b/DfBAdminToolkit/$tf/14/0b989e6e-1ebd-4e4e-8a7d-3070d2bbf730.gz deleted file mode 100644 index 73348a4..0000000 Binary files a/DfBAdminToolkit/$tf/14/0b989e6e-1ebd-4e4e-8a7d-3070d2bbf730.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/10b1cf4e-2ced-49de-b558-084c2272dfa5.gz b/DfBAdminToolkit/$tf/14/10b1cf4e-2ced-49de-b558-084c2272dfa5.gz deleted file mode 100644 index 932f4f9..0000000 Binary files a/DfBAdminToolkit/$tf/14/10b1cf4e-2ced-49de-b558-084c2272dfa5.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/1e8a20ae-ef5a-4b24-9624-b9f77f3f01d1.gz b/DfBAdminToolkit/$tf/14/1e8a20ae-ef5a-4b24-9624-b9f77f3f01d1.gz deleted file mode 100644 index c643023..0000000 Binary files a/DfBAdminToolkit/$tf/14/1e8a20ae-ef5a-4b24-9624-b9f77f3f01d1.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/25074b4e-c53b-47a3-8a71-ca925be0edde.gz b/DfBAdminToolkit/$tf/14/25074b4e-c53b-47a3-8a71-ca925be0edde.gz deleted file mode 100644 index d6e2564..0000000 Binary files a/DfBAdminToolkit/$tf/14/25074b4e-c53b-47a3-8a71-ca925be0edde.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/25814e0e-f100-4f24-863f-d0fd020f5702.gz b/DfBAdminToolkit/$tf/14/25814e0e-f100-4f24-863f-d0fd020f5702.gz deleted file mode 100644 index c115757..0000000 Binary files a/DfBAdminToolkit/$tf/14/25814e0e-f100-4f24-863f-d0fd020f5702.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/41eeb5ee-da69-4634-9ba4-1ebbee2f7c8e.gz b/DfBAdminToolkit/$tf/14/41eeb5ee-da69-4634-9ba4-1ebbee2f7c8e.gz deleted file mode 100644 index 27c8687..0000000 Binary files a/DfBAdminToolkit/$tf/14/41eeb5ee-da69-4634-9ba4-1ebbee2f7c8e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/4a07543e-0940-4e23-85c0-6da4de55e337.gz b/DfBAdminToolkit/$tf/14/4a07543e-0940-4e23-85c0-6da4de55e337.gz deleted file mode 100644 index 5e3f202..0000000 Binary files a/DfBAdminToolkit/$tf/14/4a07543e-0940-4e23-85c0-6da4de55e337.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/7a27915e-2fa1-4a62-9bc0-d90e0b808a74.gz b/DfBAdminToolkit/$tf/14/7a27915e-2fa1-4a62-9bc0-d90e0b808a74.gz deleted file mode 100644 index ba5a3a7..0000000 Binary files a/DfBAdminToolkit/$tf/14/7a27915e-2fa1-4a62-9bc0-d90e0b808a74.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/9fa71f0e-4497-4ea1-b746-0592a651765b.rw b/DfBAdminToolkit/$tf/14/9fa71f0e-4497-4ea1-b746-0592a651765b.rw deleted file mode 100644 index ea229be..0000000 --- a/DfBAdminToolkit/$tf/14/9fa71f0e-4497-4ea1-b746-0592a651765b.rw +++ /dev/null @@ -1,76 +0,0 @@ -<Activity mc:Ignorable="sad" x:Class="TfsBuild.Process" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sad="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:sad1="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:this="clr-namespace:TfsBuild;" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - <x:Members> - <x:Property Name="ConfigurationFolderPath" Type="InArgument(x:String)" /> - <x:Property Name="AgentSettings" Type="InArgument(mtbwa:AgentSettings)" /> - <x:Property Name="MSBuildArguments" Type="InArgument(x:String)" /> - <x:Property Name="MSBuildPlatform" Type="InArgument(mtbwa:ToolPlatform)" /> - <x:Property Name="DoNotDownloadBuildType" Type="InArgument(x:Boolean)" /> - <x:Property Name="LogFilePerProject" Type="InArgument(x:Boolean)" /> - <x:Property Name="SourcesSubdirectory" Type="InArgument(x:String)" /> - <x:Property Name="BinariesSubdirectory" Type="InArgument(x:String)" /> - <x:Property Name="TestResultsSubdirectory" Type="InArgument(x:String)" /> - <x:Property Name="RecursionType" Type="InArgument(mtvc:RecursionType)" /> - <x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" /> - <x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" /> - <x:Property Name="SupportedReasons" Type="mtbc:BuildReason" /> - </x:Members> - <this:Process.ConfigurationFolderPath> - <InArgument x:TypeArguments="x:String" /> - </this:Process.ConfigurationFolderPath> - <this:Process.AgentSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]</this:Process.AgentSettings> - <this:Process.MSBuildArguments> - <InArgument x:TypeArguments="x:String" /> - </this:Process.MSBuildArguments> - <this:Process.MSBuildPlatform>[Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]</this:Process.MSBuildPlatform> - <this:Process.DoNotDownloadBuildType>[False]</this:Process.DoNotDownloadBuildType> - <this:Process.LogFilePerProject>[False]</this:Process.LogFilePerProject> - <this:Process.SourcesSubdirectory> - <InArgument x:TypeArguments="x:String" /> - </this:Process.SourcesSubdirectory> - <this:Process.BinariesSubdirectory> - <InArgument x:TypeArguments="x:String" /> - </this:Process.BinariesSubdirectory> - <this:Process.TestResultsSubdirectory> - <InArgument x:TypeArguments="x:String" /> - </this:Process.TestResultsSubdirectory> - <this:Process.RecursionType>[Microsoft.TeamFoundation.VersionControl.Client.RecursionType.OneLevel]</this:Process.RecursionType> - <this:Process.Verbosity>[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]</this:Process.Verbosity> - <this:Process.Metadata> - <mtbw:ProcessParameterMetadataCollection /> - </this:Process.Metadata> - <this:Process.SupportedReasons>All</this:Process.SupportedReasons> - <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" /> - </Sequence.Variables> - <mtbwa:GetBuildDetail DisplayName="Get the Build" Result="[BuildDetail]" /> - <mtbwa:InvokeForReason DisplayName="Update Build Number for Triggered Builds" Reason="Triggered"> - <mtbwa:UpdateBuildNumber BuildNumberFormat="["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]" DisplayName="Update Build Number" /> - </mtbwa:InvokeForReason> - <mtbwa:AgentScope DisplayName="Run On Agent" MaxExecutionTime="[AgentSettings.MaxExecutionTime]" MaxWaitTime="[AgentSettings.MaxWaitTime]" ReservationSpec="[AgentSettings.GetAgentReservationSpec()]"> - <mtbwa:AgentScope.Variables> - <Variable x:TypeArguments="x:String" Name="buildDirectory" /> - </mtbwa:AgentScope.Variables> - <mtbwa:GetBuildDirectory DisplayName="Get the Build Directory" Result="[buildDirectory]" /> - <If Condition="[Not String.IsNullOrEmpty(ConfigurationFolderPath)]" DisplayName="If Not String.IsNullOrEmpty(ConfigurationFolderPath)"> - <If.Then> - <mtbwa:TfsBuild BinariesSubdirectory="[BinariesSubdirectory]" BuildDirectory="[buildDirectory]" CommandLineArguments="[MSBuildArguments]" ConfigurationFolderPath="[ConfigurationFolderPath]" DisplayName="Run TfsBuild for Configuration Folder" DoNotDownloadBuildType="[DoNotDownloadBuildType]" LogFilePerProject="[LogFilePerProject]" RecursionType="[RecursionType]" SourcesSubdirectory="[SourcesSubdirectory]" TestResultsSubdirectory="[TestResultsSubdirectory]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" /> - </If.Then> - </If> - <If Condition="[BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If CompilationStatus = Unknown"> - <If.Then> - <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" DisplayName="Set CompilationStatus to Succeeded" PropertiesToSet="CompilationStatus" /> - </If.Then> - </If> - <If Condition="[BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If TestStatus = Unknown"> - <If.Then> - <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Succeeded" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" /> - </If.Then> - </If> - </mtbwa:AgentScope> - <mtbwa:InvokeForReason Reason="CheckInShelveset"> - <mtbwa:CheckInGatedChanges DisplayName="Check In Gated Changes" /> - </mtbwa:InvokeForReason> - </Sequence> -</Activity> \ No newline at end of file diff --git a/DfBAdminToolkit/$tf/14/9fe7665e-7d92-4df7-a244-9d6901d4776d.gz b/DfBAdminToolkit/$tf/14/9fe7665e-7d92-4df7-a244-9d6901d4776d.gz deleted file mode 100644 index 98662bb..0000000 Binary files a/DfBAdminToolkit/$tf/14/9fe7665e-7d92-4df7-a244-9d6901d4776d.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/c0dd771e-6c77-4714-8b2f-b8b995984dc0.gz b/DfBAdminToolkit/$tf/14/c0dd771e-6c77-4714-8b2f-b8b995984dc0.gz deleted file mode 100644 index ae50e4c..0000000 Binary files a/DfBAdminToolkit/$tf/14/c0dd771e-6c77-4714-8b2f-b8b995984dc0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/cf612d6e-5a18-459e-911c-668e4b7bcf0b.gz b/DfBAdminToolkit/$tf/14/cf612d6e-5a18-459e-911c-668e4b7bcf0b.gz deleted file mode 100644 index 999b703..0000000 Binary files a/DfBAdminToolkit/$tf/14/cf612d6e-5a18-459e-911c-668e4b7bcf0b.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/14/f89b2e5e-dc81-413d-94db-e7e7454cd7de.gz b/DfBAdminToolkit/$tf/14/f89b2e5e-dc81-413d-94db-e7e7454cd7de.gz deleted file mode 100644 index 7ebf8d7..0000000 Binary files a/DfBAdminToolkit/$tf/14/f89b2e5e-dc81-413d-94db-e7e7454cd7de.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/02e652bf-cdfa-43d7-96dc-58db217d4854.gz b/DfBAdminToolkit/$tf/15/02e652bf-cdfa-43d7-96dc-58db217d4854.gz deleted file mode 100644 index 83fa98f..0000000 Binary files a/DfBAdminToolkit/$tf/15/02e652bf-cdfa-43d7-96dc-58db217d4854.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/2ab3cb6f-59d1-4650-ab9b-22610a8c2000.gz b/DfBAdminToolkit/$tf/15/2ab3cb6f-59d1-4650-ab9b-22610a8c2000.gz deleted file mode 100644 index a34ce4e..0000000 Binary files a/DfBAdminToolkit/$tf/15/2ab3cb6f-59d1-4650-ab9b-22610a8c2000.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/63b936af-a441-4bbd-93e3-a467b552e582.gz b/DfBAdminToolkit/$tf/15/63b936af-a441-4bbd-93e3-a467b552e582.gz deleted file mode 100644 index 4896bf8..0000000 Binary files a/DfBAdminToolkit/$tf/15/63b936af-a441-4bbd-93e3-a467b552e582.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/66f814cf-9df2-4d4b-9480-ab7e5842dbf6.gz b/DfBAdminToolkit/$tf/15/66f814cf-9df2-4d4b-9480-ab7e5842dbf6.gz deleted file mode 100644 index 0d52c22..0000000 Binary files a/DfBAdminToolkit/$tf/15/66f814cf-9df2-4d4b-9480-ab7e5842dbf6.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/7bd2615f-800e-4bdc-8583-1e072a744f02.gz b/DfBAdminToolkit/$tf/15/7bd2615f-800e-4bdc-8583-1e072a744f02.gz deleted file mode 100644 index 05c6702..0000000 Binary files a/DfBAdminToolkit/$tf/15/7bd2615f-800e-4bdc-8583-1e072a744f02.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/9e0decbf-ed34-438d-8a9c-150730f9f73a.gz b/DfBAdminToolkit/$tf/15/9e0decbf-ed34-438d-8a9c-150730f9f73a.gz deleted file mode 100644 index 95a7a11..0000000 Binary files a/DfBAdminToolkit/$tf/15/9e0decbf-ed34-438d-8a9c-150730f9f73a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/a0efaf4f-bf88-43e9-a0ec-fb65c58ca8e1.gz b/DfBAdminToolkit/$tf/15/a0efaf4f-bf88-43e9-a0ec-fb65c58ca8e1.gz deleted file mode 100644 index 80f45c9..0000000 Binary files a/DfBAdminToolkit/$tf/15/a0efaf4f-bf88-43e9-a0ec-fb65c58ca8e1.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/acc5c00f-f3a1-499f-b04b-96da83406c53.gz b/DfBAdminToolkit/$tf/15/acc5c00f-f3a1-499f-b04b-96da83406c53.gz deleted file mode 100644 index 063aa4f..0000000 Binary files a/DfBAdminToolkit/$tf/15/acc5c00f-f3a1-499f-b04b-96da83406c53.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/dc7345bf-d417-4ad0-bdb7-7de91e66d4d0.gz b/DfBAdminToolkit/$tf/15/dc7345bf-d417-4ad0-bdb7-7de91e66d4d0.gz deleted file mode 100644 index c36b780..0000000 Binary files a/DfBAdminToolkit/$tf/15/dc7345bf-d417-4ad0-bdb7-7de91e66d4d0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/e5893c6f-8324-4321-b387-a7cac8140780.gz b/DfBAdminToolkit/$tf/15/e5893c6f-8324-4321-b387-a7cac8140780.gz deleted file mode 100644 index 179c75e..0000000 Binary files a/DfBAdminToolkit/$tf/15/e5893c6f-8324-4321-b387-a7cac8140780.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/15/f646a6df-4b41-493f-97d4-77297fff1296.gz b/DfBAdminToolkit/$tf/15/f646a6df-4b41-493f-97d4-77297fff1296.gz deleted file mode 100644 index 93849b5..0000000 Binary files a/DfBAdminToolkit/$tf/15/f646a6df-4b41-493f-97d4-77297fff1296.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/0d3f62e2-7774-40dc-85fc-8a3f8100bdf7.gz b/DfBAdminToolkit/$tf/2/0d3f62e2-7774-40dc-85fc-8a3f8100bdf7.gz deleted file mode 100644 index 3bb1933..0000000 Binary files a/DfBAdminToolkit/$tf/2/0d3f62e2-7774-40dc-85fc-8a3f8100bdf7.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/1f2ea492-bca3-4a4e-aba6-7466f73c8876.gz b/DfBAdminToolkit/$tf/2/1f2ea492-bca3-4a4e-aba6-7466f73c8876.gz deleted file mode 100644 index aea9281..0000000 Binary files a/DfBAdminToolkit/$tf/2/1f2ea492-bca3-4a4e-aba6-7466f73c8876.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/655f9622-8b4a-46d9-aef0-fbb85cc46b05.gz b/DfBAdminToolkit/$tf/2/655f9622-8b4a-46d9-aef0-fbb85cc46b05.gz deleted file mode 100644 index d7f80a3..0000000 Binary files a/DfBAdminToolkit/$tf/2/655f9622-8b4a-46d9-aef0-fbb85cc46b05.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/6ef8cb72-789b-4be7-9970-31ab68b1bf9f.gz b/DfBAdminToolkit/$tf/2/6ef8cb72-789b-4be7-9970-31ab68b1bf9f.gz deleted file mode 100644 index 56a93fe..0000000 Binary files a/DfBAdminToolkit/$tf/2/6ef8cb72-789b-4be7-9970-31ab68b1bf9f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/7045e652-d8a7-4525-9221-fea9fd43978f.gz b/DfBAdminToolkit/$tf/2/7045e652-d8a7-4525-9221-fea9fd43978f.gz deleted file mode 100644 index b151cac..0000000 Binary files a/DfBAdminToolkit/$tf/2/7045e652-d8a7-4525-9221-fea9fd43978f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/8e30fbb2-d2fd-4304-8583-5539a6953448.gz b/DfBAdminToolkit/$tf/2/8e30fbb2-d2fd-4304-8583-5539a6953448.gz deleted file mode 100644 index 81d75b9..0000000 Binary files a/DfBAdminToolkit/$tf/2/8e30fbb2-d2fd-4304-8583-5539a6953448.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/a8de5412-f5f1-4724-8f19-0ab9a7f531d6.gz b/DfBAdminToolkit/$tf/2/a8de5412-f5f1-4724-8f19-0ab9a7f531d6.gz deleted file mode 100644 index ff33b98..0000000 Binary files a/DfBAdminToolkit/$tf/2/a8de5412-f5f1-4724-8f19-0ab9a7f531d6.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/d505a8b2-69db-4ba9-8ddd-c6ce503e3ea0.gz b/DfBAdminToolkit/$tf/2/d505a8b2-69db-4ba9-8ddd-c6ce503e3ea0.gz deleted file mode 100644 index 4439364..0000000 Binary files a/DfBAdminToolkit/$tf/2/d505a8b2-69db-4ba9-8ddd-c6ce503e3ea0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/e01ec9c2-b4fc-46a1-8cc3-8e51f7f9b2c7.gz b/DfBAdminToolkit/$tf/2/e01ec9c2-b4fc-46a1-8cc3-8e51f7f9b2c7.gz deleted file mode 100644 index fbccd13..0000000 Binary files a/DfBAdminToolkit/$tf/2/e01ec9c2-b4fc-46a1-8cc3-8e51f7f9b2c7.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/2/e1bc1c32-34a2-4857-9b54-a6fa619f0eba.gz b/DfBAdminToolkit/$tf/2/e1bc1c32-34a2-4857-9b54-a6fa619f0eba.gz deleted file mode 100644 index 4d2dbc2..0000000 Binary files a/DfBAdminToolkit/$tf/2/e1bc1c32-34a2-4857-9b54-a6fa619f0eba.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/011e69a3-860b-4a32-96e5-550d7f784a03.gz b/DfBAdminToolkit/$tf/3/011e69a3-860b-4a32-96e5-550d7f784a03.gz deleted file mode 100644 index d86ec9b..0000000 Binary files a/DfBAdminToolkit/$tf/3/011e69a3-860b-4a32-96e5-550d7f784a03.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/02c01bf3-fded-402f-8569-888b311ab9e3.gz b/DfBAdminToolkit/$tf/3/02c01bf3-fded-402f-8569-888b311ab9e3.gz deleted file mode 100644 index b33022d..0000000 Binary files a/DfBAdminToolkit/$tf/3/02c01bf3-fded-402f-8569-888b311ab9e3.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/222499d3-56d2-4d17-a5ce-117f3cea8d40.gz b/DfBAdminToolkit/$tf/3/222499d3-56d2-4d17-a5ce-117f3cea8d40.gz deleted file mode 100644 index 2687684..0000000 Binary files a/DfBAdminToolkit/$tf/3/222499d3-56d2-4d17-a5ce-117f3cea8d40.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/2f3a9883-bb4c-4e6f-87d7-ebdc702ef95d.gz b/DfBAdminToolkit/$tf/3/2f3a9883-bb4c-4e6f-87d7-ebdc702ef95d.gz deleted file mode 100644 index 81d75b9..0000000 Binary files a/DfBAdminToolkit/$tf/3/2f3a9883-bb4c-4e6f-87d7-ebdc702ef95d.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/63340c93-08b6-4dde-a752-ce7c80b91244.gz b/DfBAdminToolkit/$tf/3/63340c93-08b6-4dde-a752-ce7c80b91244.gz deleted file mode 100644 index cbbfcfe..0000000 Binary files a/DfBAdminToolkit/$tf/3/63340c93-08b6-4dde-a752-ce7c80b91244.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/6f26a393-d836-4995-8521-89c3cea612fc.gz b/DfBAdminToolkit/$tf/3/6f26a393-d836-4995-8521-89c3cea612fc.gz deleted file mode 100644 index 3fb4ef3..0000000 Binary files a/DfBAdminToolkit/$tf/3/6f26a393-d836-4995-8521-89c3cea612fc.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/8cd12db3-cc5a-4629-b84e-b63d08d9ab23.gz b/DfBAdminToolkit/$tf/3/8cd12db3-cc5a-4629-b84e-b63d08d9ab23.gz deleted file mode 100644 index 8db7f4c..0000000 Binary files a/DfBAdminToolkit/$tf/3/8cd12db3-cc5a-4629-b84e-b63d08d9ab23.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/91f577a3-ca4c-4efe-9fcc-21308e35f306.rw b/DfBAdminToolkit/$tf/3/91f577a3-ca4c-4efe-9fcc-21308e35f306.rw deleted file mode 100644 index 063c42f..0000000 --- a/DfBAdminToolkit/$tf/3/91f577a3-ca4c-4efe-9fcc-21308e35f306.rw +++ /dev/null @@ -1,543 +0,0 @@ -<Activity mc:Ignorable="sad" x:Class="TfsBuild.Process" xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mt="clr-namespace:Microsoft.TeamFoundation;assembly=Microsoft.TeamFoundation.Common" xmlns:mtbc="clr-namespace:Microsoft.TeamFoundation.Build.Client;assembly=Microsoft.TeamFoundation.Build.Client" xmlns:mtbw="clr-namespace:Microsoft.TeamFoundation.Build.Workflow;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwa="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Activities;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mtbwt="clr-namespace:Microsoft.TeamFoundation.Build.Workflow.Tracking;assembly=Microsoft.TeamFoundation.Build.Workflow" xmlns:mttbb="clr-namespace:Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities;assembly=Microsoft.TeamFoundation.TestImpact.BuildIntegration" xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client" xmlns:mtvco="clr-namespace:Microsoft.TeamFoundation.VersionControl.Common;assembly=Microsoft.TeamFoundation.VersionControl.Common" xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:sad="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation" xmlns:sad1="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib" xmlns:sl="clr-namespace:System.Linq;assembly=System.Core" xmlns:this="clr-namespace:TfsBuild;" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> - <x:Members> - <x:Property Name="BuildSettings" Type="InArgument(mtbwa:BuildSettings)" /> - <x:Property Name="TestSpecs" Type="InArgument(mtbwa:TestSpecList)" /> - <x:Property Name="BuildNumberFormat" Type="InArgument(x:String)" /> - <x:Property Name="SolutionSpecificBuildOutputs" Type="InArgument(x:Boolean)" /> - <x:Property Name="CleanWorkspace" Type="InArgument(mtbwa:CleanWorkspaceOption)" /> - <x:Property Name="RunCodeAnalysis" Type="InArgument(mtbwa:CodeAnalysisOption)" /> - <x:Property Name="SourceAndSymbolServerSettings" Type="InArgument(mtbwa:SourceAndSymbolServerSettings)" /> - <x:Property Name="AgentSettings" Type="InArgument(mtbwa:AgentSettings)" /> - <x:Property Name="AssociateChangesetsAndWorkItems" Type="InArgument(x:Boolean)" /> - <x:Property Name="CreateWorkItem" Type="InArgument(x:Boolean)" /> - <x:Property Name="MSBuildArguments" Type="InArgument(x:String)" /> - <x:Property Name="MSBuildPlatform" Type="InArgument(mtbwa:ToolPlatform)" /> - <x:Property Name="MSBuildMultiProc" Type="InArgument(x:Boolean)" /> - <x:Property Name="PerformTestImpactAnalysis" Type="InArgument(x:Boolean)" /> - <x:Property Name="CreateLabel" Type="InArgument(x:Boolean)" /> - <x:Property Name="DisableTests" Type="InArgument(x:Boolean)" /> - <x:Property Name="GetVersion" Type="InArgument(x:String)" /> - <x:Property Name="PrivateDropLocation" Type="InArgument(x:String)" /> - <x:Property Name="Verbosity" Type="InArgument(mtbw:BuildVerbosity)" /> - <x:Property Name="Metadata" Type="mtbw:ProcessParameterMetadataCollection" /> - <x:Property Name="SupportedReasons" Type="mtbc:BuildReason" /> - <x:Property Name="BuildProcessVersion" Type="x:String" /> - </x:Members> - <this:Process.BuildSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.BuildSettings()]</this:Process.BuildSettings> - <this:Process.DisableTests>[False]</this:Process.DisableTests> - <this:Process.TestSpecs>[New Microsoft.TeamFoundation.Build.Workflow.Activities.TestSpecList(New Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec("**\*test*.dll"))]</this:Process.TestSpecs> - <this:Process.BuildNumberFormat>["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]</this:Process.BuildNumberFormat> - <this:Process.SolutionSpecificBuildOutputs>[False]</this:Process.SolutionSpecificBuildOutputs> - <this:Process.AssociateChangesetsAndWorkItems>[True]</this:Process.AssociateChangesetsAndWorkItems> - <this:Process.CreateWorkItem>[True]</this:Process.CreateWorkItem> - <this:Process.CleanWorkspace>[Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]</this:Process.CleanWorkspace> - <this:Process.MSBuildArguments> - <InArgument x:TypeArguments="x:String" /> - </this:Process.MSBuildArguments> - <this:Process.RunCodeAnalysis>[Microsoft.TeamFoundation.Build.Workflow.Activities.CodeAnalysisOption.AsConfigured]</this:Process.RunCodeAnalysis> - <this:Process.MSBuildMultiProc>[True]</this:Process.MSBuildMultiProc> - <this:Process.MSBuildPlatform>[Microsoft.TeamFoundation.Build.Workflow.Activities.ToolPlatform.Auto]</this:Process.MSBuildPlatform> - <this:Process.PerformTestImpactAnalysis>[True]</this:Process.PerformTestImpactAnalysis> - <this:Process.SourceAndSymbolServerSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.SourceAndSymbolServerSettings(True, Nothing)]</this:Process.SourceAndSymbolServerSettings> - <this:Process.CreateLabel>[True]</this:Process.CreateLabel> - <this:Process.GetVersion> - <InArgument x:TypeArguments="x:String" /> - </this:Process.GetVersion> - <this:Process.AgentSettings>[New Microsoft.TeamFoundation.Build.Workflow.Activities.AgentSettings() With {.MaxWaitTime = New System.TimeSpan(4, 0, 0), .MaxExecutionTime = New System.TimeSpan(0, 0, 0), .TagComparison = Microsoft.TeamFoundation.Build.Workflow.Activities.TagComparison.MatchExactly }]</this:Process.AgentSettings> - <this:Process.Verbosity>[Microsoft.TeamFoundation.Build.Workflow.BuildVerbosity.Normal]</this:Process.Verbosity> - <this:Process.Metadata> - <mtbw:ProcessParameterMetadataCollection> - <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#300 Advanced" DisplayName="MSBuild Multi-Proc" Description="Enable MSBuild Multi-proc to build your solutions' projects in parallel, when possible, using all available processors on the build server." ParameterName="MSBuildMultiProc" /> - <mtbw:ProcessParameterMetadata BrowsableWhen="EditingDefinition" Category="#300 Advanced" DisplayName="Solution Specific Build Outputs" Description="True will put build outputs into folders based on the solution name. False will put all build outputs into the same folder." ParameterName="SolutionSpecificBuildOutputs" /> - </mtbw:ProcessParameterMetadataCollection> - </this:Process.Metadata> - <this:Process.SupportedReasons>All</this:Process.SupportedReasons> - <this:Process.BuildProcessVersion>11.0</this:Process.BuildProcessVersion> - <mva:VisualBasic.Settings>Assembly references and imported namespaces serialized as XML namespaces</mva:VisualBasic.Settings> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbc:IBuildDetail" Name="BuildDetail" /> - <Variable x:TypeArguments="x:String" Name="DropLocation" /> - </Sequence.Variables> - <mtbwa:GetBuildDetail DisplayName="Get the Build" Result="[BuildDetail]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Sequence DisplayName="Update Drop Location" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:InvokeForReason DisplayName="Update Build Number for Triggered Builds" Reason="Triggered"> - <mtbwa:UpdateBuildNumber BuildNumberFormat="[BuildNumberFormat]" DisplayName="Update Build Number" /> - </mtbwa:InvokeForReason> - <If Condition="[(Not String.IsNullOrEmpty(BuildDetail.DropLocationRoot)) AndAlso (BuildDetail.Reason And Microsoft.TeamFoundation.Build.Client.BuildReason.Triggered) = BuildDetail.Reason]" DisplayName="If Build Reason is Triggered" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Assign x:TypeArguments="x:String" mtbwt:BuildTrackingParticipant.Importance="None" Value="[BuildDropProvider.CombinePaths(BuildDetail.DropLocationRoot, BuildDetail.BuildDefinition.Name, BuildDetail.BuildNumber)]" To="[DropLocation]" /> - <mtbwa:SetBuildProperties DisplayName="Set Drop Location" DropLocation="[DropLocation]" PropertiesToSet="DropLocation" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - <If Condition="[(Not String.IsNullOrEmpty(PrivateDropLocation)) AndAlso BuildDetail.Reason = Microsoft.TeamFoundation.Build.Client.BuildReason.ValidateShelveset]" DisplayName="If Build Reason is ValidateShelveset" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Assign x:TypeArguments="x:String" Value="[BuildDropProvider.CombinePaths(PrivateDropLocation, BuildDetail.BuildDefinition.Name, BuildDetail.BuildNumber)]" To="[DropLocation]" mtbwt:BuildTrackingParticipant.Importance="None" /> - <mtbwa:SetBuildProperties DisplayName="Set Drop Location for Private Build" DropLocation="[DropLocation]" PropertiesToSet="DropLocation" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - </Sequence> - <mtbwa:AgentScope DisplayName="Run On Agent" MaxExecutionTime="[AgentSettings.MaxExecutionTime]" MaxWaitTime="[AgentSettings.MaxWaitTime]" ReservationSpec="[AgentSettings.GetAgentReservationSpec()]"> - <mtbwa:AgentScope.Variables> - <Variable x:TypeArguments="mtbc:IBuildAgent" Name="BuildAgent" /> - <Variable x:TypeArguments="mtvc:Workspace" Name="Workspace" /> - <Variable x:TypeArguments="x:String" Name="BuildDirectory" /> - <Variable x:TypeArguments="x:String" Default="[BuildDetail.BuildNumber]" Name="LabelName" /> - <Variable x:TypeArguments="x:String" Name="WorkspaceName" /> - <Variable x:TypeArguments="x:String" Name="SourcesDirectory" /> - <Variable x:TypeArguments="x:String" Name="BinariesDirectory" /> - <Variable x:TypeArguments="x:String" Name="TestResultsDirectory" /> - </mtbwa:AgentScope.Variables> - <Sequence DisplayName="Initialize Variables" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:GetBuildAgent DisplayName="Get the Agent" Result="[BuildAgent]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:GetBuildDirectory DisplayName="Get the Build Directory" Result="[BuildDirectory]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize Workspace Name" To="[WorkspaceName]" Value="[String.Format("{0}_{1}_{2}", BuildDetail.BuildDefinition.Id, Microsoft.TeamFoundation.LinkingUtilities.DecodeUri(BuildAgent.Uri.AbsoluteUri).ToolSpecificId, BuildAgent.ServiceHost.Name)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize Sources Directory" To="[SourcesDirectory]" Value="[String.Format("{0}\src", BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize Binaries Directory" To="[BinariesDirectory]" Value="[String.Format("{0}\bin", BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Assign x:TypeArguments="x:String" DisplayName="Initialize TestResults Directory" To="[TestResultsDirectory]" Value="[String.Format("{0}\tst", BuildDirectory)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[Not BuildSettings.HasPlatformConfigurations]" DisplayName="If Not BuildSettings.HasPlatformConfigurations" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <AddToCollection x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="Use Default Platform Configuration" Collection="[BuildSettings.PlatformConfigurations]" Item="[Microsoft.TeamFoundation.Build.Workflow.Activities.PlatformConfiguration.Default]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[WorkspaceName.Length > Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize]" DisplayName="If WorkspaceName > MaxSize" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <mtbwa:WriteBuildWarning DisplayName="Write Workspace Size Warning" Message="[String.Format("The workspace name '{0}' exceeds the maximum allowed limit of '{1}' characters. Truncating it to match the maximum limit.", WorkspaceName, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize)]" /> - <Assign x:TypeArguments="x:String" DisplayName="Truncate WorkspaceName to MaxSize" To="[WorkspaceName]" Value="[WorkspaceName.Substring(0, Microsoft.TeamFoundation.VersionControl.Common.RepositoryConstants.MaxWorkspaceNameSize).TrimEnd()]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - </Sequence> - <Sequence DisplayName="Initialize Workspace" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:DeleteDirectory Directory="[TestResultsDirectory]" DisplayName="Delete Test Results Directory" Recursive="[True]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[Not CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.None]" DisplayName="If Not CleanWorkspace = CleanWorkspaceOption.None" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:DeleteDirectory Directory="[BinariesDirectory]" DisplayName="Delete Binaries Directory" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.All]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.All" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Delete Workspace and Sources Directory" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:DeleteWorkspace DeleteLocalItems="[True]" DisplayName="Delete Workspace" Name="[WorkspaceName]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:DeleteDirectory Directory="[SourcesDirectory]" DisplayName="Delete Sources Directory" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </If.Then> - </If> - <mtbwa:CreateWorkspace BuildDirectory="[BuildDirectory]" Comment="["Workspace Created by Team Build"]" DisplayName="Create Workspace" Name="[WorkspaceName]" Result="[Workspace]" SourcesDirectory="[SourcesDirectory]" /> - <If Condition="[CleanWorkspace = Microsoft.TeamFoundation.Build.Workflow.Activities.CleanWorkspaceOption.Outputs]" DisplayName="If CleanWorkspace = CleanWorkspaceOption.Outputs" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <ForEach x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="For Each Configuration in BuildSettings.PlatformConfigurations" Values="[BuildSettings.PlatformConfigurations]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <ActivityAction x:TypeArguments="mtbwa:PlatformConfiguration"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="mtbwa:PlatformConfiguration" Name="platformConfiguration" /> - </ActivityAction.Argument> - <Sequence DisplayName="Clean Configuration"> - <If Condition="[BuildSettings.HasProjectsToBuild]" DisplayName="If BuildSettings.HasProjectsToBuild" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <ForEach x:TypeArguments="x:String" DisplayName="For Each Project in BuildSettings.ProjectsToBuild" Values="[BuildSettings.ProjectsToBuild]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <ActivityAction x:TypeArguments="x:String"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="x:String" Name="serverBuildProjectItem" /> - </ActivityAction.Argument> - <Sequence DisplayName="Clean Project" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localBuildProjectItem" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Paths to Local Paths" Input="[serverBuildProjectItem]" Result="[localBuildProjectItem]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[System.IO.File.Exists(localBuildProjectItem)]" DisplayName="If File.Exists(Project)" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:MSBuild CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)]" Configuration="[platformConfiguration.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" MaxProcesses="[If (MSBuildMultiProc, 0, 1)]" OutDir="[BinariesDirectory]" Platform="[platformConfiguration.Platform]" Project="[localBuildProjectItem]" Targets="[New String() { "Clean" }]" TargetsNotLogged="[New String() {"GetNativeManifest", "GetCopyToOutputDirectoryItems", "GetTargetPath"}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" /> - </If.Then> - </If> - </Sequence> - </ActivityAction> - </ForEach> - </If.Then> - </If> - </Sequence> - </ActivityAction> - </ForEach> - </If.Then> - </If> - <mtbwa:SyncWorkspace DisplayName="Get Workspace" VersionOverride="[GetVersion]" Workspace="[Workspace]"> - <mtbwa:SyncWorkspace.RequestsFailed> - <ActivityAction x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" /> - </ActivityAction.Argument> - <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </ActivityAction> - </mtbwa:SyncWorkspace.RequestsFailed> - </mtbwa:SyncWorkspace> - </Sequence> - <If Condition="[CreateLabel]" DisplayName="If CreateLabel" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Create and Set Label for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated"> - <mtbwa:LabelWorkspace Comment="["Label Created by Team Build"]" DisplayName="Create Label" Name="[LabelName]" Scope="[String.Format("$/{0}", BuildDetail.BuildDefinition.TeamProject)]" Workspace="[Workspace]" /> - <mtbwa:SetBuildProperties DisplayName="Set Label on BuildDetail" LabelName="[String.Format("{0}@$/{1}", LabelName, BuildDetail.BuildDefinition.TeamProject)]" PropertiesToSet="LabelName" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </mtbwa:InvokeForReason> - </If.Then> - <If.Else> - <mtbwa:WriteBuildMessage DisplayName="Write Message" Message="Not Labeling sources" Importance="[Microsoft.TeamFoundation.Build.Client.BuildMessageImportance.High]" /> - </If.Else> - </If> - <TryCatch DisplayName="Try Compile, Test, and Associate Changesets and Work Items" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Finally> - <Sequence DisplayName="Revert Workspace and Copy Files to Drop Location" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:InvokeForReason DisplayName="Revert Workspace for Shelveset Builds" Reason="CheckInShelveset, ValidateShelveset"> - <mtbwa:RevertWorkspace DisplayName="Revert Workspace" Workspace="[Workspace]" /> - </mtbwa:InvokeForReason> - <If Condition="[Not String.IsNullOrEmpty(DropLocation)]" DisplayName="If DropLocation is Set" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:CopyDirectory DisplayName="Drop Files to Drop Location" Source="[BinariesDirectory]" Destination="[DropLocation]" /> - </If.Then> - </If> - </Sequence> - </TryCatch.Finally> - <TryCatch.Try> - <Sequence mtbwt:BuildTrackingParticipant.Importance="None"> - <Sequence.Variables> - <Variable x:TypeArguments="s:Exception" Name="compilationException" /> - <Variable x:TypeArguments="scg:IList(mtvc:Changeset)" Name="associatedChangesets" /> - <Variable x:TypeArguments="s:Boolean" Name="treatTestFailureAsBuildFailure" /> - </Sequence.Variables> - <Parallel DisplayName="Compile, Test, and Associate Changesets and Work Items"> - <TryCatch DisplayName="Try Compile and Test" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <Sequence DisplayName="Compile and Test"> - <ForEach x:TypeArguments="mtbwa:PlatformConfiguration" DisplayName="For Each Configuration in BuildSettings.PlatformConfigurations" Values="[BuildSettings.PlatformConfigurations]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <ActivityAction x:TypeArguments="mtbwa:PlatformConfiguration"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="mtbwa:PlatformConfiguration" Name="platformConfiguration" /> - </ActivityAction.Argument> - <Sequence DisplayName="Compile and Test for Configuration" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="outputDirectory" /> - <Variable x:TypeArguments="x:String" Name="logFileDropLocation" /> - </Sequence.Variables> - <Sequence DisplayName="Initialize Variables" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Assign x:TypeArguments="x:String" DisplayName="Create OutputDirectory Per Platform and Configuration" To="[outputDirectory]" Value="[If (platformConfiguration.IsEmpty Or BuildSettings.PlatformConfigurations.Count = 1, BinariesDirectory, If (platformConfiguration.IsPlatformEmptyOrAnyCpu, BinariesDirectory + "\" + platformConfiguration.Configuration, BinariesDirectory + "\" + platformConfiguration.Platform + "\" + platformConfiguration.Configuration))]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[Not String.IsNullOrEmpty(DropLocation)]" DisplayName="If DropLocation is Set" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Assign x:TypeArguments="x:String" DisplayName="Initialize LogFile Drop Location" To="[logFileDropLocation]" Value="[If (platformConfiguration.IsEmpty Or BuildSettings.PlatformConfigurations.Count = 1, BuildDropProvider.CombinePaths(DropLocation, "logs"), If (platformConfiguration.IsPlatformEmptyOrAnyCpu, BuildDropProvider.CombinePaths(DropLocation, "logs", platformConfiguration.Configuration), BuildDropProvider.CombinePaths(DropLocation, "logs", platformConfiguration.Platform, platformConfiguration.Configuration)))]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - </Sequence> - <If Condition="[BuildSettings.HasProjectsToBuild]" DisplayName="If BuildSettings.HasProjectsToBuild" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <ForEach x:TypeArguments="x:String" DisplayName="For Each Project in BuildSettings.ProjectsToBuild" Values="[BuildSettings.ProjectsToBuild]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <ActivityAction x:TypeArguments="x:String"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="x:String" Name="serverBuildProjectItem" /> - </ActivityAction.Argument> - <TryCatch DisplayName="Try to Compile the Project" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <Sequence DisplayName="Compile the Project" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localProject" /> - <Variable x:TypeArguments="x:String" Name="outputDirectoryPerProject" Default="[outputDirectory]" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[serverBuildProjectItem]" Result="[localProject]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[SolutionSpecificBuildOutputs]" DisplayName="If Build Outputs are Solution-Specific" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Update Output Directory" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Assign x:TypeArguments="x:String" DisplayName="Set Solution-Specific Output Directory" To="[outputDirectoryPerProject]" Value="[System.IO.Path.Combine(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(localProject))]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If DisplayName="If Output Directory Exists" Condition="[System.IO.Directory.Exists(outputDirectoryPerProject)]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:WriteBuildWarning DisplayName="Write Duplicate Project Names Warning" Message="[String.Format("{0} conflicts with another solution/project. Build outputs for solutions/projects with the same name will be copied to the same directory. To separate the build outputs, change the name of one of the solutions/projects.", System.IO.Path.GetFileNameWithoutExtension(localProject))]" /> - </If.Then> - </If> - </Sequence> - </If.Then> - </If> - <mtbwa:MSBuild CommandLineArguments="[String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)]" Configuration="[platformConfiguration.Configuration]" DisplayName="Run MSBuild for Project" GenerateVSPropsFile="[True]" LogFileDropLocation="[logFileDropLocation]" MaxProcesses="[If (MSBuildMultiProc, 0, 1)]" OutDir="[outputDirectoryPerProject]" Platform="[platformConfiguration.Platform]" Project="[localProject]" RunCodeAnalysis="[RunCodeAnalysis]" TargetsNotLogged="[New String() {"GetNativeManifest", "GetCopyToOutputDirectoryItems", "GetTargetPath"}]" ToolPlatform="[MSBuildPlatform]" Verbosity="[Verbosity]" /> - </Sequence> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="ex" /> - </ActivityAction.Argument> - <Sequence DisplayName="Handle Exception"> - <Sequence.Variables> - <Variable x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" /> - </Sequence.Variables> - <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" DisplayName="Set CompilationStatus to Failed" PropertiesToSet="CompilationStatus" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[CreateWorkItem]" DisplayName="If CreateWorkItem" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Create Work Item for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated"> - <mtbwa:OpenWorkItem AssignedTo="[BuildDetail.RequestedFor]" Comment="["This work item was created by TFS Build on a build failure."]" CustomFields="[New Dictionary(Of String, String) From { {"System.Reason", "Build Failure"}, {"Microsoft.VSTS.TCM.ReproSteps", "Start the build using TFS Build"}, {"Severity", "1 - Critical"} }]" DisplayName="Create Work Item" Title="[String.Format("Build Failure in Build: {0}", BuildDetail.BuildNumber)]" Type="["Bug"]" /> - </mtbwa:InvokeForReason> - </If.Then> - </If> - <mtbwa:GetApprovedRequests DisplayName="Get Requests Approved for Check In" Result="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="None" /> - <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <Rethrow DisplayName="Rethrow the exception so the build will stop" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </ActivityAction> - </ForEach> - </If.Then> - </If> - <If Condition="[Not DisableTests]" DisplayName="If Not DisableTests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Run Tests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If Condition="[Not TestSpecs Is Nothing]" DisplayName="If Not TestSpecs Is Nothing" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <ForEach x:TypeArguments="mtbwa:TestSpec" DisplayName="For Each TestSpec in TestSpecs" Values="[TestSpecs]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <ActivityAction x:TypeArguments="mtbwa:TestSpec"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="mtbwa:TestSpec" Name="spec" /> - </ActivityAction.Argument> - <TryCatch DisplayName="Try Run Tests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <If Condition="[TypeOf spec Is Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec]" DisplayName="If spec Is AgileTestPlatformSpec" mtbwt:BuildTrackingParticipant.Importance="None"> - <If.Then> - <Sequence DisplayName="Run Visual Studio Test Runner for Test Sources" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbwa:AgileTestPlatformSpec" Name="agileTestPlatformAssembly" /> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="agileTestPlatformAssemblies" /> - </Sequence.Variables> - <Assign x:TypeArguments="mtbwa:AgileTestPlatformSpec" DisplayName="Assign spec to agileTestPlatformAssembly" To="[agileTestPlatformAssembly]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.AgileTestPlatformSpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:FindMatchingFiles DisplayName="Find Visual Studio Test Platform Test Assemblies" MatchPattern="[String.Format("{0}\{1}", outputDirectory, agileTestPlatformAssembly.AssemblyFileSpec)]" Result="[agileTestPlatformAssemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[agileTestPlatformAssemblies.Count() > 0]" DisplayName="If Visual Studio Test Platform Test Assemblies Found" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[agileTestPlatformAssembly.HasRunSettingsFile]" DisplayName="If agileTestPlatformAssembly.HasRunSettingsFile" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Find Run Settings File And Run Visual Studio Test Runner" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localRunSettings" /> - </Sequence.Variables> - <mtbwa:GenerateRunSettings DisplayName="Generate Run Settings File" RunSettingsForTestRun="[agileTestPlatformAssembly.RunSettingsForTestRun]" Result="[localRunSettings]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:RunTests DisplayName="Run Visual Studio Test Runner for Test Sources" RunName="[agileTestPlatformAssembly.RunName]" Flavor="[platformConfiguration.Configuration]" Platform="[platformConfiguration.Platform]" TestSources="[agileTestPlatformAssemblies]" RunSettings="[localRunSettings]" TestCaseFilter="[agileTestPlatformAssembly.TestCaseFilter]" ExecutionPlatform="[agileTestPlatformAssembly.ExecutionPlatform]" /> - </Sequence> - </If.Then> - <If.Else> - <mtbwa:RunTests DisplayName="Run Visual Studio Test Runner for Test Sources" RunName="[agileTestPlatformAssembly.RunName]" Flavor="[platformConfiguration.Configuration]" Platform="[platformConfiguration.Platform]" TestSources="[agileTestPlatformAssemblies]" TestCaseFilter="[agileTestPlatformAssembly.TestCaseFilter]" ExecutionPlatform="[agileTestPlatformAssembly.ExecutionPlatform]" /> - </If.Else> - </If> - </If.Then> - </If> - </Sequence> - </If.Then> - <If.Else> - <If Condition="[TypeOf spec Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec]" DisplayName="If spec Is TestMetadataFileSpec" mtbwt:BuildTrackingParticipant.Importance="None"> - <If.Then> - <Sequence DisplayName="Run MSTest for Metadata File"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbwa:TestMetadataFileSpec" Name="testMetadataFile" /> - <Variable x:TypeArguments="x:String" Name="localTestMetadata" /> - </Sequence.Variables> - <Assign x:TypeArguments="mtbwa:TestMetadataFileSpec" DisplayName="Assign spec to testMetadataFile" To="[testMetadataFile]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestMetadataFileSpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[testMetadataFile.MetadataFileName]" Result="[localTestMetadata]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:MSTest RunTitle="[testMetadataFile.RunName]" Category="[testMetadataFile.CategoryFilter]" DisplayName="Run MSTest for Metadata File" Flavor="[platformConfiguration.Configuration]" MaxPriority="[testMetadataFile.MaximumPriority]" MinPriority="[testMetadataFile.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestLists="[testMetadataFile.TestLists]" TestMetadata="[localTestMetadata]" TestSettings="[String.Empty]" CommandLineArguments="[testMetadataFile.MSTestCommandLineArgs]" /> - </Sequence> - </If.Then> - <If.Else> - <Sequence DisplayName="Run MSTest for Test Assemblies" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="mtbwa:TestAssemblySpec" Name="testAssembly" /> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="testAssemblies" /> - <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testFlavor" /> - <Variable x:TypeArguments="x:String" Default="[String.Empty]" Name="testPlatform" /> - </Sequence.Variables> - <Assign x:TypeArguments="mtbwa:TestAssemblySpec" DisplayName="Assign spec to testAssembly" To="[testAssembly]" Value="[DirectCast(spec, Microsoft.TeamFoundation.Build.Workflow.Activities.TestAssemblySpec)]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:FindMatchingFiles DisplayName="Find Test Assemblies" MatchPattern="[String.Format("{0}\{1}", outputDirectory, testAssembly.AssemblyFileSpec)]" Result="[testAssemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[testAssemblies.Count() > 0]" DisplayName="If Test Assemblies Found" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[testAssembly.HasTestSettingsFile]" DisplayName="If testAssembly.HasTestSettingsFile" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Find Test Settings File And Run MSTest" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="x:String" Name="localTestSettings" /> - </Sequence.Variables> - <mtbwa:ConvertWorkspaceItem DisplayName="Convert Server Path to Local Path" Input="[testAssembly.TestSettingsFileName]" Result="[localTestSettings]" Workspace="[Workspace]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mtbwa:MSTest RunTitle="[testAssembly.RunName]" Category="[testAssembly.CategoryFilter]" DisplayName="Run MSTest for Test Assemblies" Flavor="[platformConfiguration.Configuration]" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" TestSettings="[localTestSettings]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" /> - </Sequence> - </If.Then> - <If.Else> - <mtbwa:MSTest RunTitle="[testAssembly.RunName]" Category="[testAssembly.CategoryFilter]" DisplayName="Run MSTest for Test Assemblies" Flavor="[platformConfiguration.Configuration]" MaxPriority="[testAssembly.MaximumPriority]" MinPriority="[testAssembly.MinimumPriority]" PathToResultsFilesRoot="[TestResultsDirectory]" Platform="[platformConfiguration.Platform]" SearchPathRoot="[outputDirectory]" TestContainers="[testAssemblies]" CommandLineArguments="[testAssembly.MSTestCommandLineArgs]" /> - </If.Else> - </If> - </If.Then> - </If> - </Sequence> - </If.Else> - </If> - </If.Else> - </If> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="testException" /> - </ActivityAction.Argument> - <Sequence DisplayName="Handle Test Run Exception"> - <Sequence.Variables> - <Variable x:TypeArguments="scg:ICollection(mtbc:IQueuedBuild)" Name="failedRequests" /> - </Sequence.Variables> - <If Condition="[Not (TypeOf testException Is Microsoft.TeamFoundation.Build.Workflow.Activities.TestFailureException)]" DisplayName="If testException is NOT TestFailureException" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:WriteBuildError DisplayName="Write Test Failure Message" Message="[testException.Message]" /> - </If.Then> - </If> - <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Failed" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[spec.FailBuildOnFailure]" DisplayName="If spec.FailBuildOnFailure" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Assign x:TypeArguments="s:Boolean" DisplayName="Set treatTestFailureAsBuildFailure to True" To="[treatTestFailureAsBuildFailure]" Value="[True]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <mtbwa:GetApprovedRequests DisplayName="Get Requests Approved for Check In" Result="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="None" /> - <mtbwa:RetryRequests Behavior="[Microsoft.TeamFoundation.Build.Workflow.Activities.RetryBehavior.DoNotBatch]" DisplayName="Mark Requests for Retry" Requests="[failedRequests]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </Sequence> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </ActivityAction> - </ForEach> - </If.Then> - </If> - </Sequence> - </If.Then> - <If.Else> - <If Condition="[(Not TestSpecs Is Nothing) And (TestSpecs.Count > 0)]" DisplayName="If TestSpecs Is Not Nothing or Empty" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:WriteBuildWarning DisplayName="Write Warning" Message="No automated tests will be run for this build because tests have been disabled for this build definition. To enable these tests, edit this build definition and set the Disable Tests process parameter to false." /> - </If.Then> - </If> - </If.Else> - </If> - </Sequence> - </ActivityAction> - </ForEach> - <If Condition="[BuildDetail.CompilationStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If CompilationStatus = Unknown" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:SetBuildProperties CompilationStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" DisplayName="Set CompilationStatus to Succeeded" PropertiesToSet="CompilationStatus" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Unknown]" DisplayName="If TestStatus = Unknown" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:SetBuildProperties DisplayName="Set TestStatus to Succeeded" PropertiesToSet="TestStatus" TestStatus="[Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Succeeded]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <If Condition="[treatTestFailureAsBuildFailure And (BuildDetail.TestStatus = Microsoft.TeamFoundation.Build.Client.BuildPhaseStatus.Failed)]" DisplayName="If TreatTestFailureAsBuildFailure And (TestStatus = Failed)" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:SetBuildProperties DisplayName="Set Status to Failed" PropertiesToSet="Status" Status="[Microsoft.TeamFoundation.Build.Client.BuildStatus.Failed]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - </Sequence> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="compilationExceptionArgument" /> - </ActivityAction.Argument> - <Assign x:TypeArguments="s:Exception" DisplayName="Save the Compilation Exception" To="[compilationException]" Value="[compilationExceptionArgument]" mtbwt:BuildTrackingParticipant.Importance="None" /> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - <If Condition="[AssociateChangesetsAndWorkItems]" DisplayName="If AssociateChangesetsAndWorkItems" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <If Condition="[CreateLabel]" DisplayName="If CreateLabel and AssociateChangesetsAndWorkItems" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Associate Changesets and Work Items for non-Shelveset Builds" Reason="Manual, IndividualCI, BatchedCI, Schedule, ScheduleForced, UserCreated"> - <mtbwa:AssociateChangesetsAndWorkItems DisplayName="Associate Changesets and Work Items" Result="[associatedChangesets]" /> - </mtbwa:InvokeForReason> - </If.Then> - <If.Else> - <mtbwa:WriteBuildWarning DisplayName="Write Associate Changesets and Work Items Warning" Message="Cannot Associate Changesets and Work Items because the Label Sources option is set to False." /> - </If.Else> - </If> - </If.Then> - </If> - </Parallel> - <If Condition="[Not compilationException Is Nothing]" DisplayName="If a Compilation Exception Occurred" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Throw DisplayName="Rethrow Compilation Exception" Exception="[compilationException]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - </If.Then> - </If> - <Parallel DisplayName="Get Impacted Tests, Index Sources and Publish Symbols"> - <If Condition="[PerformTestImpactAnalysis]" DisplayName="If PerformTestImpactAnalysis" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <Sequence DisplayName="Get Impacted Tests" mtbwt:BuildTrackingParticipant.Importance="Low"> - <Sequence.Variables> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="assemblies" /> - </Sequence.Variables> - <mtbwa:FindMatchingFiles DisplayName="Find Build Outputs" MatchPattern="[String.Format("{0}\**\*.dll;{0}\**\*.exe", BinariesDirectory)]" Result="[assemblies]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <mttbb:GetImpactedTests Assemblies="[assemblies]" AssociatedChangesets="[associatedChangesets]" BinariesRoot="[BinariesDirectory]" Build="[BuildDetail]" CodeChanges="{x:Null}" DisplayName="Get Impacted Tests" ImpactedTests="{x:Null}" Workspace="[Workspace]" /> - </Sequence> - </If.Then> - </If> - <If Condition="[SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.IndexSources Or SourceAndSymbolServerSettings.HasSymbolStorePath" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <mtbwa:InvokeForReason DisplayName="Index Sources and Publish Symbols for Triggered Builds" Reason="Triggered"> - <mtbwa:InvokeForReason.Variables> - <Variable x:TypeArguments="scg:IEnumerable(x:String)" Name="symbolFiles" /> - </mtbwa:InvokeForReason.Variables> - <mtbwa:FindMatchingFiles DisplayName="Find Symbol Files" MatchPattern="[String.Format("{0}\**\*.pdb", BinariesDirectory)]" Result="[symbolFiles]" mtbwt:BuildTrackingParticipant.Importance="Low" /> - <If Condition="[SourceAndSymbolServerSettings.IndexSources]" DisplayName="If SourceAndSymbolServerSettings.IndexSources" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <TryCatch DisplayName="Try Index Sources" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <mtbwa:IndexSources DisplayName="Index Sources" FileList="[symbolFiles]" /> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" /> - </ActivityAction.Argument> - <mtbwa:WriteBuildError DisplayName="Write Indexing Sources Error" Message="[exception.Message]" /> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </If.Then> - </If> - <If Condition="[SourceAndSymbolServerSettings.HasSymbolStorePath]" DisplayName="If SourceAndSymbolServerSettings.HasSymbolStorePath" mtbwt:BuildTrackingParticipant.Importance="Low"> - <If.Then> - <TryCatch DisplayName="Try Publish Symbols" mtbwt:BuildTrackingParticipant.Importance="Low"> - <TryCatch.Try> - <mtbwa:SharedResourceScope DisplayName="Synchronize Access to Symbol Store" MaxExecutionTime="[TimeSpan.Zero]" MaxWaitTime="[New TimeSpan(1, 0, 0)]" ResourceName="[SourceAndSymbolServerSettings.SymbolStorePath]" mtbwt:BuildTrackingParticipant.Importance="Low"> - <mtbwa:PublishSymbols DisplayName="Publish Symbols" FileList="[symbolFiles]" ProductName="[BuildDetail.BuildDefinition.Name]" StorePath="[SourceAndSymbolServerSettings.SymbolStorePath]" Version="[BuildDetail.BuildNumber]" /> - </mtbwa:SharedResourceScope> - </TryCatch.Try> - <TryCatch.Catches> - <Catch x:TypeArguments="s:Exception"> - <ActivityAction x:TypeArguments="s:Exception"> - <ActivityAction.Argument> - <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" /> - </ActivityAction.Argument> - <mtbwa:WriteBuildError DisplayName="Write Publishing Symbols Error" Message="[exception.Message]" /> - </ActivityAction> - </Catch> - </TryCatch.Catches> - </TryCatch> - </If.Then> - </If> - </mtbwa:InvokeForReason> - </If.Then> - </If> - </Parallel> - </Sequence> - </TryCatch.Try> - </TryCatch> - </mtbwa:AgentScope> - <mtbwa:InvokeForReason DisplayName="Check In Gated Changes for CheckInShelveset Builds" Reason="CheckInShelveset"> - <mtbwa:CheckInGatedChanges DisplayName="Check In Gated Changes" /> - </mtbwa:InvokeForReason> - </Sequence> -</Activity> \ No newline at end of file diff --git a/DfBAdminToolkit/$tf/3/978219c3-4539-49cf-af5e-5b1509197a0a.gz b/DfBAdminToolkit/$tf/3/978219c3-4539-49cf-af5e-5b1509197a0a.gz deleted file mode 100644 index 83ca9ca..0000000 Binary files a/DfBAdminToolkit/$tf/3/978219c3-4539-49cf-af5e-5b1509197a0a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/ae988d03-c5d3-4e3a-9de0-8a63e5c62573.gz b/DfBAdminToolkit/$tf/3/ae988d03-c5d3-4e3a-9de0-8a63e5c62573.gz deleted file mode 100644 index ccf1bd6..0000000 Binary files a/DfBAdminToolkit/$tf/3/ae988d03-c5d3-4e3a-9de0-8a63e5c62573.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/b21c6e03-df34-46c6-911b-4694b970cc7c.gz b/DfBAdminToolkit/$tf/3/b21c6e03-df34-46c6-911b-4694b970cc7c.gz deleted file mode 100644 index c04f6ef..0000000 Binary files a/DfBAdminToolkit/$tf/3/b21c6e03-df34-46c6-911b-4694b970cc7c.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/b4942a83-724d-4929-a75b-cf675979893d.gz b/DfBAdminToolkit/$tf/3/b4942a83-724d-4929-a75b-cf675979893d.gz deleted file mode 100644 index 8f0d844..0000000 Binary files a/DfBAdminToolkit/$tf/3/b4942a83-724d-4929-a75b-cf675979893d.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/c7b22113-95cb-4853-a719-e4fd40239660.gz b/DfBAdminToolkit/$tf/3/c7b22113-95cb-4853-a719-e4fd40239660.gz deleted file mode 100644 index 6fecb21..0000000 Binary files a/DfBAdminToolkit/$tf/3/c7b22113-95cb-4853-a719-e4fd40239660.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/c9d36493-02ce-4eaa-aec2-c0d2a6fe098a.gz b/DfBAdminToolkit/$tf/3/c9d36493-02ce-4eaa-aec2-c0d2a6fe098a.gz deleted file mode 100644 index 878d1e6..0000000 Binary files a/DfBAdminToolkit/$tf/3/c9d36493-02ce-4eaa-aec2-c0d2a6fe098a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/cf5cb5f3-151b-42d9-940b-d8c5aaba5a54.gz b/DfBAdminToolkit/$tf/3/cf5cb5f3-151b-42d9-940b-d8c5aaba5a54.gz deleted file mode 100644 index 6fb0162..0000000 Binary files a/DfBAdminToolkit/$tf/3/cf5cb5f3-151b-42d9-940b-d8c5aaba5a54.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/3/e5ff1ee3-c1c6-49b6-87fa-3835bf35d7a3.gz b/DfBAdminToolkit/$tf/3/e5ff1ee3-c1c6-49b6-87fa-3835bf35d7a3.gz deleted file mode 100644 index 0b4870b..0000000 Binary files a/DfBAdminToolkit/$tf/3/e5ff1ee3-c1c6-49b6-87fa-3835bf35d7a3.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/4/08938074-e9e9-4dc0-acdf-de1afeb0efe5.gz b/DfBAdminToolkit/$tf/4/08938074-e9e9-4dc0-acdf-de1afeb0efe5.gz deleted file mode 100644 index af5ab15..0000000 Binary files a/DfBAdminToolkit/$tf/4/08938074-e9e9-4dc0-acdf-de1afeb0efe5.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/4/639afbb4-18ce-40a3-b56e-1472458e66ec.gz b/DfBAdminToolkit/$tf/4/639afbb4-18ce-40a3-b56e-1472458e66ec.gz deleted file mode 100644 index 72ef7ed..0000000 Binary files a/DfBAdminToolkit/$tf/4/639afbb4-18ce-40a3-b56e-1472458e66ec.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/4/773e92b4-9382-4213-9954-3e08774cb810.gz b/DfBAdminToolkit/$tf/4/773e92b4-9382-4213-9954-3e08774cb810.gz deleted file mode 100644 index 81aaa20..0000000 Binary files a/DfBAdminToolkit/$tf/4/773e92b4-9382-4213-9954-3e08774cb810.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/4/a89f48d4-56d4-4502-a0c8-5a533c5d9590.gz b/DfBAdminToolkit/$tf/4/a89f48d4-56d4-4502-a0c8-5a533c5d9590.gz deleted file mode 100644 index a94cf80..0000000 Binary files a/DfBAdminToolkit/$tf/4/a89f48d4-56d4-4502-a0c8-5a533c5d9590.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/4/b3a65cd4-3061-4e30-8be8-81a52cc9efe6.gz b/DfBAdminToolkit/$tf/4/b3a65cd4-3061-4e30-8be8-81a52cc9efe6.gz deleted file mode 100644 index 29a7dc7..0000000 Binary files a/DfBAdminToolkit/$tf/4/b3a65cd4-3061-4e30-8be8-81a52cc9efe6.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/5/21996755-4979-47ca-9563-0c1998a87d2a.gz b/DfBAdminToolkit/$tf/5/21996755-4979-47ca-9563-0c1998a87d2a.gz deleted file mode 100644 index af91290..0000000 Binary files a/DfBAdminToolkit/$tf/5/21996755-4979-47ca-9563-0c1998a87d2a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/5/318923c5-e26e-4ef5-a6b1-ada69723db1a.gz b/DfBAdminToolkit/$tf/5/318923c5-e26e-4ef5-a6b1-ada69723db1a.gz deleted file mode 100644 index cbbfcfe..0000000 Binary files a/DfBAdminToolkit/$tf/5/318923c5-e26e-4ef5-a6b1-ada69723db1a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/5/e6d15025-64a8-4bff-89a7-678b2f8e300c.gz b/DfBAdminToolkit/$tf/5/e6d15025-64a8-4bff-89a7-678b2f8e300c.gz deleted file mode 100644 index f6751b6..0000000 Binary files a/DfBAdminToolkit/$tf/5/e6d15025-64a8-4bff-89a7-678b2f8e300c.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/24d48106-7003-40b4-a21c-c877fb140f4b.gz b/DfBAdminToolkit/$tf/6/24d48106-7003-40b4-a21c-c877fb140f4b.gz deleted file mode 100644 index 2fc69eb..0000000 Binary files a/DfBAdminToolkit/$tf/6/24d48106-7003-40b4-a21c-c877fb140f4b.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/365c79e6-ac44-4063-89f1-09f045f3cf95.gz b/DfBAdminToolkit/$tf/6/365c79e6-ac44-4063-89f1-09f045f3cf95.gz deleted file mode 100644 index 2cebdf0..0000000 Binary files a/DfBAdminToolkit/$tf/6/365c79e6-ac44-4063-89f1-09f045f3cf95.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/39088036-d848-46b3-9465-0b19e32d874c.gz b/DfBAdminToolkit/$tf/6/39088036-d848-46b3-9465-0b19e32d874c.gz deleted file mode 100644 index 90411e9..0000000 Binary files a/DfBAdminToolkit/$tf/6/39088036-d848-46b3-9465-0b19e32d874c.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/43c02cc6-3c53-4965-bc2d-8c735f04884c.gz b/DfBAdminToolkit/$tf/6/43c02cc6-3c53-4965-bc2d-8c735f04884c.gz deleted file mode 100644 index a74208b..0000000 Binary files a/DfBAdminToolkit/$tf/6/43c02cc6-3c53-4965-bc2d-8c735f04884c.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/6afb0846-6b3d-4820-b77e-4f8d3906886e.gz b/DfBAdminToolkit/$tf/6/6afb0846-6b3d-4820-b77e-4f8d3906886e.gz deleted file mode 100644 index a994bc4..0000000 Binary files a/DfBAdminToolkit/$tf/6/6afb0846-6b3d-4820-b77e-4f8d3906886e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/7a5c2716-7c24-45c1-b61c-b9db23bdd4cb.gz b/DfBAdminToolkit/$tf/6/7a5c2716-7c24-45c1-b61c-b9db23bdd4cb.gz deleted file mode 100644 index b605dc7..0000000 Binary files a/DfBAdminToolkit/$tf/6/7a5c2716-7c24-45c1-b61c-b9db23bdd4cb.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/a2096db6-8687-4292-987d-dc8ed152ce41.gz b/DfBAdminToolkit/$tf/6/a2096db6-8687-4292-987d-dc8ed152ce41.gz deleted file mode 100644 index 70e4848..0000000 Binary files a/DfBAdminToolkit/$tf/6/a2096db6-8687-4292-987d-dc8ed152ce41.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/a7bf8e56-462f-4444-bff5-900835060550.gz b/DfBAdminToolkit/$tf/6/a7bf8e56-462f-4444-bff5-900835060550.gz deleted file mode 100644 index e06dc14..0000000 Binary files a/DfBAdminToolkit/$tf/6/a7bf8e56-462f-4444-bff5-900835060550.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/adac8456-41a3-41de-8420-a0c979c5f875.gz b/DfBAdminToolkit/$tf/6/adac8456-41a3-41de-8420-a0c979c5f875.gz deleted file mode 100644 index d36f827..0000000 Binary files a/DfBAdminToolkit/$tf/6/adac8456-41a3-41de-8420-a0c979c5f875.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/c4541f26-d3ce-4136-a692-d04fd18f7e91.rw b/DfBAdminToolkit/$tf/6/c4541f26-d3ce-4136-a692-d04fd18f7e91.rw deleted file mode 100644 index 28ab14b..0000000 --- a/DfBAdminToolkit/$tf/6/c4541f26-d3ce-4136-a692-d04fd18f7e91.rw +++ /dev/null @@ -1,6 +0,0 @@ -namespace DfBAdminToolkit.Common.Services -{ - public interface IData - { - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/$tf/6/cb578736-5fec-4fac-a10e-cede6624c57a.gz b/DfBAdminToolkit/$tf/6/cb578736-5fec-4fac-a10e-cede6624c57a.gz deleted file mode 100644 index b33022d..0000000 Binary files a/DfBAdminToolkit/$tf/6/cb578736-5fec-4fac-a10e-cede6624c57a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/cde639b6-a11c-4c82-88d6-ee5b45dfe164.gz b/DfBAdminToolkit/$tf/6/cde639b6-a11c-4c82-88d6-ee5b45dfe164.gz deleted file mode 100644 index e61d331..0000000 Binary files a/DfBAdminToolkit/$tf/6/cde639b6-a11c-4c82-88d6-ee5b45dfe164.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/dbe496c6-8619-4f07-930c-a208650877b0.gz b/DfBAdminToolkit/$tf/6/dbe496c6-8619-4f07-930c-a208650877b0.gz deleted file mode 100644 index ba6a7f9..0000000 Binary files a/DfBAdminToolkit/$tf/6/dbe496c6-8619-4f07-930c-a208650877b0.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/ed52ea86-a04e-4d64-ac56-d98b3be5d9bd.gz b/DfBAdminToolkit/$tf/6/ed52ea86-a04e-4d64-ac56-d98b3be5d9bd.gz deleted file mode 100644 index b8969fc..0000000 Binary files a/DfBAdminToolkit/$tf/6/ed52ea86-a04e-4d64-ac56-d98b3be5d9bd.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/f1ff3e16-6247-4b4d-9c51-21ce4ec9db3c.gz b/DfBAdminToolkit/$tf/6/f1ff3e16-6247-4b4d-9c51-21ce4ec9db3c.gz deleted file mode 100644 index 8c98479..0000000 Binary files a/DfBAdminToolkit/$tf/6/f1ff3e16-6247-4b4d-9c51-21ce4ec9db3c.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/f9828b66-71c5-49cb-8ae5-90aa3ecfaa51.gz b/DfBAdminToolkit/$tf/6/f9828b66-71c5-49cb-8ae5-90aa3ecfaa51.gz deleted file mode 100644 index 9ade214..0000000 Binary files a/DfBAdminToolkit/$tf/6/f9828b66-71c5-49cb-8ae5-90aa3ecfaa51.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/6/ff4db386-d47d-4e68-9dab-20f87f5f45cb.gz b/DfBAdminToolkit/$tf/6/ff4db386-d47d-4e68-9dab-20f87f5f45cb.gz deleted file mode 100644 index 4896bf8..0000000 Binary files a/DfBAdminToolkit/$tf/6/ff4db386-d47d-4e68-9dab-20f87f5f45cb.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/021b42a7-cda0-4ad7-96b5-faa040243f5a.gz b/DfBAdminToolkit/$tf/7/021b42a7-cda0-4ad7-96b5-faa040243f5a.gz deleted file mode 100644 index 957f3db..0000000 Binary files a/DfBAdminToolkit/$tf/7/021b42a7-cda0-4ad7-96b5-faa040243f5a.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/21de7837-a012-4003-85cb-c917198cb8cc.gz b/DfBAdminToolkit/$tf/7/21de7837-a012-4003-85cb-c917198cb8cc.gz deleted file mode 100644 index f011252..0000000 Binary files a/DfBAdminToolkit/$tf/7/21de7837-a012-4003-85cb-c917198cb8cc.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/384b8a67-a9dd-4a41-88f9-04396fbd5cf3.gz b/DfBAdminToolkit/$tf/7/384b8a67-a9dd-4a41-88f9-04396fbd5cf3.gz deleted file mode 100644 index b33022d..0000000 Binary files a/DfBAdminToolkit/$tf/7/384b8a67-a9dd-4a41-88f9-04396fbd5cf3.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/54baaf77-418a-43fd-bad7-743c39b079cd.gz b/DfBAdminToolkit/$tf/7/54baaf77-418a-43fd-bad7-743c39b079cd.gz deleted file mode 100644 index af0f36f..0000000 Binary files a/DfBAdminToolkit/$tf/7/54baaf77-418a-43fd-bad7-743c39b079cd.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/55b7af87-7d35-4471-98de-c073c3245b95.gz b/DfBAdminToolkit/$tf/7/55b7af87-7d35-4471-98de-c073c3245b95.gz deleted file mode 100644 index 90ffa5d..0000000 Binary files a/DfBAdminToolkit/$tf/7/55b7af87-7d35-4471-98de-c073c3245b95.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/69920537-555f-4675-b2bb-dbae1464a701.gz b/DfBAdminToolkit/$tf/7/69920537-555f-4675-b2bb-dbae1464a701.gz deleted file mode 100644 index 57f9b1a..0000000 Binary files a/DfBAdminToolkit/$tf/7/69920537-555f-4675-b2bb-dbae1464a701.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/887be687-f11f-4d3b-be85-0932ca5fbedf.gz b/DfBAdminToolkit/$tf/7/887be687-f11f-4d3b-be85-0932ca5fbedf.gz deleted file mode 100644 index ce2f47d..0000000 Binary files a/DfBAdminToolkit/$tf/7/887be687-f11f-4d3b-be85-0932ca5fbedf.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/ba5be847-00e7-4102-8bc1-091a174778f4.gz b/DfBAdminToolkit/$tf/7/ba5be847-00e7-4102-8bc1-091a174778f4.gz deleted file mode 100644 index c3557a8..0000000 Binary files a/DfBAdminToolkit/$tf/7/ba5be847-00e7-4102-8bc1-091a174778f4.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/cc0ce667-df9c-481a-8dd1-7f16f727950e.gz b/DfBAdminToolkit/$tf/7/cc0ce667-df9c-481a-8dd1-7f16f727950e.gz deleted file mode 100644 index 790580d..0000000 Binary files a/DfBAdminToolkit/$tf/7/cc0ce667-df9c-481a-8dd1-7f16f727950e.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/7/d74cc087-76a1-44b4-b034-a99de5a9aa89.gz b/DfBAdminToolkit/$tf/7/d74cc087-76a1-44b4-b034-a99de5a9aa89.gz deleted file mode 100644 index d3cf6af..0000000 Binary files a/DfBAdminToolkit/$tf/7/d74cc087-76a1-44b4-b034-a99de5a9aa89.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/8/79504ff8-0282-4a23-b02b-debdc4b6fa63.gz b/DfBAdminToolkit/$tf/8/79504ff8-0282-4a23-b02b-debdc4b6fa63.gz deleted file mode 100644 index 83fa98f..0000000 Binary files a/DfBAdminToolkit/$tf/8/79504ff8-0282-4a23-b02b-debdc4b6fa63.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/8/97afb488-1b12-41c7-8faa-2bfcb3c63098.gz b/DfBAdminToolkit/$tf/8/97afb488-1b12-41c7-8faa-2bfcb3c63098.gz deleted file mode 100644 index 2c44bcd..0000000 Binary files a/DfBAdminToolkit/$tf/8/97afb488-1b12-41c7-8faa-2bfcb3c63098.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/8/c39d26a8-800f-4ca7-b759-55cf4c57cdb3.gz b/DfBAdminToolkit/$tf/8/c39d26a8-800f-4ca7-b759-55cf4c57cdb3.gz deleted file mode 100644 index ca6b50b..0000000 Binary files a/DfBAdminToolkit/$tf/8/c39d26a8-800f-4ca7-b759-55cf4c57cdb3.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/8/d7fbde98-e5ef-4f92-b75b-99d8ddf41e2c.gz b/DfBAdminToolkit/$tf/8/d7fbde98-e5ef-4f92-b75b-99d8ddf41e2c.gz deleted file mode 100644 index ee09c09..0000000 Binary files a/DfBAdminToolkit/$tf/8/d7fbde98-e5ef-4f92-b75b-99d8ddf41e2c.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/8/ff032288-cd30-478f-b1bd-05c287dba447.gz b/DfBAdminToolkit/$tf/8/ff032288-cd30-478f-b1bd-05c287dba447.gz deleted file mode 100644 index 4b2b290..0000000 Binary files a/DfBAdminToolkit/$tf/8/ff032288-cd30-478f-b1bd-05c287dba447.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/9/0180ced9-a119-49ce-9ff9-9048ab47e838.gz b/DfBAdminToolkit/$tf/9/0180ced9-a119-49ce-9ff9-9048ab47e838.gz deleted file mode 100644 index f6c5ac4..0000000 Binary files a/DfBAdminToolkit/$tf/9/0180ced9-a119-49ce-9ff9-9048ab47e838.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/9/31850329-b7a7-44b8-a002-45a346625f50.gz b/DfBAdminToolkit/$tf/9/31850329-b7a7-44b8-a002-45a346625f50.gz deleted file mode 100644 index 83fb826..0000000 Binary files a/DfBAdminToolkit/$tf/9/31850329-b7a7-44b8-a002-45a346625f50.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/9/53b95359-c8df-41be-baaa-c71856d0ce7f.gz b/DfBAdminToolkit/$tf/9/53b95359-c8df-41be-baaa-c71856d0ce7f.gz deleted file mode 100644 index 83fb826..0000000 Binary files a/DfBAdminToolkit/$tf/9/53b95359-c8df-41be-baaa-c71856d0ce7f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/9/68bda1b9-d586-402b-a166-ce5a22ec4e45.gz b/DfBAdminToolkit/$tf/9/68bda1b9-d586-402b-a166-ce5a22ec4e45.gz deleted file mode 100644 index ef53f12..0000000 Binary files a/DfBAdminToolkit/$tf/9/68bda1b9-d586-402b-a166-ce5a22ec4e45.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/9/b57dc4b9-9109-407d-9edf-fa6e004dcd9f.gz b/DfBAdminToolkit/$tf/9/b57dc4b9-9109-407d-9edf-fa6e004dcd9f.gz deleted file mode 100644 index ba43e9c..0000000 Binary files a/DfBAdminToolkit/$tf/9/b57dc4b9-9109-407d-9edf-fa6e004dcd9f.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/9/dcd7b309-ce60-4cc6-9331-b2a15e44e9bd.gz b/DfBAdminToolkit/$tf/9/dcd7b309-ce60-4cc6-9331-b2a15e44e9bd.gz deleted file mode 100644 index abf4cff..0000000 Binary files a/DfBAdminToolkit/$tf/9/dcd7b309-ce60-4cc6-9331-b2a15e44e9bd.gz and /dev/null differ diff --git a/DfBAdminToolkit/$tf/localversion.tf1 b/DfBAdminToolkit/$tf/localversion.tf1 deleted file mode 100644 index 61265c2..0000000 Binary files a/DfBAdminToolkit/$tf/localversion.tf1 and /dev/null differ diff --git a/DfBAdminToolkit/$tf/localversion.tfb b/DfBAdminToolkit/$tf/localversion.tfb deleted file mode 100644 index f6ac046..0000000 Binary files a/DfBAdminToolkit/$tf/localversion.tfb and /dev/null differ diff --git a/DfBAdminToolkit/$tf/pendingchanges.tf1 b/DfBAdminToolkit/$tf/pendingchanges.tf1 deleted file mode 100644 index 7c1a1cd..0000000 Binary files a/DfBAdminToolkit/$tf/pendingchanges.tf1 and /dev/null differ diff --git a/DfBAdminToolkit/$tf/pendingchanges.tfb b/DfBAdminToolkit/$tf/pendingchanges.tfb deleted file mode 100644 index 6d061c2..0000000 Binary files a/DfBAdminToolkit/$tf/pendingchanges.tfb and /dev/null differ diff --git a/DfBAdminToolkit/$tf/properties.tf1 b/DfBAdminToolkit/$tf/properties.tf1 deleted file mode 100644 index 1b514d6..0000000 Binary files a/DfBAdminToolkit/$tf/properties.tf1 and /dev/null differ diff --git a/DfBAdminToolkit/.vs/DfBAdminToolkit/v14/.suo b/DfBAdminToolkit/.vs/DfBAdminToolkit/v14/.suo deleted file mode 100644 index c62da38..0000000 Binary files a/DfBAdminToolkit/.vs/DfBAdminToolkit/v14/.suo and /dev/null differ diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IData.cs b/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IData.cs deleted file mode 100644 index 28ab14b..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IData.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace DfBAdminToolkit.Common.Services -{ - public interface IData - { - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IDataResponse.cs b/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IDataResponse.cs deleted file mode 100644 index 60d9272..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit.Common/Services/IDataResponse.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace DfBAdminToolkit.Common.Services -{ - public interface IDataResponse - : IServiceResponse - { - object Data { get; set; } - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index e90bc03..0000000 Binary files a/DfBAdminToolkit/DfBAdminToolkit.Common/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/DfBAdminToolkit/DfBAdminToolkit.vssscc b/DfBAdminToolkit/DfBAdminToolkit.vssscc deleted file mode 100644 index 6cb031b..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit.vssscc +++ /dev/null @@ -1,10 +0,0 @@ -"" -{ -"FILE_VERSION" = "9237" -"ENLISTMENT_CHOICE" = "NEVER" -"PROJECT_FILE_RELATIVE_PATH" = "" -"NUMBER_OF_EXCLUDED_FILES" = "0" -"ORIGINAL_PROJECT_FILE_PATH" = "" -"NUMBER_OF_NESTED_PROJECTS" = "0" -"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROJECT" -} diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/ILegalModel.cs b/DfBAdminToolkit/DfBAdminToolkit/Model/ILegalModel.cs deleted file mode 100644 index 3da38cb..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/ILegalModel.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace DfBAdminToolkit.Model -{ - public interface ILegalModel - : IModel - { - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/IMainModel.cs b/DfBAdminToolkit/DfBAdminToolkit/Model/IMainModel.cs deleted file mode 100644 index 21f522e..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/IMainModel.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace DfBAdminToolkit.Model -{ - public interface IMainModel - : IModel - { - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/IModel.cs b/DfBAdminToolkit/DfBAdminToolkit/Model/IModel.cs deleted file mode 100644 index f733afc..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/IModel.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace DfBAdminToolkit.Model -{ - public interface IModel - { - void Initialize(); - - void CleanUp(); - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/LegalModel.cs b/DfBAdminToolkit/DfBAdminToolkit/Model/LegalModel.cs deleted file mode 100644 index 512e603..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/LegalModel.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace DfBAdminToolkit.Model -{ - public class LegalModel - : ILegalModel - { - public LegalModel() - { - } - - public void Initialize() - { - } - - public void CleanUp() - { - } - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/MainModel.cs b/DfBAdminToolkit/DfBAdminToolkit/Model/MainModel.cs deleted file mode 100644 index d3a5d83..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/MainModel.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace DfBAdminToolkit.Model -{ - public class MainModel - : IMainModel - { - public MainModel() - { - } - - public void Initialize() - { - } - - public void CleanUp() - { - } - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Model/TeamListViewItemModel.cs b/DfBAdminToolkit/DfBAdminToolkit/Model/TeamListViewItemModel.cs deleted file mode 100644 index bacb6ff..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Model/TeamListViewItemModel.cs +++ /dev/null @@ -1,98 +0,0 @@ -namespace DfBAdminToolkit.Model -{ - using System.ComponentModel; - - public class TeamListViewItemModel - : INotifyPropertyChanged, IModel - { - private string _email; - private string _teamId; - private string _filePath; - private string _fileName; - private string _fileSize; - private bool _isChecked; - - public string Email - { - get { return _email; } - set - { - _email = value; - OnPropertyChanged("Email"); - } - } - - public string TeamId - { - get { return _teamId; } - set - { - _teamId = value; - OnPropertyChanged("TeamId"); - } - } - - public string FilePath - { - get { return _filePath; } - set - { - _filePath = value; - OnPropertyChanged("FilePath"); - } - } - - public string FileName - { - get { return _fileName; } - set - { - _fileName = value; - OnPropertyChanged("FileName"); - } - } - - public string FileSize - { - get { return _fileSize; } - set - { - _fileSize = value; - OnPropertyChanged("FileSize"); - } - } - - public bool IsChecked - { - get { return _isChecked; } - set - { - _isChecked = value; - OnPropertyChanged("IsChecked"); - } - } - - public event PropertyChangedEventHandler PropertyChanged; - - public TeamListViewItemModel() - { - } - - public void Initialize() - { - } - - public void CleanUp() - { - } - - private void OnPropertyChanged(string propName) - { - PropertyChangedEventHandler handler = PropertyChanged; - if (handler != null) - { - handler(this, new PropertyChangedEventArgs(propName)); - } - } - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/ILegalPresenter.cs b/DfBAdminToolkit/DfBAdminToolkit/Presenter/ILegalPresenter.cs deleted file mode 100644 index 861e82c..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/ILegalPresenter.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace DfBAdminToolkit.Presenter -{ - public interface ILegalPresenter - : IPresenter - { - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IProvisioningPresenter.cs b/DfBAdminToolkit/DfBAdminToolkit/Presenter/IProvisioningPresenter.cs deleted file mode 100644 index 42a64aa..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/IProvisioningPresenter.cs +++ /dev/null @@ -1,14 +0,0 @@ - -namespace DfBAdminToolkit.Presenter -{ - using System; - using System.Collections.Generic; - using System.Linq; - using System.Text; - using System.Threading.Tasks; - - public interface IProvisioningPresenter - : IPresenter - { - } -} diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/ITextSearchPresenter.cs b/DfBAdminToolkit/DfBAdminToolkit/Presenter/ITextSearchPresenter.cs deleted file mode 100644 index f183abf..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/ITextSearchPresenter.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace DfBAdminToolkit.Presenter -{ - public interface ITextSearchPresenter - : IPresenter - { - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/MainPresenter.cs b/DfBAdminToolkit/DfBAdminToolkit/Presenter/MainPresenter.cs deleted file mode 100644 index 221355e..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/MainPresenter.cs +++ /dev/null @@ -1,123 +0,0 @@ -namespace DfBAdminToolkit.Presenter -{ - using DfBAdminToolkit.Model; - using DfBAdminToolkit.View; - - public class MainPresenter - : PresenterBase, IMainPresenter - { - public MainPresenter() - : this(new MainModel(), new MainView()) - { - } - - public MainPresenter(IMainModel model, IMainView view) - : base(model, view) - { - } - - protected override void Initialize() - { - // TODO: - // any main view related components will be synced from - // model here - } - - protected override void WireViewEvents() - { - if (!IsViewEventsWired) - { - // TODO: - // wire up main view events - } - } - - protected override void UnWireViewEvents() - { - if (IsViewEventsWired) - { - // TODO: - // unwire main view events - } - } - - protected override void CleanUp() - { - } - - #region Signals - - public void ShowView() - { - if (SyncContext != null) - { - SyncContext.Post(delegate - { - base._view.ShowView(); - }, null); - } - } - - public void ActivateSpinner(bool activate) - { - IMainView view = base._view as IMainView; - if (SyncContext != null) - { - SyncContext.Post(delegate - { - view.EnableLoadingSpinner(activate); - }, null); - } - } - - public void EnableControl(bool enable) - { - IMainView view = base._view as IMainView; - if (SyncContext != null) - { - SyncContext.Post(delegate - { - view.EnableView(enable); - }, null); - } - } - - public void UpdateProgressInfo(string text) - { - IMainView view = base._view as IMainView; - if (SyncContext != null) - { - SyncContext.Post(delegate - { - view.UpdateProgressText(text); - }, null); - } - } - - public void ShowErrorMessage(string text, string title) - { - IMainView view = base._view as IMainView; - if (SyncContext != null) - { - SyncContext.Post(delegate - { - view.ShowErrorMessage(text, title); - }, null); - } - } - - public void ShowInfoMessage(string text) - { - IMainView view = base._view as IMainView; - if (SyncContext != null) - { - SyncContext.Post(delegate - { - view.ShowInfoMessage(text); - }, null); - } - } - - #endregion Signals - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs b/DfBAdminToolkit/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs deleted file mode 100644 index c6eb05e..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs +++ /dev/null @@ -1,278 +0,0 @@ -namespace DfBAdminToolkit.Presenter -{ - using CsvHelper; - using CsvHelper.Configuration; - using DfBAdminToolkit.Common.Services; - using DfBAdminToolkit.Common.Utils; - using DfBAdminToolkit.Model; - using DfBAdminToolkit.View; - using System; - using System.IO; - using System.Linq; - using System.Threading; - - public class ProvisioningPresenter - : PresenterBase, IProvisioningPresenter - { - public ProvisioningPresenter(IProvisioningModel model, IProvisioningView view) - : base(model, view) - { - } - - protected override void Initialize() - { - IProvisioningView view = base._view as IProvisioningView; - IProvisioningModel model = base._model as IProvisioningModel; - PresenterBase.SetViewPropertiesFromModel<IProvisioningView, IProvisioningModel>( - ref view, model - ); - - SyncContext.Post(delegate - { - view.RefreshAccessToken(); - }, null); - } - - protected override void WireViewEvents() - { - if (!IsViewEventsWired) - { - IProvisioningView view = base._view as IProvisioningView; - view.DataChanged += OnDataChanged; - view.CommandProvision += OnCommandProvision; - view.CommandLoadInputFile += OnCommandLoadInputFile; - IsViewEventsWired = true; - } - } - - protected override void UnWireViewEvents() - { - if (IsViewEventsWired) - { - IProvisioningView view = base._view as IProvisioningView; - view.DataChanged -= OnDataChanged; - view.CommandProvision -= OnCommandProvision; - view.CommandLoadInputFile -= OnCommandLoadInputFile; - IsViewEventsWired = false; - } - } - - protected override void CleanUp() - { - } - - public bool LoadInputFile(IProvisioningModel model, IMainPresenter presenter) - { - bool loaded = true; - try - { - FileInfo fInfo = new FileInfo(model.InputFilePath); - if (fInfo.Exists) - { - // try load. - model.Members.Clear(); - CsvConfiguration config = new CsvConfiguration() - { - HasHeaderRecord = false - }; - using (CsvReader reader = new CsvReader(new StreamReader(fInfo.FullName), config)) - { - while (reader.Read()) - { - try - { - MemberListViewItemModel lvItem = new MemberListViewItemModel() - { - Email = reader.GetField<string>(0), - FirstName = reader.GetField<string>(1), - LastName = reader.GetField<string>(2), - IsChecked = true - }; - model.Members.Add(lvItem); - } - catch - { - throw new InvalidDataException(ErrorMessages.INVALID_CSV_DATA); - } - } - if (model.Members.Any()) - { - loaded = true; - } - } - } - else - { - throw new InvalidDataException(ErrorMessages.MISSING_CSV_FILE); - } - } - catch (Exception e) - { - // error message. - SyncContext.Post(delegate - { - presenter.ShowErrorMessage(e.Message, ErrorMessages.DLG_DEFAULT_TITLE); - presenter.UpdateProgressInfo(""); - presenter.ActivateSpinner(false); - presenter.EnableControl(true); - }, null); - } - return loaded; - } - - #region REST Service - - private string ProvisionRoles(IProvisioningModel model, IMainPresenter presenter) - { - string errorMessage = string.Empty; - IMemberServices service = service = new MemberServices(ApplicationResource.BaseUrl, ApplicationResource.ApiVersion); - service.AddMemberUrl = ApplicationResource.ActionAddMember; - foreach (MemberListViewItemModel item in model.Members.Where(m => m.IsChecked).ToList()) - { - IServiceResponse response = service.AddMember(new MemberData() - { - Email = item.Email, - FirstName = item.FirstName, - LastName = item.LastName, - SendWelcomeEmail = model.SendWelcomeEmail, - RoleName = model.SelectedRole - }, model.AccessToken); - - if (response.StatusCode == System.Net.HttpStatusCode.OK) - { - if (SyncContext != null) - { - SyncContext.Post(delegate - { - presenter.UpdateProgressInfo(string.Format("Updated Member: {0}: {1} {2}", item.Email, item.FirstName, item.LastName)); - }, null); - } - } - else - { - errorMessage = ErrorMessages.FAILED_TO_ADD_MEMBER; - } - } - return errorMessage; - } - - #endregion REST Service - - #region Events - - private void OnCommandLoadInputFile(object sender, EventArgs e) - { - IProvisioningView view = base._view as IProvisioningView; - IProvisioningModel model = base._model as IProvisioningModel; - IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); - if (SyncContext != null) - { - SyncContext.Post(delegate - { - presenter.EnableControl(false); - presenter.ActivateSpinner(true); - presenter.UpdateProgressInfo("Loading Input File..."); - }, null); - } - - // TODO: to improve stability, we will need to ensure to kill - // thread when user exits application while thread is running for REST service call - Thread load = new Thread(() => - { - if (!string.IsNullOrEmpty(model.AccessToken)) - { - bool loaded = this.LoadInputFile(model, presenter); - if (SyncContext != null) - { - SyncContext.Post(delegate - { - // update result and update view. - view.RenderMemberList(model.Members); - presenter.UpdateProgressInfo("CSV Loaded"); - presenter.ActivateSpinner(false); - presenter.EnableControl(true); - view.EnableProvisionButton(loaded); - }, null); - } - } - }); - load.Start(); - } - - private void OnCommandProvision(object sender, System.EventArgs e) - { - IProvisioningView view = base._view as IProvisioningView; - IProvisioningModel model = base._model as IProvisioningModel; - IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>(); - - if (SyncContext != null) - { - SyncContext.Post(delegate - { - presenter.EnableControl(false); - presenter.ActivateSpinner(true); - presenter.UpdateProgressInfo("Processing..."); - }, null); - } - - // TODO: to improve stability, we will need to ensure to kill - // thread when user exits application while thread is running for REST service call - Thread provision = new Thread(() => - { - if (string.IsNullOrEmpty(model.AccessToken)) - { - SyncContext.Post(delegate - { - presenter.EnableControl(true); - presenter.ActivateSpinner(false); - presenter.UpdateProgressInfo(""); - }, null); - } - else if (string.IsNullOrEmpty(model.SelectedRole)) - { - SyncContext.Post(delegate - { - presenter.ShowErrorMessage(ErrorMessages.MISSING_ROLE, ErrorMessages.DLG_DEFAULT_TITLE); - presenter.EnableControl(true); - presenter.ActivateSpinner(false); - presenter.UpdateProgressInfo(""); - }, null); - } - else - { - string error = this.ProvisionRoles(model, presenter); - if (SyncContext != null) - { - SyncContext.Post(delegate - { - if (!string.IsNullOrEmpty(error)) - { - presenter.ShowErrorMessage(error, ErrorMessages.DLG_DEFAULT_TITLE); - presenter.UpdateProgressInfo(""); - } - else - { - presenter.UpdateProgressInfo("Completed"); - } - // update result and update view. - presenter.ActivateSpinner(false); - presenter.EnableControl(true); - }, null); - } - } - }); - provision.Start(); - } - - private void OnDataChanged(object sender, System.EventArgs e) - { - IProvisioningView view = base._view as IProvisioningView; - IProvisioningModel model = base._model as IProvisioningModel; - PresenterBase.SetModelPropertiesFromView<IProvisioningModel, IProvisioningView>( - ref model, view - ); - } - - #endregion Events - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.Designer.cs b/DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.Designer.cs deleted file mode 100644 index db17cc8..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.Designer.cs +++ /dev/null @@ -1,222 +0,0 @@ -namespace DfBAdminToolkit.View -{ - partial class SettingsView - { - /// <summary> - /// Required designer variable. - /// </summary> - private System.ComponentModel.IContainer components = null; - - /// <summary> - /// Clean up any resources being used. - /// </summary> - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// <summary> - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// </summary> - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsView)); - this.buttonExit = new System.Windows.Forms.Button(); - this.buttonOk = new System.Windows.Forms.Button(); - this.textBoxDefaultProvision = new System.Windows.Forms.TextBox(); - this.textBoxDefaultAccess = new System.Windows.Forms.TextBox(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.textBoxSearchDefault = new System.Windows.Forms.TextBox(); - this.label4 = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.textBoxApiVersion = new System.Windows.Forms.TextBox(); - this.textBoxContentUrl = new System.Windows.Forms.TextBox(); - this.textBoxBaseUrl = new System.Windows.Forms.TextBox(); - this.labelStatus = new System.Windows.Forms.Label(); - this.SuspendLayout(); - // - // buttonExit - // - this.buttonExit.Location = new System.Drawing.Point(484, 242); - this.buttonExit.Name = "buttonExit"; - this.buttonExit.Size = new System.Drawing.Size(75, 23); - this.buttonExit.TabIndex = 0; - this.buttonExit.Text = "Exit"; - this.buttonExit.UseVisualStyleBackColor = true; - this.buttonExit.Click += new System.EventHandler(this.buttonExit_Click); - // - // buttonOk - // - this.buttonOk.Location = new System.Drawing.Point(403, 242); - this.buttonOk.Name = "buttonOk"; - this.buttonOk.Size = new System.Drawing.Size(75, 23); - this.buttonOk.TabIndex = 2; - this.buttonOk.Text = "Ok"; - this.buttonOk.UseVisualStyleBackColor = true; - this.buttonOk.Click += new System.EventHandler(this.buttonOk_Click); - // - // textBoxDefaultProvision - // - this.textBoxDefaultProvision.Location = new System.Drawing.Point(146, 60); - this.textBoxDefaultProvision.Name = "textBoxDefaultProvision"; - this.textBoxDefaultProvision.Size = new System.Drawing.Size(413, 20); - this.textBoxDefaultProvision.TabIndex = 3; - // - // textBoxDefaultAccess - // - this.textBoxDefaultAccess.Location = new System.Drawing.Point(146, 21); - this.textBoxDefaultAccess.Name = "textBoxDefaultAccess"; - this.textBoxDefaultAccess.Size = new System.Drawing.Size(413, 20); - this.textBoxDefaultAccess.TabIndex = 4; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 24); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(128, 13); - this.label1.TabIndex = 5; - this.label1.Text = "Team File Access Token:"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(5, 63); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(136, 13); - this.label2.TabIndex = 6; - this.label2.Text = "Team Management Token:"; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(38, 102); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(105, 13); - this.label3.TabIndex = 7; - this.label3.Text = "Search Default Limit:"; - // - // textBoxSearchDefault - // - this.textBoxSearchDefault.Location = new System.Drawing.Point(146, 99); - this.textBoxSearchDefault.Name = "textBoxSearchDefault"; - this.textBoxSearchDefault.Size = new System.Drawing.Size(58, 20); - this.textBoxSearchDefault.TabIndex = 8; - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(91, 141); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(50, 13); - this.label4.TabIndex = 9; - this.label4.Text = "Base Url:"; - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(80, 180); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(63, 13); - this.label5.TabIndex = 10; - this.label5.Text = "Content Url:"; - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(318, 141); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(63, 13); - this.label6.TabIndex = 11; - this.label6.Text = "Api Version:"; - // - // textBoxApiVersion - // - this.textBoxApiVersion.Location = new System.Drawing.Point(386, 138); - this.textBoxApiVersion.Name = "textBoxApiVersion"; - this.textBoxApiVersion.Size = new System.Drawing.Size(39, 20); - this.textBoxApiVersion.TabIndex = 12; - // - // textBoxContentUrl - // - this.textBoxContentUrl.Location = new System.Drawing.Point(146, 177); - this.textBoxContentUrl.Name = "textBoxContentUrl"; - this.textBoxContentUrl.Size = new System.Drawing.Size(166, 20); - this.textBoxContentUrl.TabIndex = 13; - // - // textBoxBaseUrl - // - this.textBoxBaseUrl.Location = new System.Drawing.Point(146, 138); - this.textBoxBaseUrl.Name = "textBoxBaseUrl"; - this.textBoxBaseUrl.Size = new System.Drawing.Size(166, 20); - this.textBoxBaseUrl.TabIndex = 14; - // - // labelStatus - // - this.labelStatus.AutoSize = true; - this.labelStatus.Location = new System.Drawing.Point(12, 217); - this.labelStatus.Name = "labelStatus"; - this.labelStatus.Size = new System.Drawing.Size(59, 13); - this.labelStatus.TabIndex = 15; - this.labelStatus.Text = "labelStatus"; - // - // SettingsView - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(569, 273); - this.Controls.Add(this.labelStatus); - this.Controls.Add(this.textBoxBaseUrl); - this.Controls.Add(this.textBoxContentUrl); - this.Controls.Add(this.textBoxApiVersion); - this.Controls.Add(this.label6); - this.Controls.Add(this.label5); - this.Controls.Add(this.label4); - this.Controls.Add(this.textBoxSearchDefault); - this.Controls.Add(this.label3); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.textBoxDefaultAccess); - this.Controls.Add(this.textBoxDefaultProvision); - this.Controls.Add(this.buttonOk); - this.Controls.Add(this.buttonExit); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.MaximizeBox = false; - this.MinimizeBox = false; - this.Name = "SettingsView"; - this.Text = "Settings"; - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Button buttonExit; - private System.Windows.Forms.Button buttonOk; - private System.Windows.Forms.TextBox textBoxDefaultProvision; - private System.Windows.Forms.TextBox textBoxDefaultAccess; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.TextBox textBoxSearchDefault; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.Label label6; - private System.Windows.Forms.TextBox textBoxApiVersion; - private System.Windows.Forms.TextBox textBoxContentUrl; - private System.Windows.Forms.TextBox textBoxBaseUrl; - private System.Windows.Forms.Label labelStatus; - } -} \ No newline at end of file diff --git a/DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.cs b/DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.cs deleted file mode 100644 index a358d80..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/View/SettingsView.cs +++ /dev/null @@ -1,61 +0,0 @@ -using System; -using DfBAdminToolkit.Common.Utils; -using System.Configuration; -using System.Windows.Forms; - -namespace DfBAdminToolkit.View -{ - public partial class SettingsView : Form - { - public SettingsView() - { - InitializeComponent(); - StartPosition = FormStartPosition.CenterScreen; - ConfigurationManager.RefreshSection("configuration"); - FileUtil.ResetConfigMechanism(); - GetConfigSettings(); - - labelStatus.Text = ""; - } - - private void buttonExit_Click(object sender, EventArgs e) - { - Application.Exit(); - } - - private void buttonOk_Click(object sender, EventArgs e) - { - UpdateConfigSettings(); - Application.Restart(); - } - - private void UpdateConfigSettings() - { - //update config file with any new settings you changed - FileUtil.UpdateKey("BaseUrl", textBoxBaseUrl.Text.Trim()); - FileUtil.UpdateKey("ContentUrl", textBoxContentUrl.Text.Trim()); - FileUtil.UpdateKey("ApiVersion", textBoxApiVersion.Text.Trim()); - FileUtil.UpdateKey("SearchDefaultLimit", textBoxSearchDefault.Text.Trim()); - FileUtil.UpdateKey("DefaultAccessToken", textBoxDefaultAccess.Text.Trim()); - FileUtil.UpdateKey("DefaultProvisionToken", textBoxDefaultProvision.Text.Trim()); - - Configuration config = ConfigurationManager.OpenExeConfiguration(FileUtil.GetAppPath() + "DfBAdminToolkit.exe"); - ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name); - FileUtil.ResetConfigMechanism(); - } - - private void GetConfigSettings() - { - Configuration config = ConfigurationManager.OpenExeConfiguration(FileUtil.GetAppPath() + "DfBAdminToolkit.exe"); - ConfigurationManager.RefreshSection(config.AppSettings.SectionInformation.Name); - FileUtil.ResetConfigMechanism(); - - textBoxDefaultAccess.Text = ApplicationResource.DefaultAccessToken; - textBoxDefaultProvision.Text = ApplicationResource.DefaultProvisionToken; - textBoxSearchDefault.Text = Convert.ToString(ApplicationResource.SearchDefaultLimit); - textBoxBaseUrl.Text = ApplicationResource.BaseUrl; - textBoxContentUrl.Text = ApplicationResource.ContentUrl; - textBoxApiVersion.Text = ApplicationResource.ApiVersion; - } - } -} diff --git a/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 69d735a..0000000 Binary files a/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/DfBAdminToolkit.csproj.FileListAbsolute.txt b/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/DfBAdminToolkit.csproj.FileListAbsolute.txt deleted file mode 100644 index 274be2b..0000000 --- a/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/DfBAdminToolkit.csproj.FileListAbsolute.txt +++ /dev/null @@ -1 +0,0 @@ -C:\Users\chadd\Documents\DB Admin Toolkit\DfBAdminToolkit\DfBAdminToolkit\bin\Debug\DfBAdminToolkit.exe.config diff --git a/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/DfBAdminToolkit/DfBAdminToolkit/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000 diff --git a/DfBAdminToolkit/UpgradeLog.htm b/DfBAdminToolkit/UpgradeLog.htm deleted file mode 100644 index cbfef94..0000000 Binary files a/DfBAdminToolkit/UpgradeLog.htm and /dev/null differ diff --git a/Installer/DBAdminToolkit.Setup.zip b/Installer/DBAdminToolkit.Setup.zip index 388bf80..22c1182 100644 Binary files a/Installer/DBAdminToolkit.Setup.zip and b/Installer/DBAdminToolkit.Setup.zip differ