Commit for development environment setup

This commit is contained in:
2023-06-19 16:12:33 -04:00
parent be72063a3c
commit bbce2ad0a6
2209 changed files with 1171775 additions and 625 deletions

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="VEPROMS.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
<section name="UISampleNetBar1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="${USERPROFILE}/My Documents/VEPROMS/ErrorLog.txt" />
<!--<param name="File" value="${APPDATA}/Volian/Proms2010/ErrorLog.txt" />-->
<!--<param name="File" value="${LOCALAPPDATA}/Temp/VEPROMS/ErrorLog.txt" />-->
<param name="AppendToFile" value="true" />
<layout type="log4net.Layout.PatternLayout">
<!--<param name="Header" value="[Header]\r\n" />-->
<!--<param name="Footer" value="[Footer]\r\n" />-->
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="--&gt; %date [%thread] %-5level %logger (%property{log4net:HostName}) [%ndc] - %message%newline"/>
</layout>
</appender>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<threshold value="WARN" />
<mapping>
<level value="DEBUG" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="INFO" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="WARN" />
<eventLogEntryType value="Warning" />
</mapping>
<mapping>
<level value="ERROR" />
<eventLogEntryType value="Error" />
</mapping>
<mapping>
<level value="FATAL" />
<eventLogEntryType value="Error" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="---&gt; %d [%t] %-5p %c - %m%n"/>
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="EventLogAppender" />
</root>
<logger name="VEPROMS.CSLA.Library">
<level value="INFO" />
</logger>
<logger name="Volian.Controls.Library">
<level value="INFO" />
</logger>
</log4net>
<appSettings>
<add key="OperatingMode" value="Debug" />
<add key="CslaAuthentication" value="Windows" />
<!--
<add key="CslaDataPortalProxy"
value="Csla.DataPortalClient.RemotingProxy, Csla"/>
<add key="CslaDataPortalUrl"
value="http://localhost/Proms2010RemotingHost/RemotingPortal.rem"/>
<add key="CslaDataPortalProxy"
value="Csla.DataPortalClient.RemotingProxy, Csla"/>
<add key="CslaDataPortalUrl"
value="http://rhmdesktop/Proms2010Remoting/RemotingPortal.rem"/>
<add key="CslaDataPortalProxy"
value="Csla.DataPortalClient.WebServicesProxy, Csla"/>
<add key="CslaDataPortalUrl"
value="http://localhost/VEPROMS_WebService/WebServicePortal.asmx"/>
<add key="CslaDataPortalProxy"
value="EnterpriseServicesHost.EnterpriseServicesProxy,
EnterpriseServicesHost"/>
-->
</appSettings>
<connectionStrings>
<add name="VEPROMS" connectionString="Data Source=VOLIAN-SERVER;User Id=proms2010;password=proms2010;Initial Catalog=VEPROMS" providerName="System.Data.SqlClient" />
<add name="VEPROMS_LOCAL" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=VEPROMS;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="VEPROMS_RMARK_DEBUG" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=VEPROMS;Integrated Security=True" providerName="System.Data.SqlClient" />
<add name="VEPROMS_RMARK_DEMO" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=VEPROMS;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
<userSettings>
<VEPROMS.Properties.Settings>
<setting name="ShowDefaultFolderProp" serializeAs="String">
<value>False</value>
</setting>
<setting name="PropPageStyle" serializeAs="String">
<value>1</value>
</setting>
<setting name="SystemColor" serializeAs="String">
<value>2</value>
</setting>
<setting name="TransitionRangeColor" serializeAs="String">
<value>192, 255, 255</value>
</setting>
<setting name="UseNameOnTreeNode" serializeAs="String">
<value>True</value>
</setting>
<setting name="UseTitleOnTreeNode" serializeAs="String">
<value>False</value>
</setting>
<setting name="WindowState" serializeAs="String">
<value>Normal</value>
</setting>
<setting name="AutoPopUpAnnotations" serializeAs="String">
<value>True</value>
</setting>
<setting name="StepTypeToolTip" serializeAs="String">
<value>False</value>
</setting>
<setting name="TreeviewExpanded" serializeAs="String">
<value>False</value>
</setting>
<setting name="SaveTreeviewExpanded" serializeAs="String">
<value>True</value>
</setting>
</VEPROMS.Properties.Settings>
<UISampleNetBar1.Properties.Settings>
<setting name="ShowDefaultFolderProp" serializeAs="String">
<value>False</value>
</setting>
<setting name="PropPageStyle" serializeAs="String">
<value>1</value>
</setting>
</UISampleNetBar1.Properties.Settings>
</userSettings>
</configuration>

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="Log4Net.txt" />
<param name="AppendToFile" value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="Header" value="[Header]\r\n" />
<param name="Footer" value="[Footer]\r\n" />
<param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="--> %date [%thread] %-5level %logger (%property{log4net:HostName}) [%ndc] - %message%newline" />
</layout>
</appender>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<threshold value="WARN" />
<mapping>
<level value="DEBUG" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="INFO" />
<eventLogEntryType value="Information" />
</mapping>
<mapping>
<level value="WARN" />
<eventLogEntryType value="Warning" />
</mapping>
<mapping>
<level value="ERROR" />
<eventLogEntryType value="Error" />
</mapping>
<mapping>
<level value="FATAL" />
<eventLogEntryType value="Error" />
</mapping>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="---> %d [%t] %-5p %c - %m%n" />
</layout>
</appender>
<root>
<level value="ALL" />
<appender-ref ref="ConsoleAppender" />
<appender-ref ref="LogFileAppender" />
<appender-ref ref="EventLogAppender" />
</root>
<logger name="Volian.Object.Library">
<level value="WARN" />
</logger>
</log4net>
<appSettings>
<add key="CslaAuthentication" value="Windows" />
<!-- Active Connection -->
<!-- Inactive Connections
-->
</appSettings>
<connectionStrings>
<!--<add name="VEPROMS"
connectionString="Data Source=rhmdesktop\SQLEXPRESS;AttachDbFilename=&quot;C:\VS2005Projects\VEPROMS_USERS\VEPROMS_Users.mdf&quot;;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />-->
<add name="VEPROMS"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=VEPROMS_Users;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

View File

@@ -0,0 +1,86 @@
using System;
using System.Collections.Generic;
using System.Text;
using VEPROMS.CSLA.Library;
using Csla;
using System.Windows.Forms;
namespace WinApp
{
public class FolderTreeNode : TreeNode
{
FolderTreeNode(string s) : base(s)
{
this.Name="ID:" + s;
}
FolderTreeNode(FolderInfo folderinfo)
: base(folderinfo.Name)
{
_folderinfo = folderinfo;
this.Name = "ID:" + folderinfo.FolderID.ToString();
}
private FolderInfo _folderinfo;
public FolderInfo FolderInfo
{
get { return _folderinfo; }
set
{
_folderinfo = value;
}
}
private Dictionary<int, FolderTreeNode> _findTree = null;
private Dictionary<int, FolderTreeNode> FindTree
{
get { return _findTree; }
set { _findTree = value; }
}
public FolderTreeNode FindTreeNode(int folderID)
{
if (_findTree != null) return _findTree[folderID];
return null;
}
public static FolderTreeNode BuildTreeList()
{
FolderTreeNode root = null;
FolderInfoList fil = FolderInfoList.Get();
Dictionary<int, FolderTreeNode> dicMissing = new Dictionary<int, FolderTreeNode>();
Dictionary<int, FolderTreeNode> dicExists = new Dictionary<int, FolderTreeNode>();
foreach (FolderInfo fi in fil)
{
FolderTreeNode ftp = null;
if (dicExists.ContainsKey(fi.ParentID))
{
ftp = dicExists[fi.ParentID];
}
else
{
if (fi.ParentID != 0)
{
ftp = new FolderTreeNode(fi.ParentID.ToString());
dicMissing.Add(fi.ParentID, ftp);
dicExists.Add(fi.ParentID, ftp);
}
}
FolderTreeNode ft = null;
if (dicMissing.ContainsKey(fi.FolderID))
{
ft = dicMissing[fi.FolderID];
ft.FolderInfo = fi;
dicMissing.Remove(fi.FolderID);
}
else
{
ft = new FolderTreeNode(fi);
dicExists.Add(fi.FolderID, ft);
}
if (fi.ParentID == 0)
root = ft;
else
ftp.Nodes.Add(ft);
}
root.FindTree = dicExists;
return root;
}
}
}

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace WinApp
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmUser());
}
}
}

View File

@@ -0,0 +1,33 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("WinApp")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Volian Enterprises, Inc.")]
[assembly: AssemblyProduct("WinApp")]
[assembly: AssemblyCopyright("Copyright © Volian Enterprises, Inc. 2006")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("e47b4096-8f91-4c73-9f15-2130d983fd08")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="Group" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.Group, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="GroupAssignments" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.GroupAssignments, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="GroupInfoList" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.GroupInfoList, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="Membership" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.Membership, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="MembershipInfoList" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.MembershipInfoList, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="PermLookup" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.PermLookup, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="Role" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.Role, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="RoleInfoList" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.RoleInfoList, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="User" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.User, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is automatically generated by Visual Studio .Net. It is
used to store generic object data source configuration information.
Renaming the file extension or editing the content of this file may
cause the file to be unrecognizable by the program.
-->
<GenericObjectDataSource DisplayName="UserInfoList" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<TypeInfo>Volian.Object.Library.UserInfoList, Volian.Object.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
</GenericObjectDataSource>

View File

@@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WinApp.Properties
{
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WinApp.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@@ -0,0 +1,117 @@
<?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.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: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" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</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" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WinApp.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "8.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}

View File

@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@@ -0,0 +1,164 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{9912ADA4-5934-4C1D-AF2E-CA8031EBA338}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WinApp</RootNamespace>
<AssemblyName>WinApp</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Csla, Version=2.1.4.0, Culture=neutral, PublicKeyToken=93be5fdc093e4c30, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\VEPROMS.CSLA.Library\bin\Debug\Csla.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\Log4Net\log4net-1.2.10\bin\net\2.0\release\log4net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="FolderTreeNode.cs" />
<Compile Include="frmAssignmentSelect.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmAssignmentSelect.Designer.cs">
<DependentUpon>frmAssignmentSelect.cs</DependentUpon>
</Compile>
<Compile Include="frmGroups.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmGroups.Designer.cs">
<DependentUpon>frmGroups.cs</DependentUpon>
</Compile>
<Compile Include="frmGroupSelect.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmGroupSelect.Designer.cs">
<DependentUpon>frmGroupSelect.cs</DependentUpon>
</Compile>
<Compile Include="frmMembership.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmMembership.Designer.cs">
<DependentUpon>frmMembership.cs</DependentUpon>
</Compile>
<Compile Include="frmRoles.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmRoles.Designer.cs">
<DependentUpon>frmRoles.cs</DependentUpon>
</Compile>
<Compile Include="frmUser.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmUser.Designer.cs">
<DependentUpon>frmUser.cs</DependentUpon>
</Compile>
<Compile Include="frmUserSelect.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmUserSelect.Designer.cs">
<DependentUpon>frmUserSelect.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="frmAssignmentSelect.resx">
<SubType>Designer</SubType>
<DependentUpon>frmAssignmentSelect.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmGroups.resx">
<SubType>Designer</SubType>
<DependentUpon>frmGroups.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmGroupSelect.resx">
<SubType>Designer</SubType>
<DependentUpon>frmGroupSelect.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmMembership.resx">
<SubType>Designer</SubType>
<DependentUpon>frmMembership.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmRoles.resx">
<SubType>Designer</SubType>
<DependentUpon>frmRoles.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmUser.resx">
<SubType>Designer</SubType>
<DependentUpon>frmUser.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmUserSelect.resx">
<SubType>Designer</SubType>
<DependentUpon>frmUserSelect.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="App.config" />
<None Include="Properties\DataSources\Volian.Object.Library.Group.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.GroupAssignments.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.GroupInfoList.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.Membership.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.MembershipInfoList.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.PermLookup.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.Role.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.RoleInfoList.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.User.datasource" />
<None Include="Properties\DataSources\Volian.Object.Library.UserInfoList.datasource" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\VEPROMS.CSLA.Library\VEPROMS.CSLA.Library.csproj">
<Project>{41B2D786-1C03-4C1A-9247-DA9F0D6B06D5}</Project>
<Name>VEPROMS.CSLA.Library</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

View File

@@ -0,0 +1,172 @@
namespace WinApp
{
partial class frmAssignmentSelect
{
/// <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();
this.roleInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.panel1 = new System.Windows.Forms.Panel();
this.btnRoles = new System.Windows.Forms.Button();
this.btnOK = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.tvFolder = new System.Windows.Forms.TreeView();
this.panel2 = new System.Windows.Forms.Panel();
this.cmbRoles = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.roleInfoListBindingSource)).BeginInit();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.SuspendLayout();
//
// roleInfoListBindingSource
//
this.roleInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.RoleInfo);
//
// panel1
//
this.panel1.AutoScroll = true;
this.panel1.Controls.Add(this.btnRoles);
this.panel1.Controls.Add(this.btnOK);
this.panel1.Controls.Add(this.btnCancel);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 478);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(557, 29);
this.panel1.TabIndex = 2;
//
// btnRoles
//
this.btnRoles.Dock = System.Windows.Forms.DockStyle.Left;
this.btnRoles.Location = new System.Drawing.Point(0, 0);
this.btnRoles.Name = "btnRoles";
this.btnRoles.Size = new System.Drawing.Size(75, 29);
this.btnRoles.TabIndex = 2;
this.btnRoles.Text = "Roles";
this.btnRoles.UseVisualStyleBackColor = true;
this.btnRoles.Click += new System.EventHandler(this.btnRoles_Click);
//
// btnOK
//
this.btnOK.Dock = System.Windows.Forms.DockStyle.Right;
this.btnOK.Location = new System.Drawing.Point(407, 0);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(75, 29);
this.btnOK.TabIndex = 1;
this.btnOK.Text = "OK";
this.btnOK.UseVisualStyleBackColor = true;
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Dock = System.Windows.Forms.DockStyle.Right;
this.btnCancel.Location = new System.Drawing.Point(482, 0);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(75, 29);
this.btnCancel.TabIndex = 0;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// tvFolder
//
this.tvFolder.CheckBoxes = true;
this.tvFolder.Dock = System.Windows.Forms.DockStyle.Fill;
this.tvFolder.Location = new System.Drawing.Point(0, 25);
this.tvFolder.Name = "tvFolder";
this.tvFolder.Size = new System.Drawing.Size(557, 453);
this.tvFolder.TabIndex = 3;
this.tvFolder.BeforeCheck += new System.Windows.Forms.TreeViewCancelEventHandler(this.tvFolder_BeforeCheck);
//
// panel2
//
this.panel2.Controls.Add(this.cmbRoles);
this.panel2.Controls.Add(this.label1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(557, 25);
this.panel2.TabIndex = 6;
//
// cmbRoles
//
this.cmbRoles.DataSource = this.roleInfoListBindingSource;
this.cmbRoles.DisplayMember = "Name";
this.cmbRoles.Dock = System.Windows.Forms.DockStyle.Fill;
this.cmbRoles.FormattingEnabled = true;
this.cmbRoles.Location = new System.Drawing.Point(41, 0);
this.cmbRoles.Name = "cmbRoles";
this.cmbRoles.Size = new System.Drawing.Size(516, 24);
this.cmbRoles.TabIndex = 6;
this.cmbRoles.ValueMember = "Rid";
this.cmbRoles.SelectedValueChanged += new System.EventHandler(this.cmbRoles_SelectedValueChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Dock = System.Windows.Forms.DockStyle.Left;
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(41, 17);
this.label1.TabIndex = 0;
this.label1.Text = "Role:";
//
// frmAssignmentSelect
//
this.AcceptButton = this.btnOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnCancel;
this.ClientSize = new System.Drawing.Size(557, 507);
this.Controls.Add(this.tvFolder);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Name = "frmAssignmentSelect";
this.Text = "Assignment Selection";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.BeforeFormClosing);
((System.ComponentModel.ISupportInitialize)(this.roleInfoListBindingSource)).EndInit();
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.BindingSource roleInfoListBindingSource;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button btnRoles;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.TreeView tvFolder;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.ComboBox cmbRoles;
private System.Windows.Forms.Label label1;
}
}

