nugsoft-commits Mailing List for nUGSoft
Brought to you by:
javery,
jimholmesoh
You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(187) |
Aug
(130) |
Sep
(13) |
Oct
(54) |
Nov
(83) |
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(10) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Jim H. <jim...@us...> - 2006-03-04 02:25:24
|
Update of /cvsroot/nugsoft/nugsoft/Libraries In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7972/Libraries Modified Files: nunit.framework.dll Log Message: Updated to NUnit v2.2.6 Index: nunit.framework.dll =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/Libraries/nunit.framework.dll,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsMon1XF and /tmp/cvsksVGhe differ |
|
From: Jim H. <jim...@us...> - 2006-02-01 21:53:22
|
Update of /cvsroot/nugsoft/nugsoft/Libraries In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13844/Libraries Modified Files: nunit.framework.dll Log Message: Updated to NUnit v2.2.6 Index: nunit.framework.dll =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/Libraries/nunit.framework.dll,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsrcpTnM and /tmp/cvsEetwLC differ |
|
From: James A. <ja...@us...> - 2006-01-11 03:40:42
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoftWeb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12424/nUGSoftWeb Modified Files: AdminNewMemberReview.aspx AdminNewMemberReview.aspx.cs Log Message: Index: AdminNewMemberReview.aspx.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/AdminNewMemberReview.aspx.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AdminNewMemberReview.aspx.cs 11 Jan 2006 03:29:56 -0000 1.3 --- AdminNewMemberReview.aspx.cs 11 Jan 2006 03:40:34 -0000 1.4 *************** *** 50,53 **** --- 50,57 ---- Person person = Person.Get<Person>(memberID); + //Get the checkbox value + CheckBox cb = (CheckBox)e.Item.FindControl("cbPostUnmoderated"); + person.UnmoderatedPost = cb.Checked; + person.Approved = (e.CommandName == "Approve"); person.Save(); Index: AdminNewMemberReview.aspx =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/AdminNewMemberReview.aspx,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AdminNewMemberReview.aspx 11 Jan 2006 03:29:55 -0000 1.3 --- AdminNewMemberReview.aspx 11 Jan 2006 03:40:34 -0000 1.4 *************** *** 13,16 **** --- 13,17 ---- <td>First Name</td> <td>Last Name</td> + <td>Post Unmoderated</td> <td>User Fate</td> </tr> *************** *** 20,24 **** <td><%# DataBinder.Eval(Container.DataItem, "FName") %></td> <td><%# DataBinder.Eval(Container.DataItem, "LName") %></td> ! <td> <asp:LinkButton ID="lbApprove" CommandName="Approve" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id") %>' runat="server">[approve]</asp:LinkButton> --- 21,25 ---- <td><%# DataBinder.Eval(Container.DataItem, "FName") %></td> <td><%# DataBinder.Eval(Container.DataItem, "LName") %></td> ! <td><asp:CheckBox runat="server" ID="cbPostUnmoderated" Checked='<%# DataBinder.Eval(Container.DataItem, "UnmoderatedPost") %>' /></td> <td> <asp:LinkButton ID="lbApprove" CommandName="Approve" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id") %>' runat="server">[approve]</asp:LinkButton> |
|
From: James A. <ja...@us...> - 2006-01-11 03:30:05
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoftWeb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10798/nUGSoftWeb Modified Files: AdminNewMemberReview.aspx AdminNewMemberReview.aspx.cs Registration.aspx.cs Log Message: Index: Registration.aspx.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/Registration.aspx.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Registration.aspx.cs 4 Dec 2005 04:04:42 -0000 1.3 --- Registration.aspx.cs 11 Jan 2006 03:29:56 -0000 1.4 *************** *** 74,78 **** //TODO: e-mail to member for verification //TODO: redirect ! throw new ArgumentException("Test error"); } else --- 74,78 ---- //TODO: e-mail to member for verification //TODO: redirect ! //throw new ArgumentException("Test error"); } else Index: AdminNewMemberReview.aspx =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/AdminNewMemberReview.aspx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AdminNewMemberReview.aspx 11 Jan 2006 02:22:07 -0000 1.2 --- AdminNewMemberReview.aspx 11 Jan 2006 03:29:55 -0000 1.3 *************** *** 7,11 **** </asp:Content> <asp:Content ID="Content1" ContentPlaceHolderID="mainContent" Runat="Server"> ! <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetUnapprovedMembers" TypeName="nUGSoft.Entities.Person" DataObjectTypeName="nUGSoft.Entities.Person" UpdateMethod="Update"></asp:ObjectDataSource> <asp:GridView ID="gvMembers" runat="server" DataSourceID="ObjectDataSource1" AutoGenerateColumns="False" OnRowUpdating="gvMembers_RowUpdating" OnDataBound="gvMembers_DataBound"> --- 7,40 ---- </asp:Content> <asp:Content ID="Content1" ContentPlaceHolderID="mainContent" Runat="Server"> ! <asp:Repeater ID="rMembers" runat="server" OnItemCommand="rMembers_ItemCommand"> ! <HeaderTemplate> ! <table> ! <tr> ! <td>First Name</td> ! <td>Last Name</td> ! <td>User Fate</td> ! </tr> ! </HeaderTemplate> ! <ItemTemplate> ! <tr> ! <td><%# DataBinder.Eval(Container.DataItem, "FName") %></td> ! <td><%# DataBinder.Eval(Container.DataItem, "LName") %></td> ! ! <td> ! <asp:LinkButton ID="lbApprove" CommandName="Approve" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id") %>' runat="server">[approve]</asp:LinkButton> ! <asp:LinkButton ID="lbDisapprove" OnClientClick="return confirm('Are you sure you want to banish this member to the depths of non-UG love?');" CommandName="Disapprove" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id") %>' runat="server">[disapprove]</asp:LinkButton> ! </td> ! </tr> ! </ItemTemplate> ! <FooterTemplate> ! </table> ! </FooterTemplate> ! </asp:Repeater> ! ! ! ! ! ! <%--<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetUnapprovedMembers" TypeName="nUGSoft.Entities.Person" DataObjectTypeName="nUGSoft.Entities.Person" UpdateMethod="Update"></asp:ObjectDataSource> <asp:GridView ID="gvMembers" runat="server" DataSourceID="ObjectDataSource1" AutoGenerateColumns="False" OnRowUpdating="gvMembers_RowUpdating" OnDataBound="gvMembers_DataBound"> *************** *** 29,33 **** </Columns> </asp:GridView> ! </asp:Content> --- 58,62 ---- </Columns> </asp:GridView> ! --%> </asp:Content> Index: AdminNewMemberReview.aspx.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/AdminNewMemberReview.aspx.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AdminNewMemberReview.aspx.cs 11 Jan 2006 02:22:07 -0000 1.2 --- AdminNewMemberReview.aspx.cs 11 Jan 2006 03:29:56 -0000 1.3 *************** *** 16,33 **** protected void Page_Load(object sender, EventArgs e) { ! } ! protected void gvMembers_RowUpdating(object sender, GridViewUpdateEventArgs e) { ! //get a Member type record from PersonType ! //assign current row's member type ! Console.WriteLine("here"); ! PersonType ptMember = PersonType.GetMemberRecord(); } ! protected void gvMembers_DataBound(object sender, EventArgs e) { } } --- 16,59 ---- protected void Page_Load(object sender, EventArgs e) { ! if (!IsPostBack) ! { ! LoadMembers(); ! } } ! private void LoadMembers() { ! rMembers.DataSource = Person.GetUnapprovedMembers(); ! rMembers.DataBind(); } ! ! ! //protected void gvMembers_RowUpdating(object sender, GridViewUpdateEventArgs e) ! //{ ! // //get a Member type record from PersonType ! // //assign current row's member type ! // Console.WriteLine("here"); ! // PersonType ptMember = PersonType.GetMemberRecord(); ! //} ! ! //protected void gvMembers_DataBound(object sender, EventArgs e) ! //{ ! ! //} ! ! protected void rMembers_ItemCommand(object source, RepeaterCommandEventArgs e) { + if (e.CommandName == "Approve" || e.CommandName == "Disapprove") + { + int memberID = Convert.ToInt32(e.CommandArgument); + Person person = Person.Get<Person>(memberID); + + person.Approved = (e.CommandName == "Approve"); + person.Save(); + //Refresh the data; + LoadMembers(); + } } } |
|
From: Jim H. <jim...@us...> - 2006-01-11 03:03:18
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Validation In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5611/nUGSoft.Entities/Validation Added Files: MaxBytes.cs Log Message: Initial add. --- NEW FILE: MaxBytes.cs --- using System; //using System.Reflection ; namespace nUGSoft.Entities.Validation { public class MaxBytesAttribute : ValidationBaseAttribute { int _bytes; public MaxBytesAttribute(int Bytes, bool isError, string errorMessage) : base(isError, errorMessage) { _bytes = Bytes; } public int Bytes { get { return _bytes; } } public override bool ValidateValue(object inputValue) { //All validators except the required field validator should //return true if the value is null if (inputValue != null) { byte[] bArr = inputValue as byte[]; if (bArr == null) { throw new ArgumentException("Input wasn't a ByteArray"); } else { if ( bArr.Length <= _bytes) return true; else return false; } } else { return true; } } public override string ErrorMessage { get { if (base.ErrorMessage != String.Empty) return String.Format(base.ErrorMessage, _bytes); else return String.Format("Size cannot exceed {0}", _bytes); } } } } |
|
From: Jim H. <jim...@us...> - 2006-01-11 02:22:17
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoftWeb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27922/nUGSoftWeb Modified Files: AdminNewMemberReview.aspx AdminNewMemberReview.aspx.cs Log Message: Changed to BE object for data type Index: AdminNewMemberReview.aspx.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/AdminNewMemberReview.aspx.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AdminNewMemberReview.aspx.cs 4 Dec 2005 04:01:29 -0000 1.1 --- AdminNewMemberReview.aspx.cs 11 Jan 2006 02:22:07 -0000 1.2 *************** *** 10,13 **** --- 10,15 ---- using System.Web.UI.HtmlControls; + using nUGSoft.Entities; + public partial class AdminNewMemberReview : System.Web.UI.Page { *************** *** 16,18 **** --- 18,33 ---- } + + protected void gvMembers_RowUpdating(object sender, GridViewUpdateEventArgs e) + { + //get a Member type record from PersonType + //assign current row's member type + Console.WriteLine("here"); + PersonType ptMember = PersonType.GetMemberRecord(); + } + + protected void gvMembers_DataBound(object sender, EventArgs e) + { + + } } Index: AdminNewMemberReview.aspx =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/AdminNewMemberReview.aspx,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AdminNewMemberReview.aspx 4 Dec 2005 04:01:29 -0000 1.1 --- AdminNewMemberReview.aspx 11 Jan 2006 02:22:07 -0000 1.2 *************** *** 1,4 **** <%@ Page Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" ! CodeFile="AdminNewMemberReview.aspx.cs" Inherits="AdminNewMemberReview" ErrorPage="Errors.aspx" Title="New Member Review (Admin)" %> --- 1,4 ---- <%@ Page Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" ! CodeFile="AdminNewMemberReview.aspx.cs" Inherits="AdminNewMemberReview" Title="New Member Review (Admin)" %> *************** *** 8,28 **** <asp:Content ID="Content1" ContentPlaceHolderID="mainContent" Runat="Server"> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetUnapprovedMembers" ! TypeName="nUGSoft.Entities.Person" DataObjectTypeName="System.Collections.IList" UpdateMethod="UpdatePersonList"></asp:ObjectDataSource> ! <asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1" AutoGenerateColumns="False"> <Columns> ! <asp:BoundField DataField="FName" HeaderText="FName" SortExpression="FName" /> ! <asp:BoundField DataField="LName" HeaderText="LName" SortExpression="LName" /> <asp:BoundField DataField="EMail" HeaderText="EMail" SortExpression="EMail" /> ! <asp:BoundField DataField="DateJoined" HeaderText="DateJoined" SortExpression="DateJoined" /> <asp:BoundField DataField="PrimaryPhone" HeaderText="PrimaryPhone" SortExpression="PrimaryPhone" /> - <asp:BoundField DataField="AltPhone" HeaderText="AltPhone" SortExpression="AltPhone" /> <asp:BoundField DataField="HowFound" HeaderText="HowFound" SortExpression="HowFound" /> <asp:BoundField DataField="Bio" HeaderText="Bio" SortExpression="Bio" /> ! <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" /> <asp:BoundField DataField="WebsiteURL" HeaderText="WebsiteURL" SortExpression="WebsiteURL" /> <asp:BoundField DataField="BlogURL" HeaderText="BlogURL" SortExpression="BlogURL" /> - <asp:CheckBoxField DataField="UnmoderatedEvent" HeaderText="UnmoderatedEvent" SortExpression="UnmoderatedEvent" /> - <asp:CheckBoxField DataField="UnmoderatedPost" HeaderText="UnmoderatedPost" SortExpression="UnmoderatedPost" /> <asp:CheckBoxField DataField="Approved" HeaderText="Approved" SortExpression="Approved" /> </Columns> </asp:GridView> --- 8,30 ---- <asp:Content ID="Content1" ContentPlaceHolderID="mainContent" Runat="Server"> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetUnapprovedMembers" ! TypeName="nUGSoft.Entities.Person" DataObjectTypeName="nUGSoft.Entities.Person" UpdateMethod="Update"></asp:ObjectDataSource> ! <asp:GridView ID="gvMembers" runat="server" DataSourceID="ObjectDataSource1" AutoGenerateColumns="False" OnRowUpdating="gvMembers_RowUpdating" OnDataBound="gvMembers_DataBound"> <Columns> ! <asp:CommandField ShowEditButton="True" /> ! <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" /> ! <asp:BoundField DataField="AltPhone" HeaderText="AltPhone" SortExpression="AltPhone" /> ! <asp:CheckBoxField DataField="UnmoderatedEvent" HeaderText="UnmoderatedEvent" SortExpression="UnmoderatedEvent" /> <asp:BoundField DataField="EMail" HeaderText="EMail" SortExpression="EMail" /> ! <asp:BoundField DataField="LName" HeaderText="LName" SortExpression="LName" /> <asp:BoundField DataField="PrimaryPhone" HeaderText="PrimaryPhone" SortExpression="PrimaryPhone" /> <asp:BoundField DataField="HowFound" HeaderText="HowFound" SortExpression="HowFound" /> <asp:BoundField DataField="Bio" HeaderText="Bio" SortExpression="Bio" /> ! <asp:BoundField DataField="FName" HeaderText="FName" SortExpression="FName" /> ! <asp:CheckBoxField DataField="UnmoderatedPost" HeaderText="UnmoderatedPost" SortExpression="UnmoderatedPost" /> ! <asp:BoundField DataField="TopicsList" HeaderText="TopicsList" SortExpression="TopicsList" /> <asp:BoundField DataField="WebsiteURL" HeaderText="WebsiteURL" SortExpression="WebsiteURL" /> <asp:BoundField DataField="BlogURL" HeaderText="BlogURL" SortExpression="BlogURL" /> <asp:CheckBoxField DataField="Approved" HeaderText="Approved" SortExpression="Approved" /> + <asp:BoundField DataField="DateJoined" HeaderText="DateJoined" SortExpression="DateJoined" /> </Columns> </asp:GridView> |
|
From: Jim H. <jim...@us...> - 2006-01-11 02:19:57
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27307/nUGSoft.Entities Modified Files: nUGSoft.Entities.csproj Log Message: Added log4net reference. Index: nUGSoft.Entities.csproj =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/nUGSoft.Entities.csproj,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** nUGSoft.Entities.csproj 19 Nov 2005 23:43:41 -0000 1.4 --- nUGSoft.Entities.csproj 11 Jan 2006 02:19:49 -0000 1.5 *************** *** 29,32 **** --- 29,36 ---- </PropertyGroup> <ItemGroup> + <Reference Include="log4net, Version=1.2.9.0, Culture=neutral, PublicKeyToken=b32731d11ce58905"> + <SpecificVersion>False</SpecificVersion> + <HintPath>..\Libraries\log4net.dll</HintPath> + </Reference> <Reference Include="NHibernate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=154fdcb44c4484fc"> <SpecificVersion>False</SpecificVersion> *************** *** 77,80 **** --- 81,87 ---- <EmbeddedResource Include="Mapping Files\SubscriptionLink.hbm.xml" /> </ItemGroup> + <ItemGroup> + <None Include="ClassDiagram1.cd" /> + </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. |
|
From: Jim H. <jim...@us...> - 2006-01-11 02:19:22
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoftWeb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27132/nUGSoftWeb Modified Files: web.config Log Message: Added log4net configuration and load. Index: web.config =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/web.config,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** web.config 4 Dec 2005 04:02:49 -0000 1.3 --- web.config 11 Jan 2006 02:19:14 -0000 1.4 *************** *** 3,7 **** <configSections> <section name="nhibernate" ! type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </configSections> <appSettings> --- 3,12 ---- <configSections> <section name="nhibernate" ! type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" ! /> ! <section ! name="log4net" ! type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" ! /> </configSections> <appSettings> *************** *** 15,21 **** <add key="hibernate.connection.connection_string" value="server=localhost;database=nugsoft;Integrated Security=true;"/> </nhibernate> ! <system.web> ! <customErrors mode="On" defaultRedirect="errors.aspx" /> <compilation debug="true"/> </system.web> </configuration> --- 20,82 ---- <add key="hibernate.connection.connection_string" value="server=localhost;database=nugsoft;Integrated Security=true;"/> </nhibernate> ! ! <system.web> <compilation debug="true"/> </system.web> + <!-- + <customErrors mode="On" defaultRedirect="errors.aspx" /> + + --> + + <log4net> + <appender name="NHibernateFileLog" type="log4net.Appender.RollingFileAppender"> + <file value="Logs\nhibernate.txt" /> + <appendToFile value="true" /> + <rollingStyle value="Size" /> + <maxSizeRollBackups value="10" /> + <maximumFileSize value="1000KB" /> + <staticLogFileName value="true" /> + <layout type="log4net.Layout.PatternLayout"> + <conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" /> + </layout> + </appender> + + <appender name="GeneralLog" type="log4net.Appender.RollingFileAppender"> + <file value="Logs\general.txt" /> + <appendToFile value="true" /> + <maximumFileSize value="100KB" /> + <rollingStyle value="Size" /> + <maxSizeRollBackups value="5" /> + <layout type="log4net.Layout.PatternLayout"> + <conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" /> + </layout> + </appender> + + <appender name="DataLog" type="log4net.Appender.RollingFileAppender"> + <file value="Logs\data.txt" /> + <appendToFile value="true" /> + <maximumFileSize value="100KB" /> + <rollingStyle value="Size" /> + <maxSizeRollBackups value="5" /> + <layout type="log4net.Layout.PatternLayout"> + <conversionPattern value="%d{HH:mm:ss.fff} [%t] %-5p %c - %m%n" /> + </layout> + </appender> + + + <root> + <level value="DEBUG"/> + <appender-ref ref="GeneralLog" /> + </root> + + <logger name="NHibernate" additivity="false"> + <level value="DEBUG"/> + <appender-ref ref="NHibernateFileLog"/> + </logger> + <logger name="Pushable.Data" additivity="false"> + <level value="DEBUG"/> + <appender-ref ref="DataLog"/> + </logger> + </log4net> + </configuration> |
|
From: Jim H. <jim...@us...> - 2006-01-11 02:19:22
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27132/nUGSoft.Entities Modified Files: Repository.cs Log Message: Added log4net configuration and load. Index: Repository.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Repository.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Repository.cs 29 Nov 2005 02:18:43 -0000 1.3 --- Repository.cs 11 Jan 2006 02:19:14 -0000 1.4 *************** *** 39,42 **** --- 39,43 ---- { Configuration cfg = new Configuration(); + log4net.Config.XmlConfigurator.Configure(); cfg.AddAssembly("nUGSoft.Entities"); factory = cfg.BuildSessionFactory(); |
|
From: Jim H. <jim...@us...> - 2006-01-11 02:18:27
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26628/nUGSoft.Entities Modified Files: Person.cs Log Message: Create new IList to return from GetUnapprovedMembers() Index: Person.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Person.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Person.cs 4 Dec 2005 20:49:33 -0000 1.6 --- Person.cs 11 Jan 2006 02:18:19 -0000 1.7 *************** *** 318,333 **** public static IList<Person> GetUnapprovedMembers() { ! PersonType member = PersonType.GetMemberRecord(); ! int id = member.Id; string hql = "from Person pers where " + id + " in elements(pers.PersonTypes)" + " and pers.Approved = 0"; ! return Person.Find<Person>(hql); } /// <summary> ! /// Updates the specified Person entity. Overridden in Person because ! /// ObjectDataConnector can't use EntityBase.Update(EntityBase ent). /// </summary> /// <param name="pers">The pers.</param> --- 318,336 ---- public static IList<Person> GetUnapprovedMembers() { ! PersonType pType = PersonType.GetMemberRecord(); ! int id = pType.Id; string hql = "from Person pers where " + id + " in elements(pers.PersonTypes)" + " and pers.Approved = 0"; ! //return Person.Find<Person>(hql); ! IList<Person> list = Person.Find<Person>(hql); ! return list; } + //TODO: fix dox here /// <summary> ! /// Updates the specified Person entity. Implemented separately in Person ! /// because ObjectDataConnector can't use EntityBase.Update(EntityBase ent). /// </summary> /// <param name="pers">The pers.</param> *************** *** 335,338 **** --- 338,354 ---- { EntityBase.Update(pers); + + //NHibernate.Cfg.Configuration config = new NHibernate.Cfg.Configuration(); + //config.AddAssembly("nUGSoft.Entities"); + + //NHibernate.ISessionFactory factory = config.BuildSessionFactory(); + //NHibernate.ISession session = factory.OpenSession(); + //NHibernate.ITransaction trans = session.BeginTransaction(); + + //session.Update(pers); + //trans.Commit(); + //session.Close(); + + } |
|
From: Jim H. <jim...@us...> - 2006-01-11 02:14:38
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25361/nUGSoft.Entities Modified Files: EntityBase.cs Log Message: Added default ctor to support ObjectDataSource Index: EntityBase.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/EntityBase.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** EntityBase.cs 4 Dec 2005 20:49:33 -0000 1.3 --- EntityBase.cs 11 Jan 2006 02:14:29 -0000 1.4 *************** *** 5,9 **** using System.Reflection; - using nUGSoft.Entities.Errors; using nUGSoft.Entities.Validation; --- 5,8 ---- *************** *** 14,17 **** --- 13,20 ---- public abstract class EntityBase { + + public EntityBase() + { + } #region IsModified Logic *************** *** 207,211 **** } } ! public static void Update(EntityBase ent) { --- 210,214 ---- } } ! public static void Update(EntityBase ent) { |
|
From: Jim H. <jim...@us...> - 2006-01-11 02:03:38
|
Update of /cvsroot/nugsoft/nugsoft In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22654 Modified Files: nUGSoft Architecture.vsd nUGSoft Data Model.vsd Log Message: Added in NHibernate for DAL, fixed a couple bogus relationships in data model. Index: nUGSoft Architecture.vsd =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft Architecture.vsd,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 Binary files /tmp/cvsU5hN3h and /tmp/cvsuMyqTH differ Index: nUGSoft Data Model.vsd =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft Data Model.vsd,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 Binary files /tmp/cvsRkdZAB and /tmp/cvsnwSUc2 differ |
|
From: Jim H. <jim...@us...> - 2005-12-04 20:49:41
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8744/nUGSoft.Entities Modified Files: EntityBase.cs Person.cs Log Message: Got rid of Person.UpdateList and added EntityBase.Update(EntityBase) and Person.Update(Person). Need the override method in derived classes due to ObjectDataSource requirement. Index: Person.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Person.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** Person.cs 4 Dec 2005 04:00:22 -0000 1.5 --- Person.cs 4 Dec 2005 20:49:33 -0000 1.6 *************** *** 326,336 **** return Person.Find<Person>(hql); } ! ! public static void UpdatePersonList(IList list) { ! foreach (Person pers in list) ! { ! pers.Update(); ! } } --- 326,338 ---- return Person.Find<Person>(hql); } ! ! /// <summary> ! /// Updates the specified Person entity. Overridden in Person because ! /// ObjectDataConnector can't use EntityBase.Update(EntityBase ent). ! /// </summary> ! /// <param name="pers">The pers.</param> ! public void Update(Person pers) { ! EntityBase.Update(pers); } Index: EntityBase.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/EntityBase.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EntityBase.cs 29 Nov 2005 02:18:43 -0000 1.2 --- EntityBase.cs 4 Dec 2005 20:49:33 -0000 1.3 *************** *** 207,210 **** --- 207,226 ---- } } + + public static void Update(EntityBase ent) + { + if (!ent.IsValid) + { + throw new ValidationException(ent.ValidationErrors); + } + + using (Repository repository = new Repository()) + { + repository.Open(); + repository.BeginTransaction(); + repository.Update(ent); + repository.CommitTransaction(); + } + } /// <summary> |
|
From: Jim H. <jim...@us...> - 2005-12-04 20:45:39
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8127/nUGSoft.Entities.Tests Modified Files: nUGSoft.Entities.Tests.csproj Log Message: Added TestFactory Index: nUGSoft.Entities.Tests.csproj =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests/nUGSoft.Entities.Tests.csproj,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** nUGSoft.Entities.Tests.csproj 19 Nov 2005 23:43:41 -0000 1.3 --- nUGSoft.Entities.Tests.csproj 4 Dec 2005 20:45:27 -0000 1.4 *************** *** 59,62 **** --- 59,63 ---- <Compile Include="PostTypeTests.cs" /> <Compile Include="SampleData.cs" /> + <Compile Include="TestFactory.cs" /> </ItemGroup> <ItemGroup> |
|
From: Jim H. <jim...@us...> - 2005-12-04 20:44:31
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7894/nUGSoft.Entities.Tests Modified Files: PersonTests.cs Log Message: Cleaned up TearDown, added CheckUpdateWithParam() test, cleaned up RetrieveNewMembersTest so it deletes entities it creates, commented out UpdateList test since it's not used, refactored CheckDeleteOneMemberOfGroup to CheckNoCascadeDelete since that's what it really does anyway. Index: PersonTests.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests/PersonTests.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PersonTests.cs 4 Dec 2005 03:56:02 -0000 1.5 --- PersonTests.cs 4 Dec 2005 20:44:22 -0000 1.6 *************** *** 74,85 **** person = (Person)Person.Get<Person>(_person.Id); Assert.IsNull(person, "Entity was not deleted"); - - PersonType pType = (PersonType)PersonType.Get<PersonType>(_pType.Id); - if (pType != null) - { - pType.Delete(); - pType = (PersonType)PersonType.Get<PersonType>(_pType.Id); - Assert.IsNull(pType, "PersonType Entity was not deleted"); - } } --- 74,77 ---- *************** *** 98,101 **** --- 90,107 ---- Assert.AreEqual(person.FName, "NewText", "Value not updated"); } + + /// <summary> + /// Checks the Person class Update(Person) method. + /// </summary> + [Test] + public void CheckUpdateWithParam() + { + Person person = (Person)Person.Get<Person>(_person.Id); + person.FName = "MoreNewText"; + person.Update(person); + + person = (Person)Person.Get<Person>(_person.Id); + Assert.AreEqual(person.FName, "MoreNewText", "Value not updated"); + } [Test] *************** *** 138,142 **** Assert.IsTrue(peeps.Contains(p2), "P2 Not in list"); Assert.IsFalse(peeps.Contains(p3), "P3 WAS in list"); ! } --- 144,151 ---- Assert.IsTrue(peeps.Contains(p2), "P2 Not in list"); Assert.IsFalse(peeps.Contains(p3), "P3 WAS in list"); ! ! p1.Delete(); ! p2.Delete(); ! p3.Delete(); } *************** *** 409,470 **** Assert.AreEqual(mem.TypeName, "Member", "Member type set failed"); } - - [Test] - public void CheckUpdateList() - { - Person p1 = TestFactory.CreateDefaultMember(); - Person p2 = TestFactory.CreateDefaultMember(); - p2.FName = "Bubba"; - Person p3 = TestFactory.CreateDefaultMember(); - p3.FName = "Goober"; - p1.Save(); - p2.Save(); - p3.Save(); ! p1.FName = "New Default"; ! p2.FName = "New Bubba"; ! p3.FName = "New Goober"; ! IList list = new ArrayList(); ! list.Add(p2); ! list.Add(p3); ! Person.UpdatePersonList(list); ! Person p1DB = (Person)Person.Get<Person>(p1.Id); ! Assert.AreEqual(false, p1.FName.Equals(p1DB.FName), "P1 Names match and shouldn't"); ! Person p2DB = (Person)Person.Get<Person>(p2.Id); ! Assert.AreEqual(p2.FName, p2DB.FName, "P2 Names don't match"); ! Person p3DB = (Person)Person.Get<Person>(p3.Id); ! Assert.AreEqual(p3.FName, p3DB.FName, "P3 Names don't match"); ! p1.Delete(); ! p2.Delete(); ! p3.Delete(); ! } /// <summary> ! /// Checks that deleting one member doesn't delete all members. ! /// (Ensures cascade deletes of Person members doesn't delete ! /// PersonType Member record) /// </summary> [Test] ! public void CheckDeleteOneMemberOfGroup() { Person p1 = TestFactory.CreateDefaultMember(); - Person p2 = TestFactory.CreateDefaultMember(); - p2.FName = "Bubba"; - Person p3 = TestFactory.CreateDefaultMember(); - p3.FName = "Goober"; - p1.Save(); - p2.Save(); - p3.Save(); p1.Delete(); ! Person p2DB = (Person)Person.Get<Person>(p2.Id); ! Assert.AreEqual(true, p2.Id == p2DB.Id, "IDs don't match"); ! p2.Delete(); ! p3.Delete(); } --- 418,475 ---- Assert.AreEqual(mem.TypeName, "Member", "Member type set failed"); } ! ///// <summary> ! ///// Checks that a list is correctly updated. ! ///// </summary> ! //[Test] ! //public void CheckUpdateList() ! //{ ! // Person p1 = TestFactory.CreateDefaultMember(); ! // Person p2 = TestFactory.CreateDefaultMember(); ! // p2.FName = "Bubba"; ! // Person p3 = TestFactory.CreateDefaultMember(); ! // p3.FName = "Goober"; ! ! // p1.Save(); ! // p2.Save(); ! // p3.Save(); ! ! // p1.FName = "New Default"; ! // p2.FName = "New Bubba"; ! // p3.FName = "New Goober"; ! // List<Person> list = new List<Person>(); ! // list.Add(p2); ! // list.Add(p3); ! // Person.UpdatePersonList(list); ! // Person p1DB = (Person)Person.Get<Person>(p1.Id); ! // Assert.AreEqual(false, p1.FName.Equals(p1DB.FName), "P1 Names match and shouldn't"); ! // Person p2DB = (Person)Person.Get<Person>(p2.Id); ! // Assert.AreEqual(p2.FName, p2DB.FName, "P2 Names don't match"); ! // Person p3DB = (Person)Person.Get<Person>(p3.Id); ! // Assert.AreEqual(p3.FName, p3DB.FName, "P3 Names don't match"); ! // p1.Delete(); ! // p2.Delete(); ! // p3.Delete(); ! //} /// <summary> ! /// Checks that deletes of Person members doesn't cascade delete ! /// PersonType Member record. /// </summary> [Test] ! public void CheckNoCascadeDelete() { Person p1 = TestFactory.CreateDefaultMember(); p1.Save(); p1.Delete(); ! PersonType pType = ! (PersonType)PersonType.FindSingle<PersonType>("from PersonType pType where pType.TypeName = 'Member'"); ! Assert.AreEqual(false, pType == null, "Member record not found"); ! } |
|
From: Jim H. <jim...@us...> - 2005-12-04 04:04:50
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoftWeb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5057/nUGSoftWeb Modified Files: Registration.aspx Registration.aspx.cs Log Message: Added hook to error page, documentation, renamed checkphoto method. Index: Registration.aspx.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/Registration.aspx.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Registration.aspx.cs 20 Nov 2005 05:15:20 -0000 1.2 --- Registration.aspx.cs 4 Dec 2005 04:04:42 -0000 1.3 *************** *** 21,24 **** --- 21,28 ---- } + + /// <summary> + /// Saves the membership form's data. + /// </summary> private void SaveData() { *************** *** 41,45 **** ! if (false == IsValidPhoto(member)) { //TODO: handle error --- 45,49 ---- ! if (false == ProcessPhoto(member)) { //TODO: handle error *************** *** 70,73 **** --- 74,78 ---- //TODO: e-mail to member for verification //TODO: redirect + throw new ArgumentException("Test error"); } else *************** *** 78,85 **** } ! private bool IsValidPhoto(Person member) { if (FileUpload1.HasFile) { string filename = FileUpload1.FileName; string ext = System.IO.Path.GetExtension(filename).ToLower(); --- 83,96 ---- } ! /// <summary> ! /// Processes the photo, checking for correct extension and adds it to member record. ! /// </summary> ! /// <param name="member">The member to attach a valid photo to.</param> ! /// <returns>True if processed, false if not.</returns> ! private bool ProcessPhoto(Person member) { if (FileUpload1.HasFile) { + //TODO: Add check of array to see if it's really a supported format? string filename = FileUpload1.FileName; string ext = System.IO.Path.GetExtension(filename).ToLower(); Index: Registration.aspx =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/Registration.aspx,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Registration.aspx 20 Nov 2005 05:15:20 -0000 1.2 --- Registration.aspx 4 Dec 2005 04:04:42 -0000 1.3 *************** *** 1,3 **** ! <%@ Page Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" CodeFile="Registration.aspx.cs" Inherits="Registration" Title="Untitled Page" %> <%@ Register Assembly="nUGSoft.Controls" Namespace="nUGSoft.Controls" TagPrefix="cc1" %> --- 1,5 ---- ! <%@ Page Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" ! CodeFile="Registration.aspx.cs" Inherits="Registration" Title="New Memeber Registration" ! ErrorPage="Errors.aspx" %> <%@ Register Assembly="nUGSoft.Controls" Namespace="nUGSoft.Controls" TagPrefix="cc1" %> |
|
From: Jim H. <jim...@us...> - 2005-12-04 04:02:58
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoftWeb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4417/nUGSoftWeb Modified Files: web.config Log Message: Added customerror section pointing to new error file. Index: web.config =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoftWeb/web.config,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** web.config 19 Nov 2005 21:06:21 -0000 1.2 --- web.config 4 Dec 2005 04:02:49 -0000 1.3 *************** *** 2,6 **** <configuration> <configSections> ! <section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </configSections> <appSettings> --- 2,7 ---- <configuration> <configSections> ! <section name="nhibernate" ! type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </configSections> <appSettings> *************** *** 15,17 **** </nhibernate> <system.web> ! <compilation debug="true"/></system.web></configuration> --- 16,21 ---- </nhibernate> <system.web> ! <customErrors mode="On" defaultRedirect="errors.aspx" /> ! <compilation debug="true"/> ! </system.web> ! </configuration> |
|
From: Jim H. <jim...@us...> - 2005-12-04 04:01:38
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoftWeb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4059/nUGSoftWeb Added Files: AdminNewMemberReview.aspx AdminNewMemberReview.aspx.cs Errors.aspx Errors.aspx.cs Log Message: Inital adds --- NEW FILE: AdminNewMemberReview.aspx.cs --- using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class AdminNewMemberReview : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } --- NEW FILE: Errors.aspx.cs --- using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Errors : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } } --- NEW FILE: Errors.aspx --- <%@ Page Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" CodeFile="Errors.aspx.cs" Inherits="Errors" Title="Errors" %> <asp:Content ID="Content1" ContentPlaceHolderID="headerContent" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="mainContent" Runat="Server"> There's a general error with the system. Please try again. <asp:Label ID="Label1" runat="server" Text="<p style=text-align:center>Test this text</p>" Height="144px" Width="442px"></asp:Label> </asp:Content> --- NEW FILE: AdminNewMemberReview.aspx --- <%@ Page Language="C#" MasterPageFile="~/Main.master" AutoEventWireup="true" CodeFile="AdminNewMemberReview.aspx.cs" Inherits="AdminNewMemberReview" ErrorPage="Errors.aspx" Title="New Member Review (Admin)" %> <%@ Register Assembly="nUGSoft.Controls" Namespace="nUGSoft.Controls" TagPrefix="cc1" %> <asp:Content ID="Content2" ContentPlaceHolderID="headerContent" Runat="Server"> </asp:Content> <asp:Content ID="Content1" ContentPlaceHolderID="mainContent" Runat="Server"> <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetUnapprovedMembers" TypeName="nUGSoft.Entities.Person" DataObjectTypeName="System.Collections.IList" UpdateMethod="UpdatePersonList"></asp:ObjectDataSource> <asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1" AutoGenerateColumns="False"> <Columns> <asp:BoundField DataField="FName" HeaderText="FName" SortExpression="FName" /> <asp:BoundField DataField="LName" HeaderText="LName" SortExpression="LName" /> <asp:BoundField DataField="EMail" HeaderText="EMail" SortExpression="EMail" /> <asp:BoundField DataField="DateJoined" HeaderText="DateJoined" SortExpression="DateJoined" /> <asp:BoundField DataField="PrimaryPhone" HeaderText="PrimaryPhone" SortExpression="PrimaryPhone" /> <asp:BoundField DataField="AltPhone" HeaderText="AltPhone" SortExpression="AltPhone" /> <asp:BoundField DataField="HowFound" HeaderText="HowFound" SortExpression="HowFound" /> <asp:BoundField DataField="Bio" HeaderText="Bio" SortExpression="Bio" /> <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" /> <asp:BoundField DataField="WebsiteURL" HeaderText="WebsiteURL" SortExpression="WebsiteURL" /> <asp:BoundField DataField="BlogURL" HeaderText="BlogURL" SortExpression="BlogURL" /> <asp:CheckBoxField DataField="UnmoderatedEvent" HeaderText="UnmoderatedEvent" SortExpression="UnmoderatedEvent" /> <asp:CheckBoxField DataField="UnmoderatedPost" HeaderText="UnmoderatedPost" SortExpression="UnmoderatedPost" /> <asp:CheckBoxField DataField="Approved" HeaderText="Approved" SortExpression="Approved" /> </Columns> </asp:GridView> </asp:Content> |
|
From: Jim H. <jim...@us...> - 2005-12-04 04:00:34
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3738/nUGSoft.Entities Modified Files: Person.cs Log Message: Fixed GetUnapprovedMembers, changed it to return IList<Person>. Added UpdatePersonList(). Added Equals() and ToString() Index: Person.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Person.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** Person.cs 22 Nov 2005 21:20:09 -0000 1.4 --- Person.cs 4 Dec 2005 04:00:22 -0000 1.5 *************** *** 1,8 **** --- 1,11 ---- using System; using System.Collections; + using System.Collections.Generic; // generated using NHibernate.class.cst, see http://www.intesoft.net/nhibernate for notes and latest version using nUGSoft.Entities.Validation; + using System.IO; + using System.Text; namespace nUGSoft.Entities *************** *** 34,38 **** private IList _events; private IList _eventsEventCreatorID; ! private IList _personTypes; private IList _posts; private IList _subscriptionLink; --- 37,41 ---- private IList _events; private IList _eventsEventCreatorID; ! private IList _personTypes; private IList _posts; private IList _subscriptionLink; *************** *** 313,322 **** /// </summary> /// <returns>IList of members needing approval.</returns> ! public static IList GetUnapprovedMembers() { ! string hql = "from Person pers where pers.PersonTypes.TypeName = 'Test'"; return Person.Find<Person>(hql); } #endregion } --- 316,479 ---- /// </summary> /// <returns>IList of members needing approval.</returns> ! public static IList<Person> GetUnapprovedMembers() { ! PersonType member = PersonType.GetMemberRecord(); ! int id = member.Id; ! ! string hql = "from Person pers where " + id + " in elements(pers.PersonTypes)" + ! " and pers.Approved = 0"; return Person.Find<Person>(hql); } + + public static void UpdatePersonList(IList list) + { + foreach (Person pers in list) + { + pers.Update(); + } + } + + /// <summary> + /// Compares this BE to another. + /// </summary> + /// <param name="right">Business Entity to compare.</param> + /// <returns>True if equal, false if not.</returns> + // NOTE: Adapted from Bill Wagner's "Effective C#". + public override bool Equals(object right) + { + //check null + if (right == null) + return false; + + if (object.ReferenceEquals(this, right)) + return true; + + if (this.GetType() != right.GetType()) + return false; + return ComparePersonMembers(this, right as Person); + } + + /// <summary> + /// Returns a text representation of this entity. Note that Photo is + /// not changed into a textual string, rather only its system type is + /// returned. + /// </summary> + /// <returns>A string containing each member of this entity.</returns> + public override string ToString() + { + TextWriter w = new StringWriter(); + string nl = w.NewLine; + StringBuilder sb = new StringBuilder(); + sb.Append(Id.ToString()); + sb.Append(nl); + sb.Append(FName.ToString()); + sb.Append(nl); + sb.Append(LName.ToString()); + sb.Append(nl); + sb.Append(EMail.ToString()); + sb.Append(nl); + sb.Append(DateJoined.ToString()); + sb.Append(nl); + sb.Append(Approved.ToString()); + sb.Append(nl); + sb.Append(HowFound.ToString()); + sb.Append(nl); + sb.Append(PrimaryPhone.ToString()); + sb.Append(nl); + sb.Append(AltPhone.ToString()); + sb.Append(nl); + sb.Append(TopicsList.ToString()); + sb.Append(nl); + sb.Append(WebsiteURL.ToString()); + sb.Append(nl); + sb.Append(BlogURL.ToString()); + sb.Append(nl); + sb.Append(Photo.ToString()); + sb.Append(nl); + sb.Append(Bio.ToString()); + sb.Append(nl); + sb.Append(UnmoderatedEvent.ToString() + nl); + sb.Append(nl); + sb.Append(UnmoderatedPost.ToString()); + + return sb.ToString(); + } + + + #endregion + + #region Private Methods + /// <summary> + /// Compares each member of the Person for equality. + /// </summary> + /// <param name="left">Person to compare.</param> + /// <param name="right">Person to compare.</param> + /// <returns>True if all members are equal, otherwise false.</returns> + private bool ComparePersonMembers(Person left, Person right) + { + if (left.FName != right.FName) + return false; + if (left.LName != right.LName) + return false; + if (left.EMail != right.EMail) + return false; + if (left.DateJoined != right.DateJoined) + return false; + if (left.Approved != right.Approved) + return false; + if (left.HowFound != right.HowFound) + return false; + if (left.PrimaryPhone != right.PrimaryPhone) + return false; + if (left.AltPhone != right.AltPhone) + return false; + if (left.TopicsList != right.TopicsList) + return false; + if (left.WebsiteURL != right.WebsiteURL) + return false; + if (left.BlogURL != right.BlogURL) + return false; + + + /* ************************** + byte array compares + *************************** */ + //check nulls first + if (left.Photo == null && right.Photo == null) { return true; } + if ((left.Photo == null && right.Photo != null) || + (right.Photo == null && left.Photo != null)) + { return false; } + //compare lengths + if (left.Photo.Length != right.Photo.Length) + return false; + + int i = 0; + //compare each array cell + while (i < left.Photo.Length && + (left.Photo[i] == right.Photo[i])) + { + i++; + } + //if all cells were equal, i is same as length + if (i != left.Photo.Length) + return false; + + if (left.Bio != right.Bio) + return false; + if (left.UnmoderatedEvent != right.UnmoderatedEvent) + return false; + if (left.UnmoderatedPost != right.UnmoderatedPost) + return false; + //if (!left.PersonTypes.Equals(right.PersonTypes)) + // return false; + + if (!PersonType.CompareLists(left.PersonTypes, right.PersonTypes)) + return false; + + + return true; + } + #endregion } |
|
From: Jim H. <jim...@us...> - 2005-12-04 03:57:14
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3137/nUGSoft.Entities.Tests Added Files: ConfigTests.cs Log Message: Quick test to ensure config files are read properly. --- NEW FILE: ConfigTests.cs --- using System; using System.Collections.Generic; using System.Text; using NUnit.Framework; namespace nUGSoft.Entities.Tests { [TestFixture] public class ConfigTests { [Test] public void CheckConfigFile() { Assert.AreEqual("1234567", System.Configuration.ConfigurationSettings.AppSettings["configCheck"]); } } } |
|
From: Jim H. <jim...@us...> - 2005-12-04 03:56:11
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3024/nUGSoft.Entities.Tests Modified Files: PersonTests.cs Log Message: Refactored out initializations to TestFactory class. Added comparator tests, update, delete of one from many. Index: PersonTests.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests/PersonTests.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PersonTests.cs 22 Nov 2005 21:20:09 -0000 1.4 --- PersonTests.cs 4 Dec 2005 03:56:02 -0000 1.5 *************** *** 38,47 **** try { ! _person = new Person(); ! _person.FName = "James"; ! _person.LName = "Avery"; ! _person.DateJoined = DateTime.Now; ! _person.Approved = true; ! _person.EMail = "ja...@in..."; _person.Save(); --- 38,42 ---- try { ! _person = TestFactory.CreateDefaultPerson(); _person.Save(); *************** *** 50,53 **** --- 45,63 ---- _pType.Save(); } + catch (NHibernate.ADOException ax) + { + //Violation of Unique Key is OK, die if other cause + string msg = ax.InnerException.Message; + if (!msg.Contains("Violation of UNIQUE KEY")) + { + Assert.Fail("Unexpected Inner Exception: " + msg); + } + else + { + //grab entity from db to load proper ID value + _pType = (PersonType)PersonType.FindSingle<PersonType>( + "from PersonType pType where pType.TypeName = 'Member'"); + } + } catch (Exception ex) { *************** *** 93,97 **** { //create a new person ! Person p1 = CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); --- 103,107 ---- { //create a new person ! Person p1 = TestFactory.CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); *************** *** 101,105 **** int p1ID = p1.Id; //create another new person ! Person p2 = CreateDefaultPerson(); p2.FName = "Different"; //associate with member --- 111,115 ---- int p1ID = p1.Id; //create another new person ! Person p2 = TestFactory.CreateDefaultPerson(); p2.FName = "Different"; //associate with member *************** *** 111,116 **** //create another new person ! Person p3 = CreateDefaultPerson(); ! p3.FName = "Different"; p3.Approved = true; //associate with member --- 121,126 ---- //create another new person ! Person p3 = TestFactory.CreateDefaultPerson(); ! p3.FName = "MoreDifferent"; p3.Approved = true; //associate with member *************** *** 122,127 **** //Create a list of Person ! IList peeps = new ArrayList(Person.GetUnapprovedMembers()); ! Assert.IsTrue(peeps.Contains(p1), "P1 Not in list"); Assert.IsTrue(peeps.Contains(p2), "P2 Not in list"); --- 132,138 ---- //Create a list of Person ! IList<Person> peeps = new List<Person>(Person.GetUnapprovedMembers()); ! ! Assert.IsTrue(peeps.Contains(p1), "P1 Not in list"); Assert.IsTrue(peeps.Contains(p2), "P2 Not in list"); *************** *** 264,267 **** --- 275,397 ---- #endregion + + #region Comparator Tests + + /// <summary> + /// Checks Equals() methods work when default values are set in entity. + /// Written after finding comparison of Photo failed when member was null. + /// </summary> + [Test] + public void CheckEqualsDefaultValuesPasses() + { + Person left = new Person(); + Person right = new Person(); + Assert.AreEqual(true, left.Equals(right), "Equal with defaults"); + + } + + /// <summary> + /// Checks Equals() methods work when default values are set in entity. + /// Written after finding comparison of Photo failed when member was null. + /// </summary> + [Test] + public void CheckEqualsPhotosNullsFails() + { + Person left = new Person(); + Person right = new Person(); + + byte[] ba = new byte[1]; + ba[0] = 0xA; + right.Photo = ba; + Assert.AreEqual(false, left.Equals(right), "Right.Photo not null"); + + right.Photo = null; + left.Photo = ba; + Assert.AreEqual(false, left.Equals(right), "Left.Photo not null"); + + } + + [Test] + public void CheckEqualsPasses() + { + + Person left = TestFactory.CreateDefaultPerson(); + Person right = TestFactory.CreateDefaultPerson(); + Assert.AreEqual(true, left.Equals(right), "Left/Right Equal"); + + } + [Test] + public void CheckEqualsFails() + { + + Person left = TestFactory.CreateDefaultPerson(); + Person right = TestFactory.CreateDefaultPerson(); + + right = TestFactory.CreateDefaultPerson(); + right.FName = "bogus"; + Assert.AreEqual(false, left.Equals(right), "FName invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.LName = "bogus"; + Assert.AreEqual(false, left.Equals(right), "LName invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.EMail = "bogus"; + Assert.AreEqual(false, left.Equals(right), "E-mail invalid"); + + right = TestFactory.CreateDefaultPerson(); + + DateTime tmp = DateTime.Now; + right.DateJoined = tmp.AddHours(2); + Assert.AreEqual(false, left.Equals(right), "DateJoined invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.Approved = true; + Assert.AreEqual(false, left.Equals(right), "IsApproved invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.HowFound = "bogus"; + Assert.AreEqual(false, left.Equals(right), "HowFound invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.PrimaryPhone = "bogus"; + Assert.AreEqual(false, left.Equals(right), "PrimaryPhone invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.AltPhone = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Alt Phone invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.TopicsList = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Topics invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.WebsiteURL = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Website invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.BlogURL = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Blog invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.Photo[0] = 0x6; + Assert.AreEqual(false, left.Equals(right), "Photo invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.Bio = "bogus"; + Assert.AreEqual(false, left.Equals(right), "Bio invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.UnmoderatedEvent = true; + Assert.AreEqual(false, left.Equals(right), "IsUnmodEvent invalid"); + + right = TestFactory.CreateDefaultPerson(); + right.UnmoderatedPost = true; + Assert.AreEqual(false, left.Equals(right), "IsUnmodPost invalid"); + + } + + + #endregion /// <summary> *************** *** 273,277 **** { //create a new person ! Person p1 = CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); --- 403,407 ---- { //create a new person ! Person p1 = TestFactory.CreateDefaultPerson(); //associate with "Member" p1.PersonTypes.Add(PersonType.GetMemberRecord()); *************** *** 280,303 **** } ! ! #region Private support methods /// <summary> ! /// Creates a default person for testing. /// </summary> ! /// <returns>Person with default settings.</returns> ! private Person CreateDefaultPerson() { ! Person p = new Person(); ! p.FName = "First"; ! p.LName = "Last"; ! p.EMail = "Fi...@La..."; ! p.DateJoined = DateTime.Today; ! p.Approved = false; ! return p; } - #endregion - } } --- 410,472 ---- } ! [Test] ! public void CheckUpdateList() ! { ! Person p1 = TestFactory.CreateDefaultMember(); ! Person p2 = TestFactory.CreateDefaultMember(); ! p2.FName = "Bubba"; ! Person p3 = TestFactory.CreateDefaultMember(); ! p3.FName = "Goober"; ! ! p1.Save(); ! p2.Save(); ! p3.Save(); ! ! p1.FName = "New Default"; ! p2.FName = "New Bubba"; ! p3.FName = "New Goober"; ! ! IList list = new ArrayList(); ! list.Add(p2); ! list.Add(p3); ! ! Person.UpdatePersonList(list); ! ! Person p1DB = (Person)Person.Get<Person>(p1.Id); ! Assert.AreEqual(false, p1.FName.Equals(p1DB.FName), "P1 Names match and shouldn't"); ! Person p2DB = (Person)Person.Get<Person>(p2.Id); ! Assert.AreEqual(p2.FName, p2DB.FName, "P2 Names don't match"); ! Person p3DB = (Person)Person.Get<Person>(p3.Id); ! Assert.AreEqual(p3.FName, p3DB.FName, "P3 Names don't match"); ! ! p1.Delete(); ! p2.Delete(); ! p3.Delete(); ! } /// <summary> ! /// Checks that deleting one member doesn't delete all members. ! /// (Ensures cascade deletes of Person members doesn't delete ! /// PersonType Member record) /// </summary> ! [Test] ! public void CheckDeleteOneMemberOfGroup() { ! Person p1 = TestFactory.CreateDefaultMember(); ! Person p2 = TestFactory.CreateDefaultMember(); ! p2.FName = "Bubba"; ! Person p3 = TestFactory.CreateDefaultMember(); ! p3.FName = "Goober"; ! ! p1.Save(); ! p2.Save(); ! p3.Save(); ! p1.Delete(); ! Person p2DB = (Person)Person.Get<Person>(p2.Id); ! Assert.AreEqual(true, p2.Id == p2DB.Id, "IDs don't match"); ! p2.Delete(); ! p3.Delete(); } } } |
|
From: Jim H. <jim...@us...> - 2005-12-04 03:53:55
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2800/nUGSoft.Entities.Tests Added Files: TestFactory.cs Log Message: Initial add. Class for factory initializations. --- NEW FILE: TestFactory.cs --- using System; using System.Collections.Generic; using System.Text; namespace nUGSoft.Entities.Tests { public class TestFactory { /// <summary> /// Creates a default person for testing. /// </summary> /// <returns>Person with default settings.</returns> public static Person CreateDefaultPerson() { Person p = new Person(); p.FName = "First"; p.LName = "Last"; p.EMail = "Fi...@La..."; p.DateJoined = DateTime.Today; p.Approved = false; p.HowFound = "Newsletter"; p.PrimaryPhone = "111-222-3333"; p.AltPhone = "444-555-6666"; p.TopicsList = ".NET, Web services"; p.WebsiteURL = "www.bugs.com"; p.BlogURL = "www.bugs.com/blog"; p.Photo = new byte[1]; p.Photo[0] = 0xF; p.UnmoderatedEvent = false; p.UnmoderatedPost = false; return p; } /// <summary> /// Creates a default Person with PersonType of "Member." /// </summary> /// <remarks>Person entity is not persisted.</remarks> /// <returns>Default Person of type "Member."</returns> public static Person CreateDefaultMember() { //new person, make 'em a member Person p = CreateDefaultPerson(); p.PersonTypes.Add(PersonType.GetMemberRecord()); return p; } public static Location CreateDefaultLocation() { Location loc = new Location(); loc.Name = "Location"; loc.Address1 = "Address 1"; loc.Address2 = "Address 2"; loc.Address3 = "Address 3"; loc.MapURLLink = "www.here.org"; return loc; } public static Event CreateDefaultEvent() { Event evt = new Event(); evt.Date = DateTime.Today; evt.Topic = "Topic"; evt.Speaker = "Speaker"; evt.IsGroupMeeting = true; evt.Description = "Meeting"; return evt; } } } |
|
From: Jim H. <jim...@us...> - 2005-12-04 03:28:48
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Mapping Files In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31839/nUGSoft.Entities/Mapping Files Modified Files: Person.hbm.xml PersonType.hbm.xml Log Message: Cascades should be "none" for many-to-many relationships. See 11.11. "Transitive persistence" of Hibernate dox. Index: Person.hbm.xml =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Mapping Files/Person.hbm.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Person.hbm.xml 29 Nov 2005 02:39:24 -0000 1.2 --- Person.hbm.xml 4 Dec 2005 03:28:40 -0000 1.3 *************** *** 53,57 **** </property> <!-- False lazy loads due to session handling --> ! <bag name="Events" table="Attendance" inverse="false" lazy="false" cascade="all"> <key> <column name="PersonID" sql-type="int" not-null="true"/> --- 53,57 ---- </property> <!-- False lazy loads due to session handling --> ! <bag name="Events" table="Attendance" inverse="false" lazy="false" cascade="none"> <key> <column name="PersonID" sql-type="int" not-null="true"/> *************** *** 61,65 **** </many-to-many> </bag> ! <bag name="EventsEventCreatorID" table="Event" inverse="true" lazy="false" cascade="all"> <key> <column name="EventCreatorID" sql-type="int" not-null="true"/> --- 61,65 ---- </many-to-many> </bag> ! <bag name="EventsEventCreatorID" table="Event" inverse="true" lazy="false" cascade="none"> <key> <column name="EventCreatorID" sql-type="int" not-null="true"/> *************** *** 68,72 **** </bag> ! <bag name="PersonTypes" table="PersonTypeLink" inverse="false" lazy="false" cascade="all"> <key> <column name="PersonID" sql-type="int" not-null="true"/> --- 68,72 ---- </bag> ! <bag name="PersonTypes" table="PersonTypeLink" inverse="false" lazy="false" cascade="none"> <key> <column name="PersonID" sql-type="int" not-null="true"/> *************** *** 77,86 **** </bag> <!-- ! <bag name="Posts" inverse="true" lazy="false" cascade="all"> <key column="PersonID"/> <one-to-many class="nUGSoft.Entities.Post, nUGSoft.Entities"/> </bag> --> ! <bag name="SubscriptionLinks" table="SubscriptionLink" inverse="true" lazy="false" cascade="all"> <key> <column name="PersonID" sql-type="int" not-null="true"/> --- 77,86 ---- </bag> <!-- ! <bag name="Posts" inverse="true" lazy="false" cascade="none"> <key column="PersonID"/> <one-to-many class="nUGSoft.Entities.Post, nUGSoft.Entities"/> </bag> --> ! <bag name="SubscriptionLinks" table="SubscriptionLink" inverse="true" lazy="false" cascade="none"> <key> <column name="PersonID" sql-type="int" not-null="true"/> Index: PersonType.hbm.xml =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities/Mapping Files/PersonType.hbm.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PersonType.hbm.xml 29 Nov 2005 02:23:22 -0000 1.2 --- PersonType.hbm.xml 4 Dec 2005 03:28:40 -0000 1.3 *************** *** 11,15 **** </property> ! <bag name="Persons" table="PersonTypeLink" inverse="false" lazy="true" cascade="all"> <key> <column name="PersonTypeID" sql-type="int" not-null="true"/> --- 11,15 ---- </property> ! <bag name="Persons" table="PersonTypeLink" inverse="false" lazy="true" cascade="none"> <key> <column name="PersonTypeID" sql-type="int" not-null="true"/> |
|
From: Jim H. <jim...@us...> - 2005-12-04 03:27:45
|
Update of /cvsroot/nugsoft/infozerk_templates In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31715 Modified Files: NHibernate.hbm.cst Log Message: Cascades should be "none" for many-to-many relationships. See 11.11. "Transitive persistence" of Hibernate dox. Index: NHibernate.hbm.cst =================================================================== RCS file: /cvsroot/nugsoft/infozerk_templates/NHibernate.hbm.cst,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NHibernate.hbm.cst 12 Nov 2005 02:06:21 -0000 1.1 --- NHibernate.hbm.cst 4 Dec 2005 03:27:37 -0000 1.2 *************** *** 51,55 **** <% foreach(TableKeySchema primaryKey in SourceTable.PrimaryKeys) { %> <% if (IsManyToManyTable(primaryKey.ForeignKeyTable)) { %> ! <bag<%= CollectionManyToManyNameAtt(primaryKey)%><%= CollectionTableAtt(primaryKey)%> inverse="false" lazy="true" cascade="all"> <key> <% foreach(ColumnSchema column in primaryKey.ForeignKeyMemberColumns) { %> --- 51,55 ---- <% foreach(TableKeySchema primaryKey in SourceTable.PrimaryKeys) { %> <% if (IsManyToManyTable(primaryKey.ForeignKeyTable)) { %> ! <bag<%= CollectionManyToManyNameAtt(primaryKey)%><%= CollectionTableAtt(primaryKey)%> inverse="false" lazy="true" cascade="none"> <key> <% foreach(ColumnSchema column in primaryKey.ForeignKeyMemberColumns) { %> |
|
From: Jim H. <jim...@us...> - 2005-11-29 03:37:12
|
Update of /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2079/nUGSoft.Entities.Tests Modified Files: EventTests.cs Log Message: Fixed init of IList members, fixed Initialize() to work with new unique constraints in DB (don't die if an entity is extant), cleaned up [TearDown] so all entities are deleted. Index: EventTests.cs =================================================================== RCS file: /cvsroot/nugsoft/nugsoft/nUGSoft.Entities.Tests/EventTests.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EventTests.cs 14 Nov 2005 03:15:13 -0000 1.2 --- EventTests.cs 29 Nov 2005 03:37:02 -0000 1.3 *************** *** 20,26 **** public EventTests() { ! } /// <summary> /// Initialize() is called once during test execution before --- 20,28 ---- public EventTests() { ! } + #region Fixture Infrastructure + /// <summary> /// Initialize() is called once during test execution before *************** *** 32,43 **** try { ! _event = new Event(); ! _event.Date = DateTime.Now; ! _event.IsGroupMeeting = false; ! _event.Topic = "Test Topic"; ! _event.Speaker = "Test Speaker"; ! _event.Description = "Test"; ! _event.Location = new Location(); ! _event.Location.Id = 1; _event.Save(); --- 34,83 ---- try { ! Person creator = TestFactory.CreateDefaultMember(); ! ! try ! { ! creator.Save(); ! } ! catch (NHibernate.ADOException ax) ! { ! //Violation of Unique Key is OK, die if other cause ! string msg = ax.InnerException.Message; ! if (!msg.Contains("Violation of UNIQUE KEY")) ! { ! Assert.Fail("Unexpected Inner Exception: " + msg); ! } ! else ! { ! //grab entity from db to load proper ID value ! creator = (Person)Person.FindSingle<Person>( ! "from Person pers where pers.FName = 'First'"); ! } ! } ! ! _event = TestFactory.CreateDefaultEvent(); ! Location loc = TestFactory.CreateDefaultLocation(); ! try ! { ! loc.Save(); ! } ! catch (NHibernate.ADOException ax) ! { ! //Violation of Unique Key is OK, die if other cause ! string msg = ax.InnerException.Message; ! if (!msg.Contains("Violation of UNIQUE KEY")) ! { ! Assert.Fail("Unexpected Inner Exception: " + msg); ! } ! else ! { ! //grab entity from db to load proper ID value ! loc = (Location)Location.FindSingle<Location>( ! "from Location loc where loc.Name = 'Location'"); ! } ! } ! ! _event.Location = loc; ! _event.PersonEventCreatorID = creator; _event.Save(); *************** *** 49,52 **** --- 89,118 ---- } + [TearDown] + public void DeleteEventTest() + { + Event evt = (Event)Event.Get<Event>(_event.Id); + int creatorID = evt.PersonEventCreatorID.Id; + int locationID = evt.Location.Id; + + if (evt != null) + { + evt.Delete(); + evt = (Event)EntityBase.Get<Event>(_event.Id); + Assert.IsNull(evt, "Entity was not deleted"); + } + Person creator = (Person)Person.Get<Person>(creatorID); + if (creator != null) + { + creator.Delete(); + } + Location loc = (Location) Location.Get<Location>(locationID); + if (loc != null) + { + loc.Delete(); + } + } + + #endregion [Test] *************** *** 61,64 **** --- 127,132 ---- } + #region Validation Tests + [Test] [ExpectedException(typeof(ValidationException))] *************** *** 89,105 **** ! ! ! ! [TearDown] ! public void DeleteEventTest() { ! Event evt = (Event)Event.Get<Event>(_event.Id); ! evt.Delete(); ! ! evt = (Event)Event.Get<Event>(_event.Id); ! Assert.IsNull(evt, "Entity was not deleted"); } } --- 157,177 ---- + #endregion ! /// <summary> ! /// Checks that adding a item to Persons of a default entity works properly. ! /// </summary> ! /// <remarks>Initially failed because IList members weren't init'd.</remarks> ! [Test] ! public void AddNewPersonItemToDefaultEvent() { ! //create a new persontype ! Event evt = new Event(); ! Person geek = new Person(); ! geek.FName = "Geek"; ! evt.Persons.Add(geek); ! Person check = evt.Persons[0] as Person; ! Assert.AreEqual(geek.FName, check.FName, "Check failed"); } } |