View File

@@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
namespace WinApp
{
public partial class frmAssignmentSelect : Form
{
Group _grp;
FolderTreeNode _topnode;
public frmAssignmentSelect(Group grp)
{
InitializeComponent();
_grp = grp;
this.Text = grp.GroupName + " Assignments";
//_grp.BeginEdit();// Push
_topnode = FolderTreeNode.BuildTreeList();
tvFolder.Nodes.Add(_topnode);
tvFolder.Nodes[0].Expand();
roleInfoListBindingSource.DataSource = RoleInfoList.Get();
//Initialize cmbRoles
if (grp.GroupAssignments.Count > 0)
{
int rid = grp.GroupAssignments[0].RID;
cmbRoles.SelectedValue = rid;
SetupFolders(rid);
}
}
private void BeforeFormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = (SaveAsNeeded() == DialogResult.Cancel);
}
private DialogResult SaveAsNeeded()
{
return DialogResult.Yes;
}
private void btnOK_Click(object sender, EventArgs e)
{
// This should save the changes to _grp.GroupAssignments
_grp.ApplyEdit(); //Apply
}
private void btnCancel_Click(object sender, EventArgs e)
{
// This should throw away any changes to _grp.GroupAssignments
_grp.CancelEdit();// Pop
}
private void btnRoles_Click(object sender, EventArgs e)
{
// TODO: Maybe should not be able to do this if unsaved data
frmRoles fr = new frmRoles();
fr.ShowDialog();
roleInfoListBindingSource.DataSource = RoleInfoList.Get();
}
private void tvFolder_BeforeCheck(object sender, TreeViewCancelEventArgs e)
{
if(!bSetup)
{
FolderTreeNode ftn = (FolderTreeNode)e.Node;
if (!ftn.Checked)
{
MessageBox.Show("Conversion Error");
//_grp.GroupAssignments.Add(int.Parse(cmbRoles.SelectedValue.ToString()), ftn.FolderInfo.FolderID);
}
else
{
MessageBox.Show("Conversion Error");
//TODO: KBR _grp.GroupAssignments.Remove(ftn.FolderInfo.FolderID, int.Parse(cmbRoles.SelectedValue.ToString()));
}
}
}
private void cmbRoles_SelectedValueChanged(object sender, EventArgs e)
{
if (cmbRoles.SelectedIndex >= 0)
{
int rid = int.Parse(cmbRoles.SelectedValue.ToString());
SetupFolders(rid);
}
}
private bool bSetup = false;
private void ResetTree(TreeNodeCollection tc)
{
foreach(TreeNode tn in tc)
{
tn.Checked=false;
if(tn.Nodes != null)ResetTree(tn.Nodes);
}
}
private void SetupFolders(int rid)
{
bSetup=true;
ResetTree(tvFolder.Nodes);
foreach(GroupAssignment ga in _grp.GroupAssignments)
{
if (ga.RID == rid)
_topnode.FindTreeNode(ga.FolderID).Checked = true;
}
bSetup=false;
}
}
}

View File

@@ -0,0 +1,123 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="roleInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,117 @@
namespace WinApp
{
partial class frmGroupSelect
{
/// <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();
this.lbGroups = new System.Windows.Forms.ListBox();
this.groupInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.btnCancel = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.btnOK = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.groupInfoListBindingSource)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// lbGroups
//
this.lbGroups.DataSource = this.groupInfoListBindingSource;
this.lbGroups.DisplayMember = "GroupName";
this.lbGroups.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbGroups.FormattingEnabled = true;
this.lbGroups.ItemHeight = 16;
this.lbGroups.Location = new System.Drawing.Point(0, 0);
this.lbGroups.Name = "lbGroups";
this.lbGroups.Size = new System.Drawing.Size(298, 292);
this.lbGroups.TabIndex = 3;
this.lbGroups.ValueMember = "Gid";
//
// groupInfoListBindingSource
//
this.groupInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.GroupInfo);
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Dock = System.Windows.Forms.DockStyle.Left;
this.btnCancel.Location = new System.Drawing.Point(79, 0);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(76, 35);
this.btnCancel.TabIndex = 1;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// panel1
//
this.panel1.Controls.Add(this.btnCancel);
this.panel1.Controls.Add(this.btnOK);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 293);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(298, 35);
this.panel1.TabIndex = 2;
//
// btnOK
//
this.btnOK.Dock = System.Windows.Forms.DockStyle.Left;
this.btnOK.Location = new System.Drawing.Point(0, 0);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(79, 35);
this.btnOK.TabIndex = 0;
this.btnOK.Text = "OK";
this.btnOK.UseVisualStyleBackColor = true;
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// frmGroupSelect
//
this.AcceptButton = this.btnOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnCancel;
this.ClientSize = new System.Drawing.Size(298, 328);
this.Controls.Add(this.lbGroups);
this.Controls.Add(this.panel1);
this.Name = "frmGroupSelect";
this.Text = "frmGroupSelect";
this.Load += new System.EventHandler(this.frmGroupSelect_Load);
((System.ComponentModel.ISupportInitialize)(this.groupInfoListBindingSource)).EndInit();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ListBox lbGroups;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button btnOK;
private System.Windows.Forms.BindingSource groupInfoListBindingSource;
}
}

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
using Csla;
namespace WinApp
{
public partial class frmGroupSelect : Form
{
public frmGroupSelect()
{
InitializeComponent();
}
private void frmGroupSelect_Load(object sender, EventArgs e)
{
groupInfoListBindingSource.DataSource = GroupInfoList.Get();
}
public int GID
{
get { return (int)lbGroups.SelectedValue; }
}
private void btnOK_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
}
private void btnCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
}
}

View File

@@ -0,0 +1,123 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="groupInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,523 @@
namespace WinApp
{
partial class frmGroups
{
/// <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();
System.Windows.Forms.Label configLabel;
System.Windows.Forms.Label groupNameLabel;
System.Windows.Forms.Label groupTypeLabel;
this.btnNew = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.btnSave = new System.Windows.Forms.Button();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.lbGroups = new System.Windows.Forms.ListBox();
this.groupInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.groupMembershipsDataGridView = new System.Windows.Forms.DataGridView();
this.Uid = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.User_FullName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.groupMembershipsBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.groupBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.panel1 = new System.Windows.Forms.Panel();
this.btnRemoveGA = new System.Windows.Forms.Button();
this.btnNewGA = new System.Windows.Forms.Button();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.groupAssignmentsDataGridView = new System.Windows.Forms.DataGridView();
this.Aid = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.folderNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.roleNameDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.startDateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.endDateDataGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.groupAssignmentsBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.panel2 = new System.Windows.Forms.Panel();
this.btnRemoveAssign = new System.Windows.Forms.Button();
this.btnNewAssign = new System.Windows.Forms.Button();
this.configTextBox = new System.Windows.Forms.TextBox();
this.gidTextBox = new System.Windows.Forms.TextBox();
this.groupNameTextBox = new System.Windows.Forms.TextBox();
this.groupTypeTextBox = new System.Windows.Forms.TextBox();
this.userInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
configLabel = new System.Windows.Forms.Label();
groupNameLabel = new System.Windows.Forms.Label();
groupTypeLabel = new System.Windows.Forms.Label();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.groupInfoListBindingSource)).BeginInit();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.groupMembershipsDataGridView)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupMembershipsBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupBindingSource)).BeginInit();
this.panel1.SuspendLayout();
this.tabPage2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.groupAssignmentsDataGridView)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupAssignmentsBindingSource)).BeginInit();
this.panel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.userInfoListBindingSource)).BeginInit();
this.SuspendLayout();
//
// configLabel
//
configLabel.AutoSize = true;
configLabel.Location = new System.Drawing.Point(14, 92);
configLabel.Name = "configLabel";
configLabel.Size = new System.Drawing.Size(52, 17);
configLabel.TabIndex = 5;
configLabel.Text = "Config:";
//
// groupNameLabel
//
groupNameLabel.AutoSize = true;
groupNameLabel.Location = new System.Drawing.Point(14, 36);
groupNameLabel.Name = "groupNameLabel";
groupNameLabel.Size = new System.Drawing.Size(93, 17);
groupNameLabel.TabIndex = 11;
groupNameLabel.Text = "Group Name:";
//
// groupTypeLabel
//
groupTypeLabel.AutoSize = true;
groupTypeLabel.Location = new System.Drawing.Point(14, 64);
groupTypeLabel.Name = "groupTypeLabel";
groupTypeLabel.Size = new System.Drawing.Size(88, 17);
groupTypeLabel.TabIndex = 13;
groupTypeLabel.Text = "Group Type:";
//
// btnNew
//
this.btnNew.Location = new System.Drawing.Point(505, 61);
this.btnNew.Name = "btnNew";
this.btnNew.Size = new System.Drawing.Size(75, 23);
this.btnNew.TabIndex = 5;
this.btnNew.Text = "New";
this.btnNew.UseVisualStyleBackColor = true;
this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(505, 32);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(75, 23);
this.btnCancel.TabIndex = 4;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnSave
//
this.btnSave.Location = new System.Drawing.Point(505, 3);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(75, 23);
this.btnSave.TabIndex = 3;
this.btnSave.Text = "Save";
this.btnSave.UseVisualStyleBackColor = true;
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.lbGroups);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.AutoScroll = true;
this.splitContainer1.Panel2.Controls.Add(this.tabControl1);
this.splitContainer1.Panel2.Controls.Add(configLabel);
this.splitContainer1.Panel2.Controls.Add(this.configTextBox);
this.splitContainer1.Panel2.Controls.Add(this.gidTextBox);
this.splitContainer1.Panel2.Controls.Add(groupNameLabel);
this.splitContainer1.Panel2.Controls.Add(this.groupNameTextBox);
this.splitContainer1.Panel2.Controls.Add(groupTypeLabel);
this.splitContainer1.Panel2.Controls.Add(this.groupTypeTextBox);
this.splitContainer1.Panel2.Controls.Add(this.btnNew);
this.splitContainer1.Panel2.Controls.Add(this.btnCancel);
this.splitContainer1.Panel2.Controls.Add(this.btnSave);
this.splitContainer1.Size = new System.Drawing.Size(892, 488);
this.splitContainer1.SplitterDistance = 296;
this.splitContainer1.TabIndex = 1;
//
// lbGroups
//
this.lbGroups.DataSource = this.groupInfoListBindingSource;
this.lbGroups.DisplayMember = "GroupName";
this.lbGroups.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbGroups.FormattingEnabled = true;
this.lbGroups.ItemHeight = 16;
this.lbGroups.Location = new System.Drawing.Point(0, 0);
this.lbGroups.Name = "lbGroups";
this.lbGroups.Size = new System.Drawing.Size(296, 484);
this.lbGroups.TabIndex = 0;
this.lbGroups.ValueMember = "Gid";
this.lbGroups.SelectedValueChanged += new System.EventHandler(this.lbGroup_SelectedValueChanged);
//
// groupInfoListBindingSource
//
this.groupInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.GroupInfo);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Location = new System.Drawing.Point(23, 213);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(557, 260);
this.tabControl1.TabIndex = 15;
//
// tabPage1
//
this.tabPage1.AutoScroll = true;
this.tabPage1.Controls.Add(this.groupMembershipsDataGridView);
this.tabPage1.Controls.Add(this.panel1);
this.tabPage1.Location = new System.Drawing.Point(4, 25);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(549, 231);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Members";
this.tabPage1.UseVisualStyleBackColor = true;
//
// groupMembershipsDataGridView
//
this.groupMembershipsDataGridView.AutoGenerateColumns = false;
this.groupMembershipsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Uid,
this.User_FullName,
this.dataGridViewTextBoxColumn4,
this.dataGridViewTextBoxColumn8});
this.groupMembershipsDataGridView.DataSource = this.groupMembershipsBindingSource;
this.groupMembershipsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupMembershipsDataGridView.Location = new System.Drawing.Point(3, 35);
this.groupMembershipsDataGridView.Name = "groupMembershipsDataGridView";
this.groupMembershipsDataGridView.RowTemplate.Height = 24;
this.groupMembershipsDataGridView.Size = new System.Drawing.Size(543, 193);
this.groupMembershipsDataGridView.TabIndex = 0;
//
// Uid
//
this.Uid.DataPropertyName = "Uid";
this.Uid.HeaderText = "Uid";
this.Uid.Name = "Uid";
this.Uid.ReadOnly = true;
this.Uid.Visible = false;
//
// User_FullName
//
this.User_FullName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.User_FullName.DataPropertyName = "User_FullName";
this.User_FullName.HeaderText = "User";
this.User_FullName.Name = "User_FullName";
this.User_FullName.ReadOnly = true;
//
// dataGridViewTextBoxColumn4
//
this.dataGridViewTextBoxColumn4.DataPropertyName = "StartDate";
this.dataGridViewTextBoxColumn4.HeaderText = "StartDate";
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
//
// dataGridViewTextBoxColumn8
//
this.dataGridViewTextBoxColumn8.DataPropertyName = "EndDate";
this.dataGridViewTextBoxColumn8.HeaderText = "EndDate";
this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8";
//
// groupMembershipsBindingSource
//
this.groupMembershipsBindingSource.DataMember = "GroupMemberships";
this.groupMembershipsBindingSource.DataSource = this.groupBindingSource;
this.groupMembershipsBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// groupBindingSource
//
this.groupBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.Group);
this.groupBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// panel1
//
this.panel1.Controls.Add(this.btnRemoveGA);
this.panel1.Controls.Add(this.btnNewGA);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(3, 3);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(543, 32);
this.panel1.TabIndex = 1;
//
// btnRemoveGA
//
this.btnRemoveGA.AutoSize = true;
this.btnRemoveGA.Dock = System.Windows.Forms.DockStyle.Left;
this.btnRemoveGA.Location = new System.Drawing.Point(72, 0);
this.btnRemoveGA.Name = "btnRemoveGA";
this.btnRemoveGA.Size = new System.Drawing.Size(75, 32);
this.btnRemoveGA.TabIndex = 37;
this.btnRemoveGA.TabStop = false;
this.btnRemoveGA.Text = "Remove";
this.btnRemoveGA.UseVisualStyleBackColor = true;
this.btnRemoveGA.Click += new System.EventHandler(this.btnRemoveGA_Click);
//
// btnNewGA
//
this.btnNewGA.AutoSize = true;
this.btnNewGA.Dock = System.Windows.Forms.DockStyle.Left;
this.btnNewGA.Location = new System.Drawing.Point(0, 0);
this.btnNewGA.Name = "btnNewGA";
this.btnNewGA.Size = new System.Drawing.Size(72, 32);
this.btnNewGA.TabIndex = 36;
this.btnNewGA.TabStop = false;
this.btnNewGA.Text = "New";
this.btnNewGA.UseVisualStyleBackColor = true;
this.btnNewGA.Click += new System.EventHandler(this.btnNewGA_Click);
//
// tabPage2
//
this.tabPage2.AutoScroll = true;
this.tabPage2.Controls.Add(this.groupAssignmentsDataGridView);
this.tabPage2.Controls.Add(this.panel2);
this.tabPage2.Location = new System.Drawing.Point(4, 25);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(549, 231);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Assignments";
this.tabPage2.UseVisualStyleBackColor = true;
//
// groupAssignmentsDataGridView
//
this.groupAssignmentsDataGridView.AutoGenerateColumns = false;
this.groupAssignmentsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Aid,
this.folderNameDataGridViewTextBoxColumn,
this.roleNameDataGridViewTextBoxColumn,
this.startDateDataGridViewTextBoxColumn,
this.endDateDataGridViewTextBoxColumn});
this.groupAssignmentsDataGridView.DataSource = this.groupAssignmentsBindingSource;
this.groupAssignmentsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupAssignmentsDataGridView.Location = new System.Drawing.Point(3, 35);
this.groupAssignmentsDataGridView.Name = "groupAssignmentsDataGridView";
this.groupAssignmentsDataGridView.RowTemplate.Height = 24;
this.groupAssignmentsDataGridView.Size = new System.Drawing.Size(543, 193);
this.groupAssignmentsDataGridView.TabIndex = 0;
//
// Aid
//
this.Aid.DataPropertyName = "Aid";
this.Aid.HeaderText = "Aid";
this.Aid.Name = "Aid";
this.Aid.ReadOnly = true;
this.Aid.Visible = false;
//
// folderNameDataGridViewTextBoxColumn
//
this.folderNameDataGridViewTextBoxColumn.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.folderNameDataGridViewTextBoxColumn.DataPropertyName = "Folder_Name";
this.folderNameDataGridViewTextBoxColumn.HeaderText = "Folder";
this.folderNameDataGridViewTextBoxColumn.Name = "folderNameDataGridViewTextBoxColumn";
this.folderNameDataGridViewTextBoxColumn.ReadOnly = true;
//
// roleNameDataGridViewTextBoxColumn
//
this.roleNameDataGridViewTextBoxColumn.DataPropertyName = "Role_Name";
this.roleNameDataGridViewTextBoxColumn.HeaderText = "Role";
this.roleNameDataGridViewTextBoxColumn.Name = "roleNameDataGridViewTextBoxColumn";
this.roleNameDataGridViewTextBoxColumn.ReadOnly = true;
//
// startDateDataGridViewTextBoxColumn
//
this.startDateDataGridViewTextBoxColumn.DataPropertyName = "StartDate";
this.startDateDataGridViewTextBoxColumn.HeaderText = "Start";
this.startDateDataGridViewTextBoxColumn.Name = "startDateDataGridViewTextBoxColumn";
//
// endDateDataGridViewTextBoxColumn
//
this.endDateDataGridViewTextBoxColumn.DataPropertyName = "EndDate";
this.endDateDataGridViewTextBoxColumn.HeaderText = "End";
this.endDateDataGridViewTextBoxColumn.Name = "endDateDataGridViewTextBoxColumn";
//
// groupAssignmentsBindingSource
//
this.groupAssignmentsBindingSource.DataMember = "GroupAssignments";
this.groupAssignmentsBindingSource.DataSource = this.groupBindingSource;
//
// panel2
//
this.panel2.Controls.Add(this.btnRemoveAssign);
this.panel2.Controls.Add(this.btnNewAssign);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(3, 3);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(543, 32);
this.panel2.TabIndex = 2;
//
// btnRemoveAssign
//
this.btnRemoveAssign.AutoSize = true;
this.btnRemoveAssign.Dock = System.Windows.Forms.DockStyle.Left;
this.btnRemoveAssign.Location = new System.Drawing.Point(72, 0);
this.btnRemoveAssign.Name = "btnRemoveAssign";
this.btnRemoveAssign.Size = new System.Drawing.Size(83, 32);
this.btnRemoveAssign.TabIndex = 37;
this.btnRemoveAssign.TabStop = false;
this.btnRemoveAssign.Text = "Remove";
this.btnRemoveAssign.UseVisualStyleBackColor = true;
this.btnRemoveAssign.Click += new System.EventHandler(this.btnRemoveAssign_Click);
//
// btnNewAssign
//
this.btnNewAssign.AutoSize = true;
this.btnNewAssign.Dock = System.Windows.Forms.DockStyle.Left;
this.btnNewAssign.Location = new System.Drawing.Point(0, 0);
this.btnNewAssign.Name = "btnNewAssign";
this.btnNewAssign.Size = new System.Drawing.Size(72, 32);
this.btnNewAssign.TabIndex = 36;
this.btnNewAssign.TabStop = false;
this.btnNewAssign.Text = "New";
this.btnNewAssign.UseVisualStyleBackColor = true;
this.btnNewAssign.Click += new System.EventHandler(this.btnNewAssign_Click);
//
// configTextBox
//
this.configTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.groupBindingSource, "Config", true));
this.configTextBox.Location = new System.Drawing.Point(113, 89);
this.configTextBox.Multiline = true;
this.configTextBox.Name = "configTextBox";
this.configTextBox.Size = new System.Drawing.Size(381, 108);
this.configTextBox.TabIndex = 6;
//
// gidTextBox
//
this.gidTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.groupBindingSource, "Gid", true));
this.gidTextBox.Enabled = false;
this.gidTextBox.Location = new System.Drawing.Point(2, 0);
this.gidTextBox.Name = "gidTextBox";
this.gidTextBox.Size = new System.Drawing.Size(34, 22);
this.gidTextBox.TabIndex = 10;
//
// groupNameTextBox
//
this.groupNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.groupBindingSource, "GroupName", true));
this.groupNameTextBox.Location = new System.Drawing.Point(113, 33);
this.groupNameTextBox.Name = "groupNameTextBox";
this.groupNameTextBox.Size = new System.Drawing.Size(381, 22);
this.groupNameTextBox.TabIndex = 12;
//
// groupTypeTextBox
//
this.groupTypeTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.groupBindingSource, "GroupType", true));
this.groupTypeTextBox.Location = new System.Drawing.Point(113, 61);
this.groupTypeTextBox.Name = "groupTypeTextBox";
this.groupTypeTextBox.Size = new System.Drawing.Size(381, 22);
this.groupTypeTextBox.TabIndex = 14;
//
// userInfoListBindingSource
//
this.userInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.UserInfo);
//
// frmGroups
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(892, 488);
this.Controls.Add(this.splitContainer1);
this.Name = "frmGroups";
this.Text = "frmGroups";
this.Load += new System.EventHandler(this.frmGroup_Load);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.BeforeFormClosing);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.groupInfoListBindingSource)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.groupMembershipsDataGridView)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupMembershipsBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupBindingSource)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.tabPage2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.groupAssignmentsDataGridView)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupAssignmentsBindingSource)).EndInit();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.userInfoListBindingSource)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Button btnNew;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ListBox lbGroups;
private System.Windows.Forms.TextBox configTextBox;
private System.Windows.Forms.BindingSource groupBindingSource;
private System.Windows.Forms.TextBox gidTextBox;
private System.Windows.Forms.TextBox groupNameTextBox;
private System.Windows.Forms.TextBox groupTypeTextBox;
private System.Windows.Forms.BindingSource groupInfoListBindingSource;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.BindingSource groupMembershipsBindingSource;
private System.Windows.Forms.DataGridView groupMembershipsDataGridView;
private System.Windows.Forms.BindingSource userInfoListBindingSource;
private System.Windows.Forms.DataGridView groupAssignmentsDataGridView;
// private System.Windows.Forms.BindingSource groupPermissionsBindingSource;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button btnRemoveGA;
private System.Windows.Forms.Button btnNewGA;
private System.Windows.Forms.DataGridViewTextBoxColumn Uid;
private System.Windows.Forms.DataGridViewTextBoxColumn User_FullName;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
private System.Windows.Forms.BindingSource groupAssignmentsBindingSource;
// private System.Windows.Forms.DataGridViewTextBoxColumn roleGidDataGridViewTextBoxColumn;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Button btnRemoveAssign;
private System.Windows.Forms.Button btnNewAssign;
private System.Windows.Forms.DataGridViewTextBoxColumn Aid;
private System.Windows.Forms.DataGridViewTextBoxColumn ridDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn folderidDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn folderNameDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn roleNameDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn startDateDataGridViewTextBoxColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn endDateDataGridViewTextBoxColumn;
}
}

View File

@@ -0,0 +1,200 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
namespace WinApp
{
public partial class frmGroups : Form
{
public frmGroups(int gid)
{
InitializeComponent();
_gid = gid;
}
private int _gid;
private Group _group;
private void frmGroup_Load(object sender, EventArgs e)
{
groupInfoListBindingSource.DataSource = GroupInfoList.Get();
userInfoListBindingSource.DataSource = UserInfoList.Get();
lbGroups.SelectedValue = _gid;
SetupDetail();
SetupButtons();
}
private void BeforeFormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = (SaveAsNeeded() == DialogResult.Cancel);
}
private DialogResult SaveAsNeeded()
{
if (_group != null && _group.IsSavable)
{
DialogResult dr = MessageBox.Show("Do you want to save changes", "Save Changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes) Save();
if (dr == DialogResult.No) Cancel();
// TODO: Need a Cancel
return dr;
}
return DialogResult.Yes;
}
private void SetupDetail()
{
if (lbGroups.SelectedValue != null)
{
int gid = (int)lbGroups.SelectedValue;
if (_group == null || _group.GID != gid)
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_group = Group.Get(gid);
groupBindingSource.DataSource = _group;
groupMembershipsBindingSource.DataSource = _group.GroupMemberships;
groupAssignmentsBindingSource.DataSource = _group.GroupAssignments;
}
}
}
}
private void lbGroup_SelectedValueChanged(object sender, EventArgs e)
{
SetupDetail();
}
private void SetupButtons()
{
if (_group != null)
{
btnSave.Enabled = _group.IsSavable;
btnCancel.Enabled = _group.IsDirty;
btnNew.Enabled = _group.IsValid;
}
else
{
btnSave.Enabled = false;
btnCancel.Enabled = false;
btnNew.Enabled = true;
}
}
private void CurrentItemChanged(object sender, EventArgs e)
{
SetupButtons();
}
private void btnCancel_Click(object sender, EventArgs e)
{
Cancel();
}
private void btnSave_Click(object sender, EventArgs e)
{
Save();
}
private void btnNew_Click(object sender, EventArgs e)
{
New();
}
private void Cancel()
{
_group.CancelEdit();
_group.BeginEdit();
}
private void Save()
{
groupBindingSource.RaiseListChangedEvents = false;
groupMembershipsBindingSource.RaiseListChangedEvents = false;
groupBindingSource.EndEdit();
groupMembershipsBindingSource.EndEdit();
try
{
Group temp = _group.Clone();
_group = temp.Save();
_group.BeginEdit();
groupBindingSource.DataSource = null;
groupMembershipsBindingSource.DataSource = null;
int gid = _group.GID;
groupInfoListBindingSource.DataSource = GroupInfoList.Get();
lbGroups.SelectedValue = gid;
groupBindingSource.DataSource = _group;
groupMembershipsBindingSource.DataSource = _group.GroupMemberships;
}
catch (Csla.DataPortalException ex)
{
MessageBox.Show(ex.BusinessException.ToString(),
"Error saving", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error saving",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
groupBindingSource.RaiseListChangedEvents = true;
groupMembershipsBindingSource.RaiseListChangedEvents = true;
groupBindingSource.ResetBindings(false);
groupMembershipsBindingSource.ResetBindings(false);
}
SetupButtons();
}
public void New()
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_group = Group.New();
groupBindingSource.DataSource = _group;
groupMembershipsBindingSource.DataSource = _group.GroupMemberships;
}
}
private void btnNewGA_Click(object sender, EventArgs e)
{
using (frmUserSelect f = new frmUserSelect())
{
f.ShowDialog();
if (f.DialogResult == DialogResult.OK)
{
_group.GroupMemberships.Add(User.Get(f.UID)); // KBR using?
SetupButtons();
}
}
}
private void btnRemoveGA_Click(object sender, EventArgs e)
{
if (this.groupMembershipsDataGridView.SelectedRows.Count > 0)
{
int uid = int.Parse(
this.groupMembershipsDataGridView.SelectedRows[0].Cells[0].Value.ToString());
MessageBox.Show("Conversion error");
//TODO KBR: _group.GroupMemberships.Remove(uid);
}
}
private void btnRemoveAssign_Click(object sender, EventArgs e)
{
if (this.groupAssignmentsDataGridView.SelectedRows.Count > 0)
{
int rid = int.Parse(
this.groupAssignmentsDataGridView.SelectedRows[0].Cells[1].Value.ToString());
int folderid = int.Parse(
this.groupAssignmentsDataGridView.SelectedRows[0].Cells[2].Value.ToString());
MessageBox.Show("Conversion error");
//TODO KBR: _group.GroupAssignments.Remove(folderid, rid);
}
}
private void btnNewAssign_Click(object sender, EventArgs e)
{
using (frmAssignmentSelect f = new frmAssignmentSelect(_group))
{
f.ShowDialog();
if (f.DialogResult == DialogResult.OK)
{
//TODO: Do I need to refresh Assignments?
}
}
}
}
}

View File

@@ -0,0 +1,153 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="configLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="groupNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="groupTypeLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="groupInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="Uid.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="User_FullName.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupMembershipsBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>424, 17</value>
</metadata>
<metadata name="groupBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>244, 17</value>
</metadata>
<metadata name="Aid.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="groupAssignmentsBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 57</value>
</metadata>
<metadata name="userInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>687, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,317 @@
namespace WinApp
{
partial class frmMembership
{
/// <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();
System.Windows.Forms.Label dtsLabel;
System.Windows.Forms.Label endDateLabel;
System.Windows.Forms.Label gidLabel;
System.Windows.Forms.Label startDateLabel;
System.Windows.Forms.Label ugidLabel;
System.Windows.Forms.Label uidLabel;
System.Windows.Forms.Label usridLabel;
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.lbMembers = new System.Windows.Forms.ListBox();
this.membershipInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.membershipBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.dtsTextBox = new System.Windows.Forms.TextBox();
this.endDateTextBox = new System.Windows.Forms.TextBox();
this.gidTextBox = new System.Windows.Forms.TextBox();
this.startDateTextBox = new System.Windows.Forms.TextBox();
this.ugidTextBox = new System.Windows.Forms.TextBox();
this.uidTextBox = new System.Windows.Forms.TextBox();
this.usridTextBox = new System.Windows.Forms.TextBox();
this.btnNew = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.btnSave = new System.Windows.Forms.Button();
this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components);
dtsLabel = new System.Windows.Forms.Label();
endDateLabel = new System.Windows.Forms.Label();
gidLabel = new System.Windows.Forms.Label();
startDateLabel = new System.Windows.Forms.Label();
ugidLabel = new System.Windows.Forms.Label();
uidLabel = new System.Windows.Forms.Label();
usridLabel = new System.Windows.Forms.Label();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.membershipInfoListBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.membershipBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit();
this.SuspendLayout();
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.lbMembers);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.btnNew);
this.splitContainer1.Panel2.Controls.Add(this.btnCancel);
this.splitContainer1.Panel2.Controls.Add(this.btnSave);
this.splitContainer1.Panel2.Controls.Add(dtsLabel);
this.splitContainer1.Panel2.Controls.Add(this.dtsTextBox);
this.splitContainer1.Panel2.Controls.Add(endDateLabel);
this.splitContainer1.Panel2.Controls.Add(this.endDateTextBox);
this.splitContainer1.Panel2.Controls.Add(gidLabel);
this.splitContainer1.Panel2.Controls.Add(this.gidTextBox);
this.splitContainer1.Panel2.Controls.Add(startDateLabel);
this.splitContainer1.Panel2.Controls.Add(this.startDateTextBox);
this.splitContainer1.Panel2.Controls.Add(ugidLabel);
this.splitContainer1.Panel2.Controls.Add(this.ugidTextBox);
this.splitContainer1.Panel2.Controls.Add(uidLabel);
this.splitContainer1.Panel2.Controls.Add(this.uidTextBox);
this.splitContainer1.Panel2.Controls.Add(usridLabel);
this.splitContainer1.Panel2.Controls.Add(this.usridTextBox);
this.splitContainer1.Size = new System.Drawing.Size(685, 409);
this.splitContainer1.SplitterDistance = 228;
this.splitContainer1.TabIndex = 0;
//
// lbMembers
//
this.lbMembers.DataSource = this.membershipInfoListBindingSource;
this.lbMembers.DisplayMember = "Ugid";
this.lbMembers.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbMembers.FormattingEnabled = true;
this.lbMembers.ItemHeight = 16;
this.lbMembers.Location = new System.Drawing.Point(0, 0);
this.lbMembers.Name = "lbMembers";
this.lbMembers.Size = new System.Drawing.Size(228, 404);
this.lbMembers.TabIndex = 0;
this.lbMembers.ValueMember = "Ugid";
this.lbMembers.SelectedValueChanged += new System.EventHandler(this.lbMembers_SelectedValueChanged);
//
// membershipInfoListBindingSource
//
this.membershipInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.MembershipInfo);
//
// membershipBindingSource
//
this.membershipBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.Membership);
this.membershipBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// dtsLabel
//
dtsLabel.AutoSize = true;
dtsLabel.Location = new System.Drawing.Point(20, 15);
dtsLabel.Name = "dtsLabel";
dtsLabel.Size = new System.Drawing.Size(33, 17);
dtsLabel.TabIndex = 0;
dtsLabel.Text = "Dts:";
//
// dtsTextBox
//
this.dtsTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.membershipBindingSource, "Dts", true));
this.dtsTextBox.Location = new System.Drawing.Point(102, 12);
this.dtsTextBox.Name = "dtsTextBox";
this.dtsTextBox.Size = new System.Drawing.Size(100, 22);
this.dtsTextBox.TabIndex = 1;
//
// endDateLabel
//
endDateLabel.AutoSize = true;
endDateLabel.Location = new System.Drawing.Point(20, 43);
endDateLabel.Name = "endDateLabel";
endDateLabel.Size = new System.Drawing.Size(71, 17);
endDateLabel.TabIndex = 2;
endDateLabel.Text = "End Date:";
//
// endDateTextBox
//
this.endDateTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.membershipBindingSource, "EndDate", true));
this.endDateTextBox.Location = new System.Drawing.Point(102, 40);
this.endDateTextBox.Name = "endDateTextBox";
this.endDateTextBox.Size = new System.Drawing.Size(100, 22);
this.endDateTextBox.TabIndex = 3;
//
// gidLabel
//
gidLabel.AutoSize = true;
gidLabel.Location = new System.Drawing.Point(20, 71);
gidLabel.Name = "gidLabel";
gidLabel.Size = new System.Drawing.Size(34, 17);
gidLabel.TabIndex = 4;
gidLabel.Text = "Gid:";
//
// gidTextBox
//
this.gidTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.membershipBindingSource, "Gid", true));
this.gidTextBox.Location = new System.Drawing.Point(102, 68);
this.gidTextBox.Name = "gidTextBox";
this.gidTextBox.Size = new System.Drawing.Size(100, 22);
this.gidTextBox.TabIndex = 5;
//
// startDateLabel
//
startDateLabel.AutoSize = true;
startDateLabel.Location = new System.Drawing.Point(20, 99);
startDateLabel.Name = "startDateLabel";
startDateLabel.Size = new System.Drawing.Size(76, 17);
startDateLabel.TabIndex = 6;
startDateLabel.Text = "Start Date:";
//
// startDateTextBox
//
this.startDateTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.membershipBindingSource, "StartDate", true));
this.startDateTextBox.Location = new System.Drawing.Point(102, 96);
this.startDateTextBox.Name = "startDateTextBox";
this.startDateTextBox.Size = new System.Drawing.Size(100, 22);
this.startDateTextBox.TabIndex = 7;
//
// ugidLabel
//
ugidLabel.AutoSize = true;
ugidLabel.Location = new System.Drawing.Point(20, 127);
ugidLabel.Name = "ugidLabel";
ugidLabel.Size = new System.Drawing.Size(41, 17);
ugidLabel.TabIndex = 8;
ugidLabel.Text = "Ugid:";
//
// ugidTextBox
//
this.ugidTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.membershipBindingSource, "Ugid", true));
this.ugidTextBox.Location = new System.Drawing.Point(102, 124);
this.ugidTextBox.Name = "ugidTextBox";
this.ugidTextBox.Size = new System.Drawing.Size(100, 22);
this.ugidTextBox.TabIndex = 9;
//
// uidLabel
//
uidLabel.AutoSize = true;
uidLabel.Location = new System.Drawing.Point(20, 155);
uidLabel.Name = "uidLabel";
uidLabel.Size = new System.Drawing.Size(33, 17);
uidLabel.TabIndex = 10;
uidLabel.Text = "Uid:";
//
// uidTextBox
//
this.uidTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.membershipBindingSource, "Uid", true));
this.uidTextBox.Location = new System.Drawing.Point(102, 152);
this.uidTextBox.Name = "uidTextBox";
this.uidTextBox.Size = new System.Drawing.Size(100, 22);
this.uidTextBox.TabIndex = 11;
//
// usridLabel
//
usridLabel.AutoSize = true;
usridLabel.Location = new System.Drawing.Point(20, 183);
usridLabel.Name = "usridLabel";
usridLabel.Size = new System.Drawing.Size(45, 17);
usridLabel.TabIndex = 12;
usridLabel.Text = "Usrid:";
//
// usridTextBox
//
this.usridTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.membershipBindingSource, "Usrid", true));
this.usridTextBox.Location = new System.Drawing.Point(102, 180);
this.usridTextBox.Name = "usridTextBox";
this.usridTextBox.Size = new System.Drawing.Size(100, 22);
this.usridTextBox.TabIndex = 13;
//
// btnNew
//
this.btnNew.Location = new System.Drawing.Point(366, 67);
this.btnNew.Name = "btnNew";
this.btnNew.Size = new System.Drawing.Size(75, 23);
this.btnNew.TabIndex = 33;
this.btnNew.Text = "New";
this.btnNew.UseVisualStyleBackColor = true;
this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(366, 38);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(75, 23);
this.btnCancel.TabIndex = 32;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnSave
//
this.btnSave.Location = new System.Drawing.Point(366, 9);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(75, 23);
this.btnSave.TabIndex = 31;
this.btnSave.Text = "Save";
this.btnSave.UseVisualStyleBackColor = true;
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// errorProvider1
//
this.errorProvider1.ContainerControl = this;
this.errorProvider1.DataSource = this.membershipBindingSource;
//
// frmMembership
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(685, 409);
this.Controls.Add(this.splitContainer1);
this.Name = "frmMembership";
this.Text = "frmMembership";
this.Load += new System.EventHandler(this.frmMembership_Load);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.membershipInfoListBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.membershipBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ListBox lbMembers;
private System.Windows.Forms.BindingSource membershipInfoListBindingSource;
private System.Windows.Forms.TextBox dtsTextBox;
private System.Windows.Forms.BindingSource membershipBindingSource;
private System.Windows.Forms.TextBox endDateTextBox;
private System.Windows.Forms.TextBox gidTextBox;
private System.Windows.Forms.TextBox startDateTextBox;
private System.Windows.Forms.TextBox ugidTextBox;
private System.Windows.Forms.TextBox uidTextBox;
private System.Windows.Forms.TextBox usridTextBox;
private System.Windows.Forms.Button btnNew;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.ErrorProvider errorProvider1;
}
}

View File

@@ -0,0 +1,137 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
namespace WinApp
{
public partial class frmMembership : Form
{
public frmMembership()
{
InitializeComponent();
}
Membership _mem;
private void frmMembership_Load(object sender, EventArgs e)
{
membershipInfoListBindingSource.DataSource = MembershipInfoList.Get();
SetupDetail();
SetupButtons();
}
private DialogResult SaveAsNeeded()
{
if (_mem != null && _mem.IsSavable)
{
DialogResult dr = MessageBox.Show("Do you want to save changes", "Save Changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes) Save();
if (dr == DialogResult.No) Cancel();
// TODO: Need a Cancel
return dr;
}
return DialogResult.Yes;
}
private void SetupDetail()
{
if (lbMembers.SelectedIndex != -1)
{
int ugid = (int)lbMembers.SelectedValue;
if (_mem == null || _mem.UGID != ugid)
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_mem = Membership.Get(ugid);
membershipBindingSource.DataSource = _mem;
}
}
}
}
private void lbMembers_SelectedValueChanged(object sender, EventArgs e)
{
SetupDetail();
}
private void SetupButtons()
{
if (_mem != null)
{
btnSave.Enabled = _mem.IsSavable;
btnCancel.Enabled = _mem.IsDirty;
btnNew.Enabled = _mem.IsValid;
}
else
{
btnSave.Enabled = false;
btnCancel.Enabled = false;
btnNew.Enabled = true;
}
}
private void CurrentItemChanged(object sender, EventArgs e)
{
SetupButtons();
}
private void btnCancel_Click(object sender, EventArgs e)
{
Cancel();
}
private void btnSave_Click(object sender, EventArgs e)
{
Save();
}
private void btnNew_Click(object sender, EventArgs e)
{
New();
}
private void Cancel()
{
_mem.CancelEdit();
_mem.BeginEdit();
}
private void Save()
{
membershipBindingSource.RaiseListChangedEvents = false;
membershipBindingSource.EndEdit();
try
{
Membership temp = _mem.Clone();
_mem = temp.Save();
_mem.BeginEdit();
membershipBindingSource.DataSource = null;
int ugid = _mem.UID;
if (lbMembers.SelectedIndex == -1)
lbMembers.SelectedValue = ugid;
membershipBindingSource.DataSource = _mem;
}
catch (Csla.DataPortalException ex)
{
MessageBox.Show(ex.BusinessException.ToString(),
"Error saving", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error saving",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
membershipBindingSource.RaiseListChangedEvents = true;
membershipBindingSource.ResetBindings(false);
}
SetupButtons();
}
public void New()
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_mem = Membership.New();
membershipBindingSource.DataSource = _mem;
lbMembers.SelectedIndex = -1;
}
}
}
}

View File

@@ -0,0 +1,156 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="membershipInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="dtsLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="membershipBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<metadata name="endDateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="gidLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="startDateLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="ugidLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="uidLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="usridLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="membershipInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="membershipBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<metadata name="errorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>506, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,555 @@
namespace WinApp
{
partial class frmRoles
{
/// <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();
System.Windows.Forms.Label nameLabel;
System.Windows.Forms.Label titleLabel;
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.lbRoles = new System.Windows.Forms.ListBox();
this.roleInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.roleAssignmentsDataGridView = new System.Windows.Forms.DataGridView();
this.StartDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.EndDate = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.roleAssignmentsBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.panel3 = new System.Windows.Forms.Panel();
this.btnRemoveAssign = new System.Windows.Forms.Button();
this.btnNewAssign = new System.Windows.Forms.Button();
this.tabPage2 = new System.Windows.Forms.TabPage();
this.rolePermissionsDataGridView = new System.Windows.Forms.DataGridView();
this.Pid = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.permADLookupBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.dataGridViewTextBoxColumn13 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn19 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewCheckBoxColumn2 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.dataGridViewCheckBoxColumn4 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.dataGridViewCheckBoxColumn1 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.dataGridViewCheckBoxColumn3 = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.dataGridViewTextBoxColumn16 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn12 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.rolePermissionsBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.roleBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.panel2 = new System.Windows.Forms.Panel();
this.button1 = new System.Windows.Forms.Button();
this.btnNewPermission = new System.Windows.Forms.Button();
this.panel1 = new System.Windows.Forms.Panel();
this.nameTextBox = new System.Windows.Forms.TextBox();
this.ridTextBox = new System.Windows.Forms.TextBox();
this.titleTextBox = new System.Windows.Forms.TextBox();
this.btnNew = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.btnSave = new System.Windows.Forms.Button();
this.dataGridViewTextBoxColumn10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components);
nameLabel = new System.Windows.Forms.Label();
titleLabel = new System.Windows.Forms.Label();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.roleInfoListBindingSource)).BeginInit();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.roleAssignmentsDataGridView)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.roleAssignmentsBindingSource)).BeginInit();
this.panel3.SuspendLayout();
this.tabPage2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.rolePermissionsDataGridView)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.permADLookupBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.rolePermissionsBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.roleBindingSource)).BeginInit();
this.panel2.SuspendLayout();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit();
this.SuspendLayout();
//
// nameLabel
//
nameLabel.AutoSize = true;
nameLabel.Location = new System.Drawing.Point(69, 11);
nameLabel.Name = "nameLabel";
nameLabel.Size = new System.Drawing.Size(49, 17);
nameLabel.TabIndex = 21;
nameLabel.Text = "Name:";
//
// titleLabel
//
titleLabel.AutoSize = true;
titleLabel.Location = new System.Drawing.Point(6, 38);
titleLabel.Name = "titleLabel";
titleLabel.Size = new System.Drawing.Size(39, 17);
titleLabel.TabIndex = 24;
titleLabel.Text = "Title:";
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.lbRoles);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.AutoScroll = true;
this.splitContainer1.Panel2.Controls.Add(this.tabControl1);
this.splitContainer1.Panel2.Controls.Add(this.panel1);
this.splitContainer1.Size = new System.Drawing.Size(863, 550);
this.splitContainer1.SplitterDistance = 225;
this.splitContainer1.TabIndex = 0;
//
// lbRoles
//
this.lbRoles.DataSource = this.roleInfoListBindingSource;
this.lbRoles.DisplayMember = "Name";
this.lbRoles.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbRoles.FormattingEnabled = true;
this.lbRoles.ItemHeight = 16;
this.lbRoles.Location = new System.Drawing.Point(0, 0);
this.lbRoles.Name = "lbRoles";
this.lbRoles.Size = new System.Drawing.Size(225, 548);
this.lbRoles.TabIndex = 0;
this.lbRoles.ValueMember = "Rid";
this.lbRoles.SelectedValueChanged += new System.EventHandler(this.lbRole_SelectedValueChanged);
//
// roleInfoListBindingSource
//
this.roleInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.RoleInfo);
//
// tabControl1
//
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabControl1.Location = new System.Drawing.Point(0, 102);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(634, 448);
this.tabControl1.TabIndex = 18;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.roleAssignmentsDataGridView);
this.tabPage1.Controls.Add(this.panel3);
this.tabPage1.Location = new System.Drawing.Point(4, 25);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(626, 419);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Assignments";
this.tabPage1.UseVisualStyleBackColor = true;
//
// roleAssignmentsDataGridView
//
this.roleAssignmentsDataGridView.AutoGenerateColumns = false;
this.roleAssignmentsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.StartDate,
this.EndDate});
this.roleAssignmentsDataGridView.DataSource = this.roleAssignmentsBindingSource;
this.roleAssignmentsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
this.roleAssignmentsDataGridView.Location = new System.Drawing.Point(3, 35);
this.roleAssignmentsDataGridView.Name = "roleAssignmentsDataGridView";
this.roleAssignmentsDataGridView.RowTemplate.Height = 24;
this.roleAssignmentsDataGridView.Size = new System.Drawing.Size(620, 381);
this.roleAssignmentsDataGridView.TabIndex = 18;
//
// StartDate
//
this.StartDate.DataPropertyName = "StartDate";
this.StartDate.HeaderText = "StartDate";
this.StartDate.Name = "StartDate";
//
// EndDate
//
this.EndDate.DataPropertyName = "EndDate";
this.EndDate.HeaderText = "EndDate";
this.EndDate.Name = "EndDate";
//
// roleAssignmentsBindingSource
//
this.roleAssignmentsBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// panel3
//
this.panel3.AutoScroll = true;
this.panel3.Controls.Add(this.btnRemoveAssign);
this.panel3.Controls.Add(this.btnNewAssign);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
this.panel3.Location = new System.Drawing.Point(3, 3);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(620, 32);
this.panel3.TabIndex = 19;
//
// btnRemoveAssign
//
this.btnRemoveAssign.AutoSize = true;
this.btnRemoveAssign.Dock = System.Windows.Forms.DockStyle.Left;
this.btnRemoveAssign.Location = new System.Drawing.Point(75, 0);
this.btnRemoveAssign.Name = "btnRemoveAssign";
this.btnRemoveAssign.Size = new System.Drawing.Size(75, 32);
this.btnRemoveAssign.TabIndex = 20;
this.btnRemoveAssign.Text = "Remove";
this.btnRemoveAssign.UseVisualStyleBackColor = true;
//
// btnNewAssign
//
this.btnNewAssign.AutoSize = true;
this.btnNewAssign.Dock = System.Windows.Forms.DockStyle.Left;
this.btnNewAssign.Location = new System.Drawing.Point(0, 0);
this.btnNewAssign.Name = "btnNewAssign";
this.btnNewAssign.Size = new System.Drawing.Size(75, 32);
this.btnNewAssign.TabIndex = 19;
this.btnNewAssign.Text = "New";
this.btnNewAssign.UseVisualStyleBackColor = true;
//
// tabPage2
//
this.tabPage2.AutoScroll = true;
this.tabPage2.Controls.Add(this.rolePermissionsDataGridView);
this.tabPage2.Controls.Add(this.panel2);
this.tabPage2.Location = new System.Drawing.Point(4, 25);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(626, 419);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "Permissions";
this.tabPage2.UseVisualStyleBackColor = true;
//
// rolePermissionsDataGridView
//
this.rolePermissionsDataGridView.AutoGenerateColumns = false;
this.rolePermissionsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Pid,
this.dataGridViewTextBoxColumn13,
this.dataGridViewTextBoxColumn19,
this.dataGridViewTextBoxColumn7,
this.dataGridViewCheckBoxColumn2,
this.dataGridViewCheckBoxColumn4,
this.dataGridViewCheckBoxColumn1,
this.dataGridViewCheckBoxColumn3,
this.dataGridViewTextBoxColumn16,
this.dataGridViewTextBoxColumn12});
this.rolePermissionsDataGridView.DataSource = this.rolePermissionsBindingSource;
this.rolePermissionsDataGridView.Dock = System.Windows.Forms.DockStyle.Fill;
this.rolePermissionsDataGridView.Location = new System.Drawing.Point(3, 37);
this.rolePermissionsDataGridView.Name = "rolePermissionsDataGridView";
this.rolePermissionsDataGridView.RowTemplate.Height = 24;
this.rolePermissionsDataGridView.Size = new System.Drawing.Size(620, 379);
this.rolePermissionsDataGridView.TabIndex = 20;
//
// Pid
//
this.Pid.DataPropertyName = "Pid";
this.Pid.HeaderText = "Pid";
this.Pid.MinimumWidth = 2;
this.Pid.Name = "Pid";
this.Pid.ReadOnly = true;
this.Pid.Visible = false;
this.Pid.Width = 2;
//
// permADLookupBindingSource
//
this.permADLookupBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.vlnValueKey);
//
// dataGridViewTextBoxColumn13
//
this.dataGridViewTextBoxColumn13.DataPropertyName = "VersionType";
this.dataGridViewTextBoxColumn13.HeaderText = "VersionType";
this.dataGridViewTextBoxColumn13.Name = "dataGridViewTextBoxColumn13";
//
// dataGridViewTextBoxColumn19
//
this.dataGridViewTextBoxColumn19.DataPropertyName = "PermLevel";
this.dataGridViewTextBoxColumn19.HeaderText = "PermLevel";
this.dataGridViewTextBoxColumn19.Name = "dataGridViewTextBoxColumn19";
this.dataGridViewTextBoxColumn19.Resizable = System.Windows.Forms.DataGridViewTriState.True;
//
// dataGridViewTextBoxColumn7
//
this.dataGridViewTextBoxColumn7.DataPropertyName = "PermValue";
this.dataGridViewTextBoxColumn7.HeaderText = "PermValue";
this.dataGridViewTextBoxColumn7.Name = "dataGridViewTextBoxColumn7";
this.dataGridViewTextBoxColumn7.Visible = false;
//
// dataGridViewCheckBoxColumn2
//
this.dataGridViewCheckBoxColumn2.DataPropertyName = "ReadAccess";
this.dataGridViewCheckBoxColumn2.HeaderText = "R";
this.dataGridViewCheckBoxColumn2.Name = "dataGridViewCheckBoxColumn2";
this.dataGridViewCheckBoxColumn2.ToolTipText = "Read Access";
this.dataGridViewCheckBoxColumn2.Width = 30;
//
// dataGridViewCheckBoxColumn4
//
this.dataGridViewCheckBoxColumn4.DataPropertyName = "WriteAccess";
this.dataGridViewCheckBoxColumn4.HeaderText = "W";
this.dataGridViewCheckBoxColumn4.Name = "dataGridViewCheckBoxColumn4";
this.dataGridViewCheckBoxColumn4.ToolTipText = "Write Access";
this.dataGridViewCheckBoxColumn4.Width = 30;
//
// dataGridViewCheckBoxColumn1
//
this.dataGridViewCheckBoxColumn1.DataPropertyName = "CreateAccess";
this.dataGridViewCheckBoxColumn1.HeaderText = "C";
this.dataGridViewCheckBoxColumn1.Name = "dataGridViewCheckBoxColumn1";
this.dataGridViewCheckBoxColumn1.ToolTipText = "Create Access";
this.dataGridViewCheckBoxColumn1.Width = 30;
//
// dataGridViewCheckBoxColumn3
//
this.dataGridViewCheckBoxColumn3.DataPropertyName = "DeleteAccess";
this.dataGridViewCheckBoxColumn3.HeaderText = "D";
this.dataGridViewCheckBoxColumn3.Name = "dataGridViewCheckBoxColumn3";
this.dataGridViewCheckBoxColumn3.ToolTipText = "Delete Access";
this.dataGridViewCheckBoxColumn3.Width = 30;
//
// dataGridViewTextBoxColumn16
//
this.dataGridViewTextBoxColumn16.DataPropertyName = "EndDate";
this.dataGridViewTextBoxColumn16.HeaderText = "EndDate";
this.dataGridViewTextBoxColumn16.Name = "dataGridViewTextBoxColumn16";
//
// dataGridViewTextBoxColumn12
//
this.dataGridViewTextBoxColumn12.DataPropertyName = "StartDate";
this.dataGridViewTextBoxColumn12.HeaderText = "StartDate";
this.dataGridViewTextBoxColumn12.Name = "dataGridViewTextBoxColumn12";
//
// rolePermissionsBindingSource
//
this.rolePermissionsBindingSource.DataMember = "RolePermissions";
this.rolePermissionsBindingSource.DataSource = this.roleBindingSource;
this.rolePermissionsBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// roleBindingSource
//
this.roleBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.Role);
this.roleBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// panel2
//
this.panel2.Controls.Add(this.button1);
this.panel2.Controls.Add(this.btnNewPermission);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(3, 3);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(620, 34);
this.panel2.TabIndex = 20;
//
// button1
//
this.button1.AutoSize = true;
this.button1.Dock = System.Windows.Forms.DockStyle.Left;
this.button1.Location = new System.Drawing.Point(75, 0);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 34);
this.button1.TabIndex = 20;
this.button1.Text = "Remove";
this.button1.UseVisualStyleBackColor = true;
//
// btnNewPermission
//
this.btnNewPermission.AutoSize = true;
this.btnNewPermission.Dock = System.Windows.Forms.DockStyle.Left;
this.btnNewPermission.Location = new System.Drawing.Point(0, 0);
this.btnNewPermission.Name = "btnNewPermission";
this.btnNewPermission.Size = new System.Drawing.Size(75, 34);
this.btnNewPermission.TabIndex = 19;
this.btnNewPermission.Text = "New";
this.btnNewPermission.UseVisualStyleBackColor = true;
this.btnNewPermission.Click += new System.EventHandler(this.btnNewPermission_Click);
//
// panel1
//
this.panel1.AutoScroll = true;
this.panel1.Controls.Add(nameLabel);
this.panel1.Controls.Add(this.nameTextBox);
this.panel1.Controls.Add(this.ridTextBox);
this.panel1.Controls.Add(titleLabel);
this.panel1.Controls.Add(this.titleTextBox);
this.panel1.Controls.Add(this.btnNew);
this.panel1.Controls.Add(this.btnCancel);
this.panel1.Controls.Add(this.btnSave);
this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(634, 102);
this.panel1.TabIndex = 19;
//
// nameTextBox
//
this.nameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.roleBindingSource, "Name", true));
this.nameTextBox.Location = new System.Drawing.Point(124, 6);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(417, 22);
this.nameTextBox.TabIndex = 22;
//
// ridTextBox
//
this.ridTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.roleBindingSource, "Rid", true));
this.ridTextBox.Enabled = false;
this.ridTextBox.Location = new System.Drawing.Point(7, 5);
this.ridTextBox.Name = "ridTextBox";
this.ridTextBox.Size = new System.Drawing.Size(47, 22);
this.ridTextBox.TabIndex = 23;
//
// titleTextBox
//
this.titleTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.roleBindingSource, "Title", true));
this.titleTextBox.Location = new System.Drawing.Point(61, 35);
this.titleTextBox.Multiline = true;
this.titleTextBox.Name = "titleTextBox";
this.titleTextBox.Size = new System.Drawing.Size(480, 51);
this.titleTextBox.TabIndex = 25;
//
// btnNew
//
this.btnNew.Location = new System.Drawing.Point(547, 62);
this.btnNew.Name = "btnNew";
this.btnNew.Size = new System.Drawing.Size(75, 23);
this.btnNew.TabIndex = 20;
this.btnNew.Text = "New";
this.btnNew.UseVisualStyleBackColor = true;
this.btnNew.Click += new System.EventHandler(this.btnNew_Click);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(547, 33);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(75, 23);
this.btnCancel.TabIndex = 19;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnSave
//
this.btnSave.Location = new System.Drawing.Point(547, 4);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(75, 23);
this.btnSave.TabIndex = 18;
this.btnSave.Text = "Save";
this.btnSave.UseVisualStyleBackColor = true;
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// dataGridViewTextBoxColumn10
//
this.dataGridViewTextBoxColumn10.DataPropertyName = "Pid";
this.dataGridViewTextBoxColumn10.HeaderText = "Pid";
this.dataGridViewTextBoxColumn10.Name = "dataGridViewTextBoxColumn10";
this.dataGridViewTextBoxColumn10.ReadOnly = true;
this.dataGridViewTextBoxColumn10.Visible = false;
//
// errorProvider1
//
this.errorProvider1.ContainerControl = this;
this.errorProvider1.DataSource = this.roleBindingSource;
//
// frmRoles
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(863, 550);
this.Controls.Add(this.splitContainer1);
this.Name = "frmRoles";
this.Text = "Roles";
this.Load += new System.EventHandler(this.frmRoles_Load);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.BeforeFormClosing);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.roleInfoListBindingSource)).EndInit();
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.roleAssignmentsDataGridView)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.roleAssignmentsBindingSource)).EndInit();
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.tabPage2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.rolePermissionsDataGridView)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.permADLookupBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.rolePermissionsBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.roleBindingSource)).EndInit();
this.panel2.ResumeLayout(false);
this.panel2.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ListBox lbRoles;
private System.Windows.Forms.BindingSource roleInfoListBindingSource;
private System.Windows.Forms.BindingSource roleAssignmentsBindingSource;
private System.Windows.Forms.BindingSource roleBindingSource;
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.DataGridView roleAssignmentsDataGridView;
private System.Windows.Forms.DataGridViewTextBoxColumn StartDate;
private System.Windows.Forms.DataGridViewTextBoxColumn EndDate;
private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.TextBox ridTextBox;
private System.Windows.Forms.TextBox titleTextBox;
private System.Windows.Forms.Button btnNew;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Button btnRemoveAssign;
private System.Windows.Forms.Button btnNewAssign;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn10;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button btnNewPermission;
private System.Windows.Forms.DataGridView rolePermissionsDataGridView;
private System.Windows.Forms.BindingSource rolePermissionsBindingSource;
private System.Windows.Forms.ErrorProvider errorProvider1;
private System.Windows.Forms.BindingSource permADLookupBindingSource;
private System.Windows.Forms.DataGridViewTextBoxColumn Pid;
private System.Windows.Forms.DataGridViewComboBoxColumn dataGridViewTextBoxColumn15;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn13;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn19;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn7;
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn2;
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn4;
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn1;
private System.Windows.Forms.DataGridViewCheckBoxColumn dataGridViewCheckBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn16;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn12;
}
}

View File

@@ -0,0 +1,211 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
namespace WinApp
{
public partial class frmRoles : Form
{
Role _role;
private PermLookup _pl=new PermLookup();
public frmRoles()
{
InitializeComponent();
roleInfoListBindingSource.DataSource = RoleInfoList.Get();
permADLookupBindingSource.DataSource = _pl.PermADLookup;
SetupDetail();
SetupButtons();
}
private DialogResult SaveAsNeeded()
{
if (_role != null && _role.IsSavable)
{
DialogResult dr = MessageBox.Show("Do you want to save changes", "Save Changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes) Save();
if (dr == DialogResult.No) Cancel();
// TODO: Need a Cancel
return dr;
}
return DialogResult.Yes;
}
private void SetupDetail()
{
if (lbRoles.SelectedValue != null)
{
int rid = (int)lbRoles.SelectedValue;
if (_role == null || _role.RID != rid)
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_role = Role.Get(rid);
roleBindingSource.DataSource = _role;
roleAssignmentsBindingSource.DataSource = _role.RoleAssignments;
rolePermissionsBindingSource.DataSource = _role.RolePermissions;
}
}
}
}
private void lbRole_SelectedValueChanged(object sender, EventArgs e)
{
SetupDetail();
}
private void SetupButtons()
{
if (_role != null)
{
btnSave.Enabled = _role.IsSavable;
btnCancel.Enabled = _role.IsDirty;
btnNew.Enabled = _role.IsValid;
}
else
{
btnSave.Enabled = false;
btnCancel.Enabled = false;
btnNew.Enabled = true;
}
}
private void CurrentItemChanged(object sender, EventArgs e)
{
SetupButtons();
}
private void btnCancel_Click(object sender, EventArgs e)
{
Cancel();
}
private void btnSave_Click(object sender, EventArgs e)
{
Save();
}
private void btnNew_Click(object sender, EventArgs e)
{
New();
}
private void Cancel()
{
_role.CancelEdit();
_role.BeginEdit();
}
private void Save()
{
roleBindingSource.RaiseListChangedEvents = false;
roleAssignmentsBindingSource.RaiseListChangedEvents = false;
rolePermissionsBindingSource.RaiseListChangedEvents = false;
roleBindingSource.EndEdit();
roleAssignmentsBindingSource.EndEdit();
rolePermissionsBindingSource.EndEdit();
try
{
Role temp = _role.Clone();
_role = temp.Save();
_role.BeginEdit();
roleBindingSource.DataSource = null;
roleAssignmentsBindingSource.DataSource = null;
rolePermissionsBindingSource.DataSource = null;
int rid = _role.RID;
roleInfoListBindingSource.DataSource = RoleInfoList.Get();
if (lbRoles.SelectedIndex == -1)
lbRoles.SelectedValue = rid;
roleBindingSource.DataSource = _role;
roleAssignmentsBindingSource.DataSource = _role.RoleAssignments;
rolePermissionsBindingSource.DataSource = _role.RolePermissions;
}
catch (Csla.DataPortalException ex)
{
MessageBox.Show(ex.BusinessException.ToString(),
"Error saving", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error saving",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
roleBindingSource.RaiseListChangedEvents = true;
roleAssignmentsBindingSource.RaiseListChangedEvents = true;
rolePermissionsBindingSource.RaiseListChangedEvents = true;
roleBindingSource.ResetBindings(false);
roleAssignmentsBindingSource.ResetBindings(false);
rolePermissionsBindingSource.ResetBindings(false);
}
SetupButtons();
}
public void New()
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_role = Role.New();
roleBindingSource.DataSource = _role;
roleAssignmentsBindingSource.DataSource = _role.RoleAssignments;
rolePermissionsBindingSource.DataSource = _role.RolePermissions;
}
}
private void BeforeFormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = (SaveAsNeeded() == DialogResult.Cancel);
}
private void btnNewPermission_Click(object sender, EventArgs e)
{
_role.RolePermissions.Add(RolePermission.New());
}
private void frmRoles_Load(object sender, EventArgs e)
{
}
//private void btnNewGA_Click(object sender, EventArgs e)
//{
// using (frmUserSelect f = new frmUserSelect())
// {
// f.ShowDialog();
// if (f.DialogResult == DialogResult.OK)
// {
// _group.GroupMemberships.Add(f.UID);
// SetupButtons();
// }
// }
//}
//private void btnRemoveGA_Click(object sender, EventArgs e)
//{
// if (this.groupMembershipsDataGridView.SelectedRows.Count > 0)
// {
// int uid = int.Parse(
// this.groupMembershipsDataGridView.SelectedRows[0].Cells[0].Value.ToString());
// _group.GroupMemberships.Remove(uid);
// }
//}
//private void btnRemoveAssign_Click(object sender, EventArgs e)
//{
// if (this.groupPermissionsDataGridView.SelectedRows.Count > 0)
// {
// int folderid = int.Parse(
// this.groupMembershipsDataGridView.SelectedRows[1].Cells[0].Value.ToString());
// int rid = int.Parse(
// this.groupMembershipsDataGridView.SelectedRows[2].Cells[0].Value.ToString());
// _group.GroupAssignments.Remove(folderid, rid);
// }
//}
//private void btnNewAssign_Click(object sender, EventArgs e)
//{
// using (frmAssignmentSelect f = new frmAssignmentSelect(_group))
// {
// f.ShowDialog();
// if (f.DialogResult == DialogResult.OK)
// {
// //TODO: Do I need to refresh Assignments?
// }
// }
//}
}
}

View File

@@ -0,0 +1,153 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="nameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="titleLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="roleInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 57</value>
</metadata>
<metadata name="StartDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="EndDate.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="roleAssignmentsBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>269, 17</value>
</metadata>
<metadata name="Pid.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="rolePermissionsBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>515, 17</value>
</metadata>
<metadata name="roleBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>54, 18</value>
</metadata>
<metadata name="permADLookupBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>231, 57</value>
</metadata>
<metadata name="errorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>756, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,574 @@
namespace WinApp
{
partial class frmUser
{
/// <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();
System.Windows.Forms.Label cfgNameLabel;
System.Windows.Forms.Label configLabel;
System.Windows.Forms.Label courtesyTitleLabel;
System.Windows.Forms.Label firstNameLabel;
System.Windows.Forms.Label lastNameLabel;
System.Windows.Forms.Label middleNameLabel;
System.Windows.Forms.Label phoneNumberLabel;
System.Windows.Forms.Label suffixLabel;
System.Windows.Forms.Label userLoginLabel;
System.Windows.Forms.Label userNameLabel;
System.Windows.Forms.Label useridLabel;
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.lbUsers = new System.Windows.Forms.ListBox();
this.userInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.btnPop = new System.Windows.Forms.Button();
this.btnStack = new System.Windows.Forms.Button();
this.useridTextBox = new System.Windows.Forms.TextBox();
this.userBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.btnRemoveGA = new System.Windows.Forms.Button();
this.btnNewGA = new System.Windows.Forms.Button();
this.btnGroups = new System.Windows.Forms.Button();
this.btnNew = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.btnSave = new System.Windows.Forms.Button();
this.userMembershipsDataGridView = new System.Windows.Forms.DataGridView();
this.Gid = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Group_GroupName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.userMembershipsBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.cfgNameTextBox = new System.Windows.Forms.TextBox();
this.configTextBox = new System.Windows.Forms.TextBox();
this.courtesyTitleTextBox = new System.Windows.Forms.TextBox();
this.firstNameTextBox = new System.Windows.Forms.TextBox();
this.lastNameTextBox = new System.Windows.Forms.TextBox();
this.middleNameTextBox = new System.Windows.Forms.TextBox();
this.phoneNumberTextBox = new System.Windows.Forms.TextBox();
this.suffixTextBox = new System.Windows.Forms.TextBox();
this.uidTextBox = new System.Windows.Forms.TextBox();
this.userLoginTextBox = new System.Windows.Forms.TextBox();
this.userNameTextBox = new System.Windows.Forms.TextBox();
this.groupInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.errorProvider1 = new System.Windows.Forms.ErrorProvider(this.components);
cfgNameLabel = new System.Windows.Forms.Label();
configLabel = new System.Windows.Forms.Label();
courtesyTitleLabel = new System.Windows.Forms.Label();
firstNameLabel = new System.Windows.Forms.Label();
lastNameLabel = new System.Windows.Forms.Label();
middleNameLabel = new System.Windows.Forms.Label();
phoneNumberLabel = new System.Windows.Forms.Label();
suffixLabel = new System.Windows.Forms.Label();
userLoginLabel = new System.Windows.Forms.Label();
userNameLabel = new System.Windows.Forms.Label();
useridLabel = new System.Windows.Forms.Label();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.userInfoListBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.userBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.userMembershipsDataGridView)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.userMembershipsBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.groupInfoListBindingSource)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).BeginInit();
this.SuspendLayout();
//
// cfgNameLabel
//
cfgNameLabel.AutoSize = true;
cfgNameLabel.Location = new System.Drawing.Point(252, 45);
cfgNameLabel.Name = "cfgNameLabel";
cfgNameLabel.Size = new System.Drawing.Size(74, 17);
cfgNameLabel.TabIndex = 0;
cfgNameLabel.Text = "Cfg Name:";
//
// configLabel
//
configLabel.AutoSize = true;
configLabel.Location = new System.Drawing.Point(35, 158);
configLabel.Name = "configLabel";
configLabel.Size = new System.Drawing.Size(52, 17);
configLabel.TabIndex = 2;
configLabel.Text = "Config:";
//
// courtesyTitleLabel
//
courtesyTitleLabel.AutoSize = true;
courtesyTitleLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
courtesyTitleLabel.Location = new System.Drawing.Point(35, 103);
courtesyTitleLabel.Name = "courtesyTitleLabel";
courtesyTitleLabel.Size = new System.Drawing.Size(35, 17);
courtesyTitleLabel.TabIndex = 4;
courtesyTitleLabel.Text = "Title";
//
// firstNameLabel
//
firstNameLabel.AutoSize = true;
firstNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
firstNameLabel.Location = new System.Drawing.Point(77, 103);
firstNameLabel.Name = "firstNameLabel";
firstNameLabel.Size = new System.Drawing.Size(35, 17);
firstNameLabel.TabIndex = 8;
firstNameLabel.Text = "First";
//
// lastNameLabel
//
lastNameLabel.AutoSize = true;
lastNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
lastNameLabel.Location = new System.Drawing.Point(289, 103);
lastNameLabel.Name = "lastNameLabel";
lastNameLabel.Size = new System.Drawing.Size(35, 17);
lastNameLabel.TabIndex = 10;
lastNameLabel.Text = "Last";
//
// middleNameLabel
//
middleNameLabel.AutoSize = true;
middleNameLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
middleNameLabel.Location = new System.Drawing.Point(183, 103);
middleNameLabel.Name = "middleNameLabel";
middleNameLabel.Size = new System.Drawing.Size(49, 17);
middleNameLabel.TabIndex = 12;
middleNameLabel.Text = "Middle";
//
// phoneNumberLabel
//
phoneNumberLabel.AutoSize = true;
phoneNumberLabel.Location = new System.Drawing.Point(252, 17);
phoneNumberLabel.Name = "phoneNumberLabel";
phoneNumberLabel.Size = new System.Drawing.Size(107, 17);
phoneNumberLabel.TabIndex = 14;
phoneNumberLabel.Text = "Phone Number:";
//
// suffixLabel
//
suffixLabel.AutoSize = true;
suffixLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 7.8F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
suffixLabel.Location = new System.Drawing.Point(395, 103);
suffixLabel.Name = "suffixLabel";
suffixLabel.Size = new System.Drawing.Size(46, 17);
suffixLabel.TabIndex = 16;
suffixLabel.Text = "Suffix:";
//
// userLoginLabel
//
userLoginLabel.AutoSize = true;
userLoginLabel.Location = new System.Drawing.Point(35, 17);
userLoginLabel.Name = "userLoginLabel";
userLoginLabel.Size = new System.Drawing.Size(81, 17);
userLoginLabel.TabIndex = 24;
userLoginLabel.Text = "User Login:";
//
// userNameLabel
//
userNameLabel.AutoSize = true;
userNameLabel.Location = new System.Drawing.Point(35, 45);
userNameLabel.Name = "userNameLabel";
userNameLabel.Size = new System.Drawing.Size(83, 17);
userNameLabel.TabIndex = 26;
userNameLabel.Text = "User Name:";
//
// useridLabel
//
useridLabel.AutoSize = true;
useridLabel.Location = new System.Drawing.Point(178, 133);
useridLabel.Name = "useridLabel";
useridLabel.Size = new System.Drawing.Size(53, 17);
useridLabel.TabIndex = 35;
useridLabel.Text = "Userid:";
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.lbUsers);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.AutoScroll = true;
this.splitContainer1.Panel2.Controls.Add(this.btnPop);
this.splitContainer1.Panel2.Controls.Add(this.btnStack);
this.splitContainer1.Panel2.Controls.Add(useridLabel);
this.splitContainer1.Panel2.Controls.Add(this.useridTextBox);
this.splitContainer1.Panel2.Controls.Add(this.btnRemoveGA);
this.splitContainer1.Panel2.Controls.Add(this.btnNewGA);
this.splitContainer1.Panel2.Controls.Add(this.btnGroups);
this.splitContainer1.Panel2.Controls.Add(this.btnNew);
this.splitContainer1.Panel2.Controls.Add(this.btnCancel);
this.splitContainer1.Panel2.Controls.Add(this.btnSave);
this.splitContainer1.Panel2.Controls.Add(this.userMembershipsDataGridView);
this.splitContainer1.Panel2.Controls.Add(cfgNameLabel);
this.splitContainer1.Panel2.Controls.Add(this.cfgNameTextBox);
this.splitContainer1.Panel2.Controls.Add(configLabel);
this.splitContainer1.Panel2.Controls.Add(this.configTextBox);
this.splitContainer1.Panel2.Controls.Add(courtesyTitleLabel);
this.splitContainer1.Panel2.Controls.Add(this.courtesyTitleTextBox);
this.splitContainer1.Panel2.Controls.Add(firstNameLabel);
this.splitContainer1.Panel2.Controls.Add(this.firstNameTextBox);
this.splitContainer1.Panel2.Controls.Add(lastNameLabel);
this.splitContainer1.Panel2.Controls.Add(this.lastNameTextBox);
this.splitContainer1.Panel2.Controls.Add(middleNameLabel);
this.splitContainer1.Panel2.Controls.Add(this.middleNameTextBox);
this.splitContainer1.Panel2.Controls.Add(phoneNumberLabel);
this.splitContainer1.Panel2.Controls.Add(this.phoneNumberTextBox);
this.splitContainer1.Panel2.Controls.Add(suffixLabel);
this.splitContainer1.Panel2.Controls.Add(this.suffixTextBox);
this.splitContainer1.Panel2.Controls.Add(this.uidTextBox);
this.splitContainer1.Panel2.Controls.Add(userLoginLabel);
this.splitContainer1.Panel2.Controls.Add(this.userLoginTextBox);
this.splitContainer1.Panel2.Controls.Add(userNameLabel);
this.splitContainer1.Panel2.Controls.Add(this.userNameTextBox);
this.splitContainer1.Size = new System.Drawing.Size(841, 462);
this.splitContainer1.SplitterDistance = 280;
this.splitContainer1.TabIndex = 0;
//
// lbUsers
//
this.lbUsers.DataSource = this.userInfoListBindingSource;
this.lbUsers.DisplayMember = "FullName";
this.lbUsers.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbUsers.FormattingEnabled = true;
this.lbUsers.ItemHeight = 16;
this.lbUsers.Location = new System.Drawing.Point(0, 0);
this.lbUsers.Name = "lbUsers";
this.lbUsers.Size = new System.Drawing.Size(280, 452);
this.lbUsers.TabIndex = 0;
this.lbUsers.ValueMember = "Uid";
this.lbUsers.SelectedValueChanged += new System.EventHandler(this.lbUser_SelectedValueChanged);
//
// userInfoListBindingSource
//
this.userInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.UserInfo);
//
// btnPop
//
this.btnPop.Location = new System.Drawing.Point(470, 127);
this.btnPop.Name = "btnPop";
this.btnPop.Size = new System.Drawing.Size(75, 23);
this.btnPop.TabIndex = 38;
this.btnPop.Text = "Push";
this.btnPop.UseVisualStyleBackColor = true;
this.btnPop.Click += new System.EventHandler(this.btnPop_Click);
//
// btnStack
//
this.btnStack.Location = new System.Drawing.Point(471, 100);
this.btnStack.Name = "btnStack";
this.btnStack.Size = new System.Drawing.Size(75, 23);
this.btnStack.TabIndex = 37;
this.btnStack.Text = "Push";
this.btnStack.UseVisualStyleBackColor = true;
this.btnStack.Click += new System.EventHandler(this.btnStack_Click);
//
// useridTextBox
//
this.useridTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "Userid", true));
this.useridTextBox.Location = new System.Drawing.Point(237, 130);
this.useridTextBox.Name = "useridTextBox";
this.useridTextBox.Size = new System.Drawing.Size(100, 22);
this.useridTextBox.TabIndex = 36;
//
// userBindingSource
//
this.userBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.User);
this.userBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// btnRemoveGA
//
this.btnRemoveGA.Location = new System.Drawing.Point(177, 227);
this.btnRemoveGA.Name = "btnRemoveGA";
this.btnRemoveGA.Size = new System.Drawing.Size(149, 23);
this.btnRemoveGA.TabIndex = 35;
this.btnRemoveGA.TabStop = false;
this.btnRemoveGA.Text = "Remove Membership";
this.btnRemoveGA.UseVisualStyleBackColor = true;
this.btnRemoveGA.Click += new System.EventHandler(this.btnRemoveGA_Click);
//
// btnNewGA
//
this.btnNewGA.Location = new System.Drawing.Point(38, 227);
this.btnNewGA.Name = "btnNewGA";
this.btnNewGA.Size = new System.Drawing.Size(133, 23);
this.btnNewGA.TabIndex = 34;
this.btnNewGA.TabStop = false;
this.btnNewGA.Text = "New Membership";
this.btnNewGA.UseVisualStyleBackColor = true;
this.btnNewGA.Click += new System.EventHandler(this.btnNewGA_Click);
//
// btnGroups
//
this.btnGroups.Location = new System.Drawing.Point(423, 227);
this.btnGroups.Name = "btnGroups";
this.btnGroups.Size = new System.Drawing.Size(100, 23);
this.btnGroups.TabIndex = 33;
this.btnGroups.TabStop = false;
this.btnGroups.Text = "Group Edit";
this.btnGroups.UseVisualStyleBackColor = true;
this.btnGroups.Click += new System.EventHandler(this.btnGroups_Click);
//
// btnNew
//
this.btnNew.Location = new System.Drawing.Point(471, 72);
this.btnNew.Name = "btnNew";
this.btnNew.Size = new System.Drawing.Size(75, 23);
this.btnNew.TabIndex = 30;
this.btnNew.Text = "New";
this.btnNew.UseVisualStyleBackColor = true;
this.btnNew.Click += new System.EventHandler(this.btnNewGA_Click);
//
// btnCancel
//
this.btnCancel.Location = new System.Drawing.Point(471, 43);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(75, 23);
this.btnCancel.TabIndex = 29;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnSave
//
this.btnSave.Location = new System.Drawing.Point(471, 14);
this.btnSave.Name = "btnSave";
this.btnSave.Size = new System.Drawing.Size(75, 23);
this.btnSave.TabIndex = 28;
this.btnSave.Text = "Save";
this.btnSave.UseVisualStyleBackColor = true;
this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
//
// userMembershipsDataGridView
//
this.userMembershipsDataGridView.AllowUserToAddRows = false;
this.userMembershipsDataGridView.AllowUserToDeleteRows = false;
this.userMembershipsDataGridView.AutoGenerateColumns = false;
this.userMembershipsDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Gid,
this.Group_GroupName,
this.dataGridViewTextBoxColumn8,
this.dataGridViewTextBoxColumn4});
this.userMembershipsDataGridView.DataSource = this.userMembershipsBindingSource;
this.userMembershipsDataGridView.Location = new System.Drawing.Point(38, 256);
this.userMembershipsDataGridView.Name = "userMembershipsDataGridView";
this.userMembershipsDataGridView.RowTemplate.Height = 24;
this.userMembershipsDataGridView.Size = new System.Drawing.Size(485, 157);
this.userMembershipsDataGridView.TabIndex = 27;
this.userMembershipsDataGridView.SelectionChanged += new System.EventHandler(this.userMembershipsDataGridView_SelectionChanged);
//
// Gid
//
this.Gid.DataPropertyName = "Gid";
this.Gid.HeaderText = "Gid";
this.Gid.Name = "Gid";
this.Gid.Visible = false;
//
// Group_GroupName
//
this.Group_GroupName.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this.Group_GroupName.DataPropertyName = "Group_GroupName";
this.Group_GroupName.HeaderText = "Group";
this.Group_GroupName.Name = "Group_GroupName";
this.Group_GroupName.ReadOnly = true;
//
// dataGridViewTextBoxColumn8
//
this.dataGridViewTextBoxColumn8.DataPropertyName = "StartDate";
this.dataGridViewTextBoxColumn8.HeaderText = "StartDate";
this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8";
//
// dataGridViewTextBoxColumn4
//
this.dataGridViewTextBoxColumn4.DataPropertyName = "EndDate";
this.dataGridViewTextBoxColumn4.HeaderText = "EndDate";
this.dataGridViewTextBoxColumn4.Name = "dataGridViewTextBoxColumn4";
//
// userMembershipsBindingSource
//
this.userMembershipsBindingSource.DataMember = "UserMemberships";
this.userMembershipsBindingSource.DataSource = this.userBindingSource;
this.userMembershipsBindingSource.CurrentItemChanged += new System.EventHandler(this.CurrentItemChanged);
//
// cfgNameTextBox
//
this.cfgNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "CfgName", true));
this.cfgNameTextBox.Location = new System.Drawing.Point(365, 42);
this.cfgNameTextBox.Name = "cfgNameTextBox";
this.cfgNameTextBox.Size = new System.Drawing.Size(100, 22);
this.cfgNameTextBox.TabIndex = 1;
//
// configTextBox
//
this.configTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "Config", true));
this.configTextBox.Location = new System.Drawing.Point(93, 158);
this.configTextBox.Multiline = true;
this.configTextBox.Name = "configTextBox";
this.configTextBox.Size = new System.Drawing.Size(430, 63);
this.configTextBox.TabIndex = 3;
//
// courtesyTitleTextBox
//
this.courtesyTitleTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "CourtesyTitle", true));
this.courtesyTitleTextBox.Location = new System.Drawing.Point(38, 78);
this.courtesyTitleTextBox.Name = "courtesyTitleTextBox";
this.courtesyTitleTextBox.Size = new System.Drawing.Size(36, 22);
this.courtesyTitleTextBox.TabIndex = 5;
//
// firstNameTextBox
//
this.firstNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "FirstName", true));
this.firstNameTextBox.Location = new System.Drawing.Point(80, 78);
this.firstNameTextBox.Name = "firstNameTextBox";
this.firstNameTextBox.Size = new System.Drawing.Size(100, 22);
this.firstNameTextBox.TabIndex = 9;
//
// lastNameTextBox
//
this.lastNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "LastName", true));
this.lastNameTextBox.Location = new System.Drawing.Point(292, 78);
this.lastNameTextBox.Name = "lastNameTextBox";
this.lastNameTextBox.Size = new System.Drawing.Size(100, 22);
this.lastNameTextBox.TabIndex = 11;
//
// middleNameTextBox
//
this.middleNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "MiddleName", true));
this.middleNameTextBox.Location = new System.Drawing.Point(186, 78);
this.middleNameTextBox.Name = "middleNameTextBox";
this.middleNameTextBox.Size = new System.Drawing.Size(100, 22);
this.middleNameTextBox.TabIndex = 13;
//
// phoneNumberTextBox
//
this.phoneNumberTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "PhoneNumber", true));
this.phoneNumberTextBox.Location = new System.Drawing.Point(365, 14);
this.phoneNumberTextBox.Name = "phoneNumberTextBox";
this.phoneNumberTextBox.Size = new System.Drawing.Size(100, 22);
this.phoneNumberTextBox.TabIndex = 15;
//
// suffixTextBox
//
this.suffixTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "Suffix", true));
this.suffixTextBox.Location = new System.Drawing.Point(398, 78);
this.suffixTextBox.Name = "suffixTextBox";
this.suffixTextBox.Size = new System.Drawing.Size(38, 22);
this.suffixTextBox.TabIndex = 17;
//
// uidTextBox
//
this.uidTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "Uid", true));
this.uidTextBox.Enabled = false;
this.uidTextBox.Location = new System.Drawing.Point(3, 3);
this.uidTextBox.Name = "uidTextBox";
this.uidTextBox.Size = new System.Drawing.Size(33, 22);
this.uidTextBox.TabIndex = 19;
//
// userLoginTextBox
//
this.userLoginTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "UserLogin", true));
this.userLoginTextBox.Location = new System.Drawing.Point(148, 12);
this.userLoginTextBox.Name = "userLoginTextBox";
this.userLoginTextBox.Size = new System.Drawing.Size(100, 22);
this.userLoginTextBox.TabIndex = 25;
//
// userNameTextBox
//
this.userNameTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.userBindingSource, "UserName", true));
this.userNameTextBox.Location = new System.Drawing.Point(148, 42);
this.userNameTextBox.Name = "userNameTextBox";
this.userNameTextBox.Size = new System.Drawing.Size(100, 22);
this.userNameTextBox.TabIndex = 27;
//
// groupInfoListBindingSource
//
this.groupInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.GroupInfo);
//
// errorProvider1
//
this.errorProvider1.ContainerControl = this;
this.errorProvider1.DataSource = this.userBindingSource;
//
// frmUser
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(841, 462);
this.Controls.Add(this.splitContainer1);
this.Name = "frmUser";
this.Text = "Users";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.BeforeFormClosing);
this.Load += new System.EventHandler(this.frmUser_Load);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
this.splitContainer1.Panel2.PerformLayout();
this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.userInfoListBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.userBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.userMembershipsDataGridView)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.userMembershipsBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.groupInfoListBindingSource)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.errorProvider1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.ListBox lbUsers;
private System.Windows.Forms.BindingSource userInfoListBindingSource;
private System.Windows.Forms.TextBox cfgNameTextBox;
private System.Windows.Forms.BindingSource userBindingSource;
private System.Windows.Forms.TextBox configTextBox;
private System.Windows.Forms.TextBox courtesyTitleTextBox;
private System.Windows.Forms.TextBox firstNameTextBox;
private System.Windows.Forms.TextBox lastNameTextBox;
private System.Windows.Forms.TextBox middleNameTextBox;
private System.Windows.Forms.TextBox phoneNumberTextBox;
private System.Windows.Forms.TextBox suffixTextBox;
private System.Windows.Forms.TextBox uidTextBox;
private System.Windows.Forms.TextBox userLoginTextBox;
private System.Windows.Forms.TextBox userNameTextBox;
private System.Windows.Forms.DataGridView userMembershipsDataGridView;
private System.Windows.Forms.BindingSource groupInfoListBindingSource;
private System.Windows.Forms.BindingSource userMembershipsBindingSource;
private System.Windows.Forms.Button btnRemoveGA;
private System.Windows.Forms.Button btnNewGA;
private System.Windows.Forms.Button btnGroups;
private System.Windows.Forms.Button btnNew;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.ErrorProvider errorProvider1;
private System.Windows.Forms.TextBox useridTextBox;
private System.Windows.Forms.DataGridViewTextBoxColumn Gid;
private System.Windows.Forms.DataGridViewTextBoxColumn Group_GroupName;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn8;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn4;
private System.Windows.Forms.Button btnStack;
private System.Windows.Forms.Button btnPop;
}
}

View File

@@ -0,0 +1,216 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
namespace WinApp
{
public partial class frmUser : Form
{
public frmUser()
{
InitializeComponent();
}
private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
private void BeforeFormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = (SaveAsNeeded() == DialogResult.Cancel);
}
private User _user;
private GroupInfoList _gil=GroupInfoList.Get();
private void frmUser_Load(object sender, EventArgs e)
{
userInfoListBindingSource.DataSource = UserInfoList.Get();
groupInfoListBindingSource.DataSource = _gil;
SetupDetail();
SetupButtons();
log.Info("This is a test");
//frmMembership f = new frmMembership();
//f.Show();
//f.TopMost = true;
}
private DialogResult SaveAsNeeded()
{
if (_user != null && _user.IsSavable)
{
DialogResult dr = MessageBox.Show("Do you want to save changes", "Save Changes", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dr == DialogResult.Yes) Save();
if (dr == DialogResult.No) Cancel();
// TODO: Need a Cancel
return dr;
}
return DialogResult.Yes;
}
private void SetupDetail()
{
if (lbUsers.SelectedIndex != -1)
{
int uid = (int)lbUsers.SelectedValue;
if (_user == null || _user.UID != uid)
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_user = User.Get(uid);
userBindingSource.DataSource = _user;
userMembershipsBindingSource.DataSource = _user.UserMemberships;
}
}
}
}
private void lbUser_SelectedValueChanged(object sender, EventArgs e)
{
SetupDetail();
}
private void SetupButtons()
{
if (_user != null)
{
btnSave.Enabled = _user.IsSavable;
btnCancel.Enabled = _user.IsDirty;
btnNew.Enabled = _user.IsValid;
btnGroups.Enabled = this.userMembershipsDataGridView.SelectedRows.Count > 0;
btnNewGA.Enabled = _gil.Count > this.userMembershipsDataGridView.Rows.Count;
btnRemoveGA.Enabled = this.userMembershipsDataGridView.SelectedRows.Count > 0;
}
else
{
btnSave.Enabled = false;
btnCancel.Enabled = false;
btnNew.Enabled = true;
btnGroups.Enabled = false;
btnNewGA.Enabled = false;
btnRemoveGA.Enabled = false;
}
}
private void CurrentItemChanged(object sender, EventArgs e)
{
SetupButtons();
}
private void btnCancel_Click(object sender, EventArgs e)
{
Cancel();
}
private void btnSave_Click(object sender, EventArgs e)
{
Save();
}
private void btnNew_Click(object sender, EventArgs e)
{
New();
}
private void Cancel()
{
_user.CancelEdit();
//if (_user.IsDirty)
//{
// foreach (UserMembership m in _user.UserMemberships)
// if(m.IsDirty)
// m.CancelEdit();
//}
_user.BeginEdit();
}
private void Save()
{
userBindingSource.RaiseListChangedEvents = false;
userMembershipsBindingSource.RaiseListChangedEvents = false;
userBindingSource.EndEdit();
userMembershipsBindingSource.EndEdit();
try
{
User temp = _user.Clone();
_user = temp.Save();
_user.BeginEdit();
userBindingSource.DataSource = null;
userMembershipsBindingSource.DataSource = null;
int uid = _user.UID;
userInfoListBindingSource.DataSource = UserInfoList.Get();
if (lbUsers.SelectedIndex == -1)
lbUsers.SelectedValue = uid;
userBindingSource.DataSource = _user;
userMembershipsBindingSource.DataSource = _user.UserMemberships;
}
catch (Csla.DataPortalException ex)
{
MessageBox.Show(ex.BusinessException.ToString(),
"Error saving", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error saving",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
finally
{
userBindingSource.RaiseListChangedEvents = true;
userMembershipsBindingSource.RaiseListChangedEvents = true;
userBindingSource.ResetBindings(false);
userMembershipsBindingSource.ResetBindings(false);
}
SetupButtons();
}
public void New()
{
if (SaveAsNeeded() != DialogResult.Cancel)
{
_user = User.New();
userBindingSource.DataSource = _user;
userMembershipsBindingSource.DataSource = _user.UserMemberships;
lbUsers.SelectedIndex = -1;
}
}
private void btnGroups_Click(object sender, EventArgs e)
{
frmGroups fg = new frmGroups(GetGID());
fg.ShowDialog();
}
private void btnNewGA_Click(object sender, EventArgs e)
{
using (frmGroupSelect f = new frmGroupSelect())
{
f.ShowDialog();
if (f.DialogResult == DialogResult.OK)
{
_user.UserMemberships.Add(Group.Get(f.GID)); // TODO KBR - using
SetupButtons();
}
}
}
private int GetGID()
{
return int.Parse(userMembershipsDataGridView.SelectedRows[0].Cells[0].Value.ToString());
}
private void btnRemoveGA_Click(object sender, EventArgs e)
{
if (this.userMembershipsDataGridView.SelectedRows.Count > 0)
{
MessageBox.Show("Conversion Error");
//TODO: KBR _user.UserMemberships.Remove(GetGID());
}
}
private void userMembershipsDataGridView_SelectionChanged(object sender, EventArgs e)
{
SetupButtons();
}
private void btnStack_Click(object sender, EventArgs e)
{
_user.BeginEdit();
}
private void btnPop_Click(object sender, EventArgs e)
{
_user.CancelEdit();
}
}
}

View File

@@ -0,0 +1,174 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="cfgNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="configLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="courtesyTitleLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="firstNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="lastNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="middleNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="phoneNumberLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="suffixLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="userLoginLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="userNameLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="useridLabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="userInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="userBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>234, 17</value>
</metadata>
<metadata name="Gid.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Group_GroupName.UserAddedColumn" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="userMembershipsBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>404, 17</value>
</metadata>
<metadata name="groupInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>658, 17</value>
</metadata>
<metadata name="errorProvider1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 57</value>
</metadata>
</root>

View File

@@ -0,0 +1,117 @@
namespace WinApp
{
partial class frmUserSelect
{
/// <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();
this.lbUsers = new System.Windows.Forms.ListBox();
this.userInfoListBindingSource = new System.Windows.Forms.BindingSource(this.components);
this.panel1 = new System.Windows.Forms.Panel();
this.btnCancel = new System.Windows.Forms.Button();
this.btnOK = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.userInfoListBindingSource)).BeginInit();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// lbUsers
//
this.lbUsers.DataSource = this.userInfoListBindingSource;
this.lbUsers.DisplayMember = "FullName";
this.lbUsers.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbUsers.FormattingEnabled = true;
this.lbUsers.ItemHeight = 16;
this.lbUsers.Location = new System.Drawing.Point(0, 0);
this.lbUsers.Name = "lbUsers";
this.lbUsers.Size = new System.Drawing.Size(292, 228);
this.lbUsers.TabIndex = 1;
this.lbUsers.ValueMember = "Uid";
//
// userInfoListBindingSource
//
this.userInfoListBindingSource.DataSource = typeof(VEPROMS.CSLA.Library.UserInfo);
//
// panel1
//
this.panel1.Controls.Add(this.btnCancel);
this.panel1.Controls.Add(this.btnOK);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 232);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(292, 28);
this.panel1.TabIndex = 2;
//
// btnCancel
//
this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnCancel.Dock = System.Windows.Forms.DockStyle.Left;
this.btnCancel.Location = new System.Drawing.Point(73, 0);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Size = new System.Drawing.Size(70, 28);
this.btnCancel.TabIndex = 3;
this.btnCancel.Text = "Cancel";
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// btnOK
//
this.btnOK.Dock = System.Windows.Forms.DockStyle.Left;
this.btnOK.Location = new System.Drawing.Point(0, 0);
this.btnOK.Name = "btnOK";
this.btnOK.Size = new System.Drawing.Size(73, 28);
this.btnOK.TabIndex = 2;
this.btnOK.Text = "OK";
this.btnOK.UseVisualStyleBackColor = true;
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// frmUserSelect
//
this.AcceptButton = this.btnOK;
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.btnCancel;
this.ClientSize = new System.Drawing.Size(292, 260);
this.Controls.Add(this.lbUsers);
this.Controls.Add(this.panel1);
this.Name = "frmUserSelect";
this.Text = "Select User";
this.Load += new System.EventHandler(this.frmUserSelect_Load);
((System.ComponentModel.ISupportInitialize)(this.userInfoListBindingSource)).EndInit();
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ListBox lbUsers;
private System.Windows.Forms.BindingSource userInfoListBindingSource;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.Button btnOK;
}
}

View File

@@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using VEPROMS.CSLA.Library;
using Csla;
namespace WinApp
{
public partial class frmUserSelect : Form
{
public frmUserSelect()
{
InitializeComponent();
}
private void frmUserSelect_Load(object sender, EventArgs e)
{
userInfoListBindingSource.DataSource = UserInfoList.Get();
}
public int UID
{
get { return (int) lbUsers.SelectedValue; }
}
private void btnOK_Click(object sender, EventArgs e)
{
Console.WriteLine("SelectedValue = {0}", lbUsers.SelectedValue);
DialogResult = DialogResult.OK;
}
private void btnCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
}
}

View File

@@ -0,0 +1,123 @@
<?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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="userInfoListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>