User: cmicali
Date: 06/08/31 16:37:48
Modified: documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain
TimeAllocationDaoImpl.cs TimecardDaoImpl.cs
TimecardImpl.cs UserDaoImpl.cs
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Service
TimeTrackingServiceImpl.cs
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.WebServices/App_Code
TimeTrackingService.cs
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_Code
DataSourceUtils.cs
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_WebReferences/TimeTrackingService
TimeTrackingService.disco
TimeTrackingService.discomap
TimeTrackingService.wsdl
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web
NewTimecardSetup.aspx NewTimecardSetup.aspx.cs
SearchTimecards.aspx TimecardDetails.aspx
TimecardDetails.aspx.cs Web.config
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/Style
global.css
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker
Northwind.TimeTracker.sln
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/mda/src/uml
Northwind.TimeTracker.Model.xmi
Added: documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Lib
RJS.Web.WebControl.PopCalendar.dll
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/PopCalendar2005/CSS
Classic.css
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/PopCalendar2005/CSS/Classic_Images
baddate.gif close.gif closedown.gif down.gif
drop1.gif drop2.gif left1.gif left2.gif right1.gif
right2.gif special.gif up.gif
documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/PopCalendar2005
Calendar.gif DisableCalendar.gif PopCalendar.js
PopCalendarFunctions.js
Log:
- Updated
Revision Changes Path
1.4 +31 -6 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/TimeAllocationDaoImpl.cs
Index: TimeAllocationDaoImpl.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/TimeAllocationDaoImpl.cs,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -w -r1.3 -r1.4
--- TimeAllocationDaoImpl.cs 29 Aug 2006 05:02:06 -0000 1.3
+++ TimeAllocationDaoImpl.cs 31 Aug 2006 23:37:46 -0000 1.4
@@ -37,13 +37,38 @@
/// </summary>
public override Northwind.TimeTracker.Domain.TimeAllocation TimeAllocationVOToEntity(Northwind.TimeTracker.VO.TimeAllocationVO timeAllocationVO)
{
- // VO to entity conversion
- Northwind.TimeTracker.Domain.TimeAllocation entity = Northwind.TimeTracker.Domain.TimeAllocation.Factory.newInstance();
-
+ Northwind.TimeTracker.Domain.TimeAllocation entity;
+ if (timeAllocationVO.Id > 0)
+ {
+ entity = this.Load(timeAllocationVO.Id);
+ }
+ else
+ {
+ entity = Northwind.TimeTracker.Domain.TimeAllocation.Factory.newInstance();
entity.Id = timeAllocationVO.Id;
- // entity.Task
- // entity.Timecard
- // entity.TimePeriod
+ }
+
+ if (timeAllocationVO.TaskId.HasValue)
+ {
+ entity.Task = this.TaskDao.Load(timeAllocationVO.TaskId.Value);
+ }
+
+ if (entity.TimePeriod == null)
+ {
+ entity.TimePeriod = TimePeriod.newInstance(timeAllocationVO.TimePeriodVO.StartTime, timeAllocationVO.TimePeriodVO.EndTime);
+ }
+ else
+ {
+ if (timeAllocationVO.TimePeriodVO.StartTime.HasValue)
+ {
+ entity.TimePeriod.StartTime = timeAllocationVO.TimePeriodVO.StartTime.Value;
+ }
+
+ if (timeAllocationVO.TimePeriodVO.EndTime.HasValue)
+ {
+ entity.TimePeriod.EndTime = timeAllocationVO.TimePeriodVO.EndTime.Value;
+ }
+ }
return entity;
1.5 +70 -7 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/TimecardDaoImpl.cs
Index: TimecardDaoImpl.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/TimecardDaoImpl.cs,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- TimecardDaoImpl.cs 29 Aug 2006 15:53:37 -0000 1.4
+++ TimecardDaoImpl.cs 31 Aug 2006 23:37:46 -0000 1.5
@@ -10,6 +10,7 @@
using NHibernate;
using NHibernate.Expression;
using System.Collections;
+using Northwind.TimeTracker.VO;
namespace Northwind.TimeTracker.Domain
@@ -99,16 +100,78 @@
/// </summary>
public override Northwind.TimeTracker.Domain.Timecard TimecardVOToEntity(Northwind.TimeTracker.VO.TimecardVO timecardVO)
{
- // VO to entity conversion
- Northwind.TimeTracker.Domain.Timecard entity = Northwind.TimeTracker.Domain.Timecard.Factory.newInstance();
+ Northwind.TimeTracker.Domain.Timecard entity;
+ if (timecardVO.Id > 0)
+ {
+ entity = this.Load(timecardVO.Id);
+ if (entity.Status != TimecardStatus.Draft)
+ {
+ throw new Exception("Unable to save Timecard in " + entity.Status.ToString() + " status");
+ }
+ }
+ else
+ {
+ entity = Northwind.TimeTracker.Domain.Timecard.Factory.newInstance();
+ entity.Status = TimecardStatus.Draft;
+ }
entity.Comments = timecardVO.Comments;
- entity.Id = timecardVO.Id;
entity.StartDate = timecardVO.StartDate;
- entity.Status = timecardVO.Status;
- // entity.Allocations
- // entity.Approver
- // entity.Submitter
+ entity.Approver = this.UserDao.FindByUsername(timecardVO.ApproverName);
+ entity.Submitter = this.UserDao.FindByUsername(timecardVO.SubmitterName);
+
+ // Update existing and remove missing allocations
+ ArrayList allocationsToRemove = new ArrayList();
+ foreach (TimeAllocation allocation in entity.Allocations)
+ {
+ bool existsInVo = false;
+ foreach (TimeAllocationVO allocationVO in timecardVO.Allocations)
+ {
+ if (allocation.Id == allocationVO.Id)
+ {
+ existsInVo = true;
+ // Allocation was found in VO list
+ // Update it
+ break;
+ }
+ }
+ if (!existsInVo)
+ {
+ // Allocation was not found in VO list
+ // Mark for removal
+ allocationsToRemove.Add(allocation);
+ }
+ }
+ // Remove all marked allocations
+ entity.Allocations.RemoveAll(allocationsToRemove);
+
+ ArrayList allocationsToAdd = new ArrayList();
+ // Add new allocations
+ foreach (TimeAllocationVO allocationVO in timecardVO.Allocations)
+ {
+ bool existsInEntity = false;
+ if (allocationVO.Id > 0)
+ {
+ foreach (TimeAllocation allocation in entity.Allocations)
+ {
+ if (allocationVO.Id == allocation.Id)
+ {
+ existsInEntity = true;
+ break;
+ }
+ }
+ }
+ if (!existsInEntity)
+ {
+ TimeAllocation newAllocation = this.TimeAllocationDao.TimeAllocationVOToEntity(allocationVO);
+ allocationsToAdd.Add(newAllocation);
+ }
+ }
+
+ foreach (TimeAllocation allocation in allocationsToAdd)
+ {
+ entity.AddTimeAllocation(allocation);
+ }
return entity;
1.2 +2 -2 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/TimecardImpl.cs
Index: TimecardImpl.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/TimecardImpl.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- TimecardImpl.cs 28 Aug 2006 04:22:17 -0000 1.1
+++ TimecardImpl.cs 31 Aug 2006 23:37:46 -0000 1.2
@@ -22,8 +22,8 @@
/// </summary>
public override void AddTimeAllocation(Northwind.TimeTracker.Domain.TimeAllocation timeAllocation)
{
- //${toDoTag} implement public void addTimeAllocation(Northwind.TimeTracker.Domain.TimeAllocation timeAllocation)
- throw new NotImplementedException("Northwind.TimeTracker.Domain.Timecard.addTimeAllocation(Northwind.TimeTracker.Domain.TimeAllocation timeAllocation) Not implemented!");
+ this.Allocations.Add(timeAllocation);
+ timeAllocation.Timecard = this;
}
}
1.3 +6 -1 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/UserDaoImpl.cs
Index: UserDaoImpl.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Domain/UserDaoImpl.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- UserDaoImpl.cs 29 Aug 2006 02:39:33 -0000 1.2
+++ UserDaoImpl.cs 31 Aug 2006 23:37:46 -0000 1.3
@@ -35,7 +35,10 @@
entity.IsActive,
entity.Comment,
entity.CreationDate,
- roles);
+ roles,
+ entity.FirstName,
+ entity.LastName);
+
return userVO;
}
@@ -54,6 +57,8 @@
entity.IsActive = userVO.IsActive;
entity.Comment = userVO.Comment;
entity.CreationDate = userVO.CreationDate;
+ entity.FirstName = userVO.FirstName;
+ entity.LastName = userVO.LastName;
return entity;
1.3 +37 -0 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Service/TimeTrackingServiceImpl.cs
Index: TimeTrackingServiceImpl.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Core/src/Northwind/TimeTracker/Service/TimeTrackingServiceImpl.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- TimeTrackingServiceImpl.cs 29 Aug 2006 05:02:07 -0000 1.2
+++ TimeTrackingServiceImpl.cs 31 Aug 2006 23:37:46 -0000 1.3
@@ -54,5 +54,42 @@
taskVos.CopyTo(voArray, 0);
return voArray;
}
+
+ protected override long HandleSaveTimecard(TimecardVO timecard)
+ {
+ Timecard entity = this.TimecardDao.TimecardVOToEntity(timecard);
+ entity.Status = TimecardStatus.Draft;
+ if (timecard.Id == 0)
+ {
+ this.TimecardDao.Create(entity);
+ }
+ else
+ {
+ this.TimecardDao.Update(entity);
+ }
+ return entity.Id;
+ }
+
+ protected override long HandleSubmitTimecard(TimecardVO timecard)
+ {
+ Timecard entity = this.TimecardDao.TimecardVOToEntity(timecard);
+ entity.Status = TimecardStatus.Submitted;
+ if (timecard.Id == 0)
+ {
+ this.TimecardDao.Create(entity);
+ }
+ else
+ {
+ this.TimecardDao.Update(entity);
+ }
+ return entity.Id;
+
+ }
+
+ protected override void HandleDeleteTimecard(long timecardId)
+ {
+ this.TimecardDao.Remove(timecardId);
+ }
+
}
}
1.3 +18 -0 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.WebServices/App_Code/TimeTrackingService.cs
Index: TimeTrackingService.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.WebServices/App_Code/TimeTrackingService.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- TimeTrackingService.cs 29 Aug 2006 05:02:07 -0000 1.2
+++ TimeTrackingService.cs 31 Aug 2006 23:37:46 -0000 1.3
@@ -63,5 +63,23 @@
return Service.GetAllTasks();
}
+ [WebMethod]
+ public long SaveTimecard(TimecardVO timecard)
+ {
+ return Service.SaveTimecard(timecard);
+ }
+
+ [WebMethod]
+ public long SubmitTimecard(TimecardVO timecard)
+ {
+ return Service.SubmitTimecard(timecard);
+ }
+
+ [WebMethod]
+ public void DeleteTimecard(long timecardId)
+ {
+ Service.DeleteTimecard(timecardId);
+ }
+
}
1.3 +40 -2 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_Code/DataSourceUtils.cs
Index: DataSourceUtils.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_Code/DataSourceUtils.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- DataSourceUtils.cs 29 Aug 2006 05:02:07 -0000 1.2
+++ DataSourceUtils.cs 31 Aug 2006 23:37:46 -0000 1.3
@@ -9,6 +9,7 @@
using System.Web.UI.HtmlControls;
using TimeTrackingService;
+using Northwind.TimeTracker.Web.Common;
/// <summary>
/// Summary description for DataSourceUtils
@@ -19,9 +20,46 @@
{
}
- public static MembershipUserCollection GetAllUsers()
+ public class TimeTrackerUser
{
- return Membership.GetAllUsers();
+ private string m_fullName;
+ private string m_username;
+ private long m_id;
+
+ public long Id
+ {
+ get { return m_id; }
+ set { m_id = value; }
+ }
+
+ public string Username
+ {
+ get { return m_username; }
+ set { m_username = value; }
+ }
+
+ public string FullName
+ {
+ get { return m_fullName; }
+ set { m_fullName = value; }
+ }
+ }
+
+
+ public static TimeTrackerUser[] GetAllUsers()
+ {
+ MembershipUserCollection membershipUsers = Membership.GetAllUsers();
+ TimeTrackerUser[] users = new TimeTrackerUser[membershipUsers.Count];
+ int i = 0;
+ foreach(DomainMembershipUser user in membershipUsers)
+ {
+ users[i] = new TimeTrackerUser();
+ users[i].FullName = user.UserVO.FirstName + " " + user.UserVO.LastName;
+ users[i].Username = user.UserVO.Username;
+ users[i].Id = user.UserVO.Id;
+ i++;
+ }
+ return users;
}
public static string[] GetAllStatuses()
1.2 +3 -3 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_WebReferences/TimeTrackingService/TimeTrackingService.disco
Index: TimeTrackingService.disco
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_WebReferences/TimeTrackingService/TimeTrackingService.disco,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- TimeTrackingService.disco 28 Aug 2006 04:22:20 -0000 1.1
+++ TimeTrackingService.disco 31 Aug 2006 23:37:46 -0000 1.2
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
- <contractRef ref="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx?wsdl" docRef="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
- <soap address="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" xmlns:q1="http://tempuri.org/" binding="q1:TimeTrackingServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
- <soap address="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" xmlns:q2="http://tempuri.org/" binding="q2:TimeTrackingServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
+ <contractRef ref="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx?wsdl" docRef="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
+ <soap address="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" xmlns:q1="http://tempuri.org/" binding="q1:TimeTrackingServiceSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
+ <soap address="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" xmlns:q2="http://tempuri.org/" binding="q2:TimeTrackingServiceSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
</discovery>
\ No newline at end of file
1.2 +2 -2 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_WebReferences/TimeTrackingService/TimeTrackingService.discomap
Index: TimeTrackingService.discomap
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_WebReferences/TimeTrackingService/TimeTrackingService.discomap,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- TimeTrackingService.discomap 28 Aug 2006 04:22:20 -0000 1.1
+++ TimeTrackingService.discomap 31 Aug 2006 23:37:46 -0000 1.2
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results>
- <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx?disco" filename="TimeTrackingService.disco" />
- <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx?wsdl" filename="TimeTrackingService.wsdl" />
+ <DiscoveryClientResult referenceType="System.Web.Services.Discovery.DiscoveryDocumentReference" url="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx?disco" filename="TimeTrackingService.disco" />
+ <DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx?wsdl" filename="TimeTrackingService.wsdl" />
</Results>
</DiscoveryClientResultsFile>
\ No newline at end of file
1.3 +124 -2 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_WebReferences/TimeTrackingService/TimeTrackingService.wsdl
Index: TimeTrackingService.wsdl
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/App_WebReferences/TimeTrackingService/TimeTrackingService.wsdl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- TimeTrackingService.wsdl 29 Aug 2006 05:02:07 -0000 1.2
+++ TimeTrackingService.wsdl 31 Aug 2006 23:37:46 -0000 1.3
@@ -115,6 +115,44 @@
<s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
</s:sequence>
</s:complexType>
+ <s:element name="SaveTimecard">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="timecard" type="tns:TimecardVO" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="SaveTimecardResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="1" maxOccurs="1" name="SaveTimecardResult" type="s:long" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="SubmitTimecard">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="0" maxOccurs="1" name="timecard" type="tns:TimecardVO" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="SubmitTimecardResponse">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="1" maxOccurs="1" name="SubmitTimecardResult" type="s:long" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="DeleteTimecard">
+ <s:complexType>
+ <s:sequence>
+ <s:element minOccurs="1" maxOccurs="1" name="timecardId" type="s:long" />
+ </s:sequence>
+ </s:complexType>
+ </s:element>
+ <s:element name="DeleteTimecardResponse">
+ <s:complexType />
+ </s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="FindTimecardsSoapIn">
@@ -135,6 +173,24 @@
<wsdl:message name="GetAllTasksSoapOut">
<wsdl:part name="parameters" element="tns:GetAllTasksResponse" />
</wsdl:message>
+ <wsdl:message name="SaveTimecardSoapIn">
+ <wsdl:part name="parameters" element="tns:SaveTimecard" />
+ </wsdl:message>
+ <wsdl:message name="SaveTimecardSoapOut">
+ <wsdl:part name="parameters" element="tns:SaveTimecardResponse" />
+ </wsdl:message>
+ <wsdl:message name="SubmitTimecardSoapIn">
+ <wsdl:part name="parameters" element="tns:SubmitTimecard" />
+ </wsdl:message>
+ <wsdl:message name="SubmitTimecardSoapOut">
+ <wsdl:part name="parameters" element="tns:SubmitTimecardResponse" />
+ </wsdl:message>
+ <wsdl:message name="DeleteTimecardSoapIn">
+ <wsdl:part name="parameters" element="tns:DeleteTimecard" />
+ </wsdl:message>
+ <wsdl:message name="DeleteTimecardSoapOut">
+ <wsdl:part name="parameters" element="tns:DeleteTimecardResponse" />
+ </wsdl:message>
<wsdl:portType name="TimeTrackingServiceSoap">
<wsdl:operation name="FindTimecards">
<wsdl:input message="tns:FindTimecardsSoapIn" />
@@ -148,6 +204,18 @@
<wsdl:input message="tns:GetAllTasksSoapIn" />
<wsdl:output message="tns:GetAllTasksSoapOut" />
</wsdl:operation>
+ <wsdl:operation name="SaveTimecard">
+ <wsdl:input message="tns:SaveTimecardSoapIn" />
+ <wsdl:output message="tns:SaveTimecardSoapOut" />
+ </wsdl:operation>
+ <wsdl:operation name="SubmitTimecard">
+ <wsdl:input message="tns:SubmitTimecardSoapIn" />
+ <wsdl:output message="tns:SubmitTimecardSoapOut" />
+ </wsdl:operation>
+ <wsdl:operation name="DeleteTimecard">
+ <wsdl:input message="tns:DeleteTimecardSoapIn" />
+ <wsdl:output message="tns:DeleteTimecardSoapOut" />
+ </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="TimeTrackingServiceSoap" type="tns:TimeTrackingServiceSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
@@ -178,6 +246,33 @@
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="SaveTimecard">
+ <soap:operation soapAction="http://tempuri.org/SaveTimecard" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="SubmitTimecard">
+ <soap:operation soapAction="http://tempuri.org/SubmitTimecard" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="DeleteTimecard">
+ <soap:operation soapAction="http://tempuri.org/DeleteTimecard" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
</wsdl:binding>
<wsdl:binding name="TimeTrackingServiceSoap12" type="tns:TimeTrackingServiceSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
@@ -208,13 +303,40 @@
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
+ <wsdl:operation name="SaveTimecard">
+ <soap12:operation soapAction="http://tempuri.org/SaveTimecard" style="document" />
+ <wsdl:input>
+ <soap12:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap12:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="SubmitTimecard">
+ <soap12:operation soapAction="http://tempuri.org/SubmitTimecard" style="document" />
+ <wsdl:input>
+ <soap12:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap12:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="DeleteTimecard">
+ <soap12:operation soapAction="http://tempuri.org/DeleteTimecard" style="document" />
+ <wsdl:input>
+ <soap12:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap12:body use="literal" />
+ </wsdl:output>
+ </wsdl:operation>
</wsdl:binding>
<wsdl:service name="TimeTrackingService">
<wsdl:port name="TimeTrackingServiceSoap" binding="tns:TimeTrackingServiceSoap">
- <soap:address location="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" />
+ <soap:address location="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" />
</wsdl:port>
<wsdl:port name="TimeTrackingServiceSoap12" binding="tns:TimeTrackingServiceSoap12">
- <soap12:address location="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" />
+ <soap12:address location="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
\ No newline at end of file
1.3 +14 -7 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/NewTimecardSetup.aspx
Index: NewTimecardSetup.aspx
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/NewTimecardSetup.aspx,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- NewTimecardSetup.aspx 29 Aug 2006 04:01:18 -0000 1.2
+++ NewTimecardSetup.aspx 31 Aug 2006 23:37:47 -0000 1.3
@@ -1,13 +1,12 @@
-<%@ Page Language="C#" MasterPageFile="~/Layout/Default.master" AutoEventWireup="true" CodeFile="NewTimecardSetup.aspx.cs" Inherits="NewTimecardSetup" Title="Untitled Page" %>
+<%@ Page Language="C#" MasterPageFile="~/Layout/Default.master" AutoEventWireup="true" CodeFile="NewTimecardSetup.aspx.cs" Inherits="NewTimecardSetup" Title="New Timecard Setup" %>
+
+<%@ Register Assembly="RJS.Web.WebControl.PopCalendar" Namespace="RJS.Web.WebControl"
+ TagPrefix="rjs" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<div class="menubar">
<ul>
- <li><a class="selected" href="Home.aspx">Home</a></li>
- <li class="first"><a href="TimecardDetails.aspx">Timecard Details</a></li>
- <li><a href="SearchTimecards.aspx">Search Timecards</a></li>
- <li><a href="ApproveTimecards.aspx">Approve Timecards</a></li>
- </ul>
+ <li><a class="selected" href="Home.aspx">Home</a></li><li class="first"><a href="TimecardDetails.aspx">Timecard Details</a></li><li><a href="SearchTimecards.aspx">Search Timecards</a></li><li><a href="ApproveTimecards.aspx">Approve Timecards</a></li></ul>
</div>
<div class="content">
@@ -16,8 +15,16 @@
<div class="fieldgroup">
<asp:Label runat="server" ID="lblStartDate" AssociatedControlID="txtStartDate" Text="Start Date" />
<asp:TextBox ID="txtStartDate" runat="server" />
+
+
+ <rjs:popcalendar id="PopCalendar1" runat="server" control="txtStartDate" format="mm dd yyyy"
+ from-date="2006-07-31" requireddate="True" selectweekend="False" separator="/"
+ shadow="True" showweeknumber="True" to-date="2050-12-31" weekend="Tuesday" weekenddays="6" Visible="true"></rjs:popcalendar>
+ <rjs:popcalendarmessagecontainer id="PopCalendarMessageContainer1" runat="server" Calendar="PopCalendar1"></rjs:popcalendarmessagecontainer>
+
+
<br /><br />
- <asp:LinkButton ID="btnNewTimecard" runat="server" CssClass="button" Text="Create New Timecard" />
+ <asp:LinkButton ID="btnNewTimecard" runat="server" CssClass="button" Text="Create New Timecard" OnClick="btnNewTimecard_Click" />
</div>
</div>
1.2 +9 -0 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/NewTimecardSetup.aspx.cs
Index: NewTimecardSetup.aspx.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/NewTimecardSetup.aspx.cs,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- NewTimecardSetup.aspx.cs 28 Aug 2006 04:22:21 -0000 1.1
+++ NewTimecardSetup.aspx.cs 31 Aug 2006 23:37:47 -0000 1.2
@@ -15,4 +15,13 @@
{
}
+
+ protected void btnNewTimecard_Click(object sender, EventArgs e)
+ {
+ Response.Redirect("TimecardDetails.aspx?StartDate=" + txtStartDate.Text);
+ }
+ protected void PopCalendar1_SelectionChanged(object sender, EventArgs e)
+ {
+ txtStartDate.Text = PopCalendar1.DateValue.ToString("d");
+ }
}
1.6 +11 -7 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/SearchTimecards.aspx
Index: SearchTimecards.aspx
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/SearchTimecards.aspx,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -w -r1.5 -r1.6
--- SearchTimecards.aspx 29 Aug 2006 15:53:37 -0000 1.5
+++ SearchTimecards.aspx 31 Aug 2006 23:37:47 -0000 1.6
@@ -1,4 +1,6 @@
<%@ Page Language="C#" MasterPageFile="~/Layout/Default.master" AutoEventWireup="true" CodeFile="SearchTimecards.aspx.cs" Inherits="SearchTimecards" Title="Search Timecards" %>
+<%@ Register Assembly="RJS.Web.WebControl.PopCalendar" Namespace="RJS.Web.WebControl"
+ TagPrefix="rjs" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:ObjectDataSource
@@ -39,12 +41,12 @@
<h2>Search Criteria</h2>
<h3>Submitter</h3>
- <asp:DropDownList ID="ddlSubmitter" runat="server" DataSourceID="AllUsersDataSource" DataTextField="UserName" DataValueField="ProviderUserKey" AppendDataBoundItems="true">
+ <asp:DropDownList ID="ddlSubmitter" runat="server" DataSourceID="AllUsersDataSource" DataTextField="FullName" DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="-- All --" Value=""/>
</asp:DropDownList>
<h3>Approver</h3>
- <asp:DropDownList ID="ddlApprover" runat="server" DataSourceID="AllUsersDataSource" DataTextField="UserName" DataValueField="ProviderUserKey" AppendDataBoundItems="true">
+ <asp:DropDownList ID="ddlApprover" runat="server" DataSourceID="AllUsersDataSource" DataTextField="FullName" DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="-- All --" Value=""/>
</asp:DropDownList>
@@ -56,13 +58,15 @@
<br /><br />
<h3>Start Date Minimum</h3>
<asp:TextBox ID="txtStartDateMin" runat="server" />
- <asp:RegularExpressionValidator ID="reqStartDateMin" runat="server"
- ValidationExpression="\d\d?/\d\d?/\d\d\d\d" ControlToValidate="txtStartDateMin" CssClass="tinytext"><br />Must be MM/DD/YYY format</asp:RegularExpressionValidator>
+
+ <rjs:popcalendar id="PopCalendar1" runat="server" Visible="true" weekenddays="6" weekend="Tuesday" to-date="2050-12-31" showweeknumber="True" shadow="True" separator="/" selectweekend="False" requireddate="False" from-date="2006-01-01" format="mm dd yyyy" control="txtStartDateMin"></rjs:popcalendar><br />
+ <rjs:popcalendarmessagecontainer id="PopCalendarMessageContainer1" runat="server" Calendar="PopCalendar1"></rjs:popcalendarmessagecontainer>
<h3>Start Date Maximum</h3>
<asp:TextBox ID="txtStartDateMax" runat="server" />
- <asp:RegularExpressionValidator ID="reqStartDateMax" runat="server"
- ValidationExpression="\d\d?/\d\d?/\d\d\d\d" ControlToValidate="txtStartDateMax" CssClass="tinytext"><br />Must be MM/DD/YYY format</asp:RegularExpressionValidator>
+
+ <rjs:popcalendar id="PopCalendar2" runat="server" Visible="true" weekenddays="6" weekend="Tuesday" to-date="2050-12-31" showweeknumber="True" shadow="True" separator="/" selectweekend="False" requireddate="False" from-date="2006-01-01" format="mm dd yyyy" control="txtStartDateMax"></rjs:popcalendar><br />
+ <rjs:popcalendarmessagecontainer id="PopCalendarMessageContainer2" runat="server" Calendar="PopCalendar2"></rjs:popcalendarmessagecontainer>
<br /><br />
<asp:LinkButton runat="server" ID="btnSearch" Text="Search" CssClass="button" OnClick="btnSearch_Click" />
1.4 +48 -22 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/TimecardDetails.aspx
Index: TimecardDetails.aspx
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/TimecardDetails.aspx,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -w -r1.3 -r1.4
--- TimecardDetails.aspx 29 Aug 2006 05:02:08 -0000 1.3
+++ TimecardDetails.aspx 31 Aug 2006 23:37:47 -0000 1.4
@@ -15,6 +15,8 @@
TypeName="DataSourceUtils">
</asp:ObjectDataSource>
+ <asp:HiddenField id="hdnTimecardId" runat="server" />
+
<div class="menubar">
<ul>
<li class="first">
@@ -48,9 +50,10 @@
<tr>
<td><asp:Label ID="lblSubmitter" runat="server" /></td>
<td>
- <asp:DropDownList ID="ddlApprover" runat="server" DataSourceID="AllUsersDataSource" DataTextField="UserName" DataValueField="ProviderUserKey" AppendDataBoundItems="true">
+ <asp:DropDownList ID="ddlApprover" runat="server" DataSourceID="AllUsersDataSource" DataTextField="FullName" DataValueField="Username" AppendDataBoundItems="true">
<asp:ListItem Text="-- Select --" Value=""/>
</asp:DropDownList>
+ <asp:RequiredFieldValidator ID="reqApprover" runat="server" ControlToValidate="ddlApprover">*</asp:RequiredFieldValidator>
</td>
<td><asp:Label ID="lblStatus" runat="server" /></td>
<td><asp:Label ID="lblStartDate" runat="server" /></td>
@@ -59,6 +62,9 @@
</asp:Panel>
<div class="timecard">
+
+ <asp:Repeater ID="rptAllocations" runat="server" >
+ <HeaderTemplate>
<table class="full_width">
<colgroup span="4" style="width:22%;" />
<colgroup span="1" style="width:12%;" />
@@ -69,13 +75,32 @@
<th>End</th>
<th>Task</th>
- <th class="align_center"><a class="button" href="">Delete</a></th>
+ <th class="align_center">
+ <asp:LinkButton ID="btnDeleteAllocation" runat="server" CssClass="button" Text="Delete" OnClick="btnDeleteAllocation_Click"/>
+ </th>
</tr>
</thead>
<tbody>
+ </HeaderTemplate>
+
+ <FooterTemplate>
</tbody>
</table>
+ </FooterTemplate>
+
+ <ItemTemplate>
+
+ <tr>
+ <td><%# ((DateTime)Eval("TimePeriodVO.StartTime")).ToString("d") %></td>
+ <td><%# ((DateTime)Eval("TimePeriodVO.StartTime")).ToString("t") %></td>
+ <td><%# ((DateTime)Eval("TimePeriodVO.EndTime")).ToString("t") %></td>
+ <td><%# ddlTasks.Items.FindByValue(Eval("TaskId").ToString()) %></td>
+ <td><center><asp:CheckBox ID="cbDelete" runat="server" /></center></td>
+ </tr>
+ </ItemTemplate>
+ </asp:Repeater>
+
<table class="add_allocation_table bordered_table full_width">
<colgroup span="4" style="width:22%;" />
@@ -83,28 +108,30 @@
<tbody>
<tr>
<td>
- <select name="date">
-
- <option value="0" selected="">06/05/2006</option>
- <option value="1">06/06/2006</option>
- <option value="2">06/07/2006</option>
- <option value="3">06/08/2006</option>
- <option value="4">06/09/2006</option>
- <option value="5">06/10/2006</option>
-
- <option value="6">06/11/2006</option>
- </select>
+ <asp:DropDownList ID="ddlDate" runat="server">
+ </asp:DropDownList>
+ </td>
+ <td>
+ <asp:TextBox ID="txtStartTime" runat="server" Columns="7" />
+ <asp:RequiredFieldValidator ID="reqStartTime" runat="server" ControlToValidate="txtStartTime" ValidationGroup="Add">*</asp:RequiredFieldValidator>
+ <asp:RegularExpressionValidator ID="reqStartTimeFmt" runat="server" ControlToValidate="txtStartTime" ValidationGroup="Add" ValidationExpression="\d\d?:\d\d A?P?M?">*</asp:RegularExpressionValidator>
+ </td>
+ <td>
+ <asp:TextBox ID="txtEndTime" runat="server" Columns="7" />
+ <asp:RequiredFieldValidator ID="reqEndTime" runat="server" ControlToValidate="txtEndTime" ValidationGroup="Add">*</asp:RequiredFieldValidator>
+ <asp:RegularExpressionValidator ID="reqEndTimeFmt" runat="server" ControlToValidate="txtEndTime" ValidationGroup="Add" ValidationExpression="\d\d?:\d\d A?P?M?">*</asp:RegularExpressionValidator>
</td>
- <td><input type="text" id="start" size="7" /></td>
- <td><input type="text" id="end" size="7" /></td>
<td>
<asp:DropDownList ID="ddlTasks" runat="server" DataSourceID="AllTasksDataSource" DataTextField="Name" DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="-- Select --" Value=""/>
</asp:DropDownList>
+ <asp:RequiredFieldValidator ID="reqTasks" runat="server" ControlToValidate="ddlTasks" ValidationGroup="Add">*</asp:RequiredFieldValidator>
</td>
- <td class="align_center"><a class="button" href="">Add</a></td>
+ <td class="align_center">
+ <asp:LinkButton ValidationGroup="Add" ID="btnAdd" runat="server" CssClass="button" Text="Add" OnClick="btnAdd_Click"/>
+ </td>
</tr>
</tbody>
@@ -118,11 +145,10 @@
<div>
<asp:LinkButton runat="server" ID="btnSave" Text="Save" CssClass="button" OnClick="btnSave_Click" />
- <asp:LinkButton runat="server" ID="btnDelete" Text="Delete" CssClass="button" OnClick="btnDelete_Click" />
+ <asp:LinkButton runat="server" ID="btnDelete" Text="Delete" CssClass="button" OnClick="btnDelete_Click" ValidationGroup="DeleteTimecard"/>
<asp:LinkButton runat="server" ID="btnSubmit" Text="Submit" CssClass="button" OnClick="btnSubmit_Click" />
</div>
</div>
</asp:Content>
-
1.3 +149 -2 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/TimecardDetails.aspx.cs
Index: TimecardDetails.aspx.cs
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/TimecardDetails.aspx.cs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- TimecardDetails.aspx.cs 29 Aug 2006 05:02:08 -0000 1.2
+++ TimecardDetails.aspx.cs 31 Aug 2006 23:37:47 -0000 1.3
@@ -10,19 +10,61 @@
using System.Web.UI.HtmlControls;
using TimeTrackingService;
+using Northwind.TimeTracker.Web.Common;
public partial class TimecardDetails : System.Web.UI.Page
{
+
+ protected ArrayList Allocations
+ {
+ get
+ {
+ if (ViewState["Allocations"] == null)
+ {
+ ViewState["Allocations"] = new ArrayList();
+ }
+ return (ArrayList)ViewState["Allocations"];
+ }
+ set
+ {
+ ViewState["Allocations"] = value;
+ }
+ }
+
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["TimecardId"] != null)
{
+ // We are displaying an existing timecard
+
long timecardId = long.Parse(Request.QueryString["TimecardId"]);
LoadTimecard(timecardId);
}
+ else if (Request.QueryString["StartDate"] != null)
+ {
+ // We are creating a new timecard
+ InitNewTimecard(DateTime.Parse(Request.QueryString["StartDate"]));
+ }
+ }
}
+
+ protected void InitNewTimecard(DateTime startDate)
+ {
+ Northwind.TimeTracker.VO.UserVO user = ((DomainMembershipUser)Membership.GetUser()).UserVO;
+ lblSubmitter.Text = user.FirstName + " " + user.LastName;
+ lblStartDate.Text = startDate.ToString("d");
+ lblStatus.Text = "New";
+ BuildStartDateDropdown(startDate);
+
+ hdnTimecardId.Value = "0";
+
+ btnDelete.Enabled = false;
+ btnDelete.CssClass = "disabledbutton";
+
+ rptAllocations.DataSource = Allocations;
+ rptAllocations.DataBind();
}
protected void LoadTimecard(long timecardId)
@@ -30,24 +72,129 @@
TimeTrackingService.TimeTrackingService service = new TimeTrackingService.TimeTrackingService();
TimeTrackingService.TimecardVO timecard = service.GetTimecard(timecardId);
+ ddlTasks.DataBind();
+ ddlApprover.DataBind();
+
lblSubmitter.Text = timecard.SubmitterName;
+ this.Title = timecard.ApproverName;
+ ListItem approverItem = ddlApprover.Items.FindByText(timecard.ApproverName);
+ if (approverItem != null)
+ {
+ approverItem.Selected = true;
+ }
+
lblStatus.Text = timecard.Status.ToString();
lblStartDate.Text = timecard.StartDate.Value.ToString("d");
txtComments.Text = timecard.Comments;
+ hdnTimecardId.Value = timecard.Id.ToString();
+
+ BuildStartDateDropdown(timecard.StartDate.Value);
+
+ foreach (TimeAllocationVO allocation in timecard.Allocations)
+ {
+ Allocations.Add(allocation);
}
+ rptAllocations.DataSource = Allocations;
+ rptAllocations.DataBind();
- protected void btnSave_Click(object sender, EventArgs e)
+
+ }
+
+ protected void BuildStartDateDropdown(DateTime startDate)
+ {
+ DateTime date = new DateTime(startDate.Year, startDate.Month, startDate.Day);
+ for(int i = 0; i<7; i++)
+ {
+ ddlDate.Items.Add(new ListItem(date.ToString("d"), i.ToString()));
+ date = date.AddDays(1);
+ }
+ }
+
+ protected TimecardVO GetTimecardVOFromForm()
{
+ TimecardVO timecard = new TimecardVO();
+ timecard.Id = long.Parse(hdnTimecardId.Value);
+ timecard.Allocations = new TimeAllocationVO[Allocations.Count];
+ Allocations.CopyTo(timecard.Allocations);
+ timecard.Comments = txtComments.Text;
+ timecard.SubmitterName = User.Identity.Name;
+ timecard.ApproverName = ddlApprover.SelectedItem.Value;
+ timecard.StartDate = DateTime.Parse(lblStartDate.Text);
+ return timecard;
+ }
+ protected void btnSave_Click(object sender, EventArgs e)
+ {
+ TimeTrackingService.TimeTrackingService service = new TimeTrackingService.TimeTrackingService();
+ TimecardVO timecard = GetTimecardVOFromForm();
+ timecard.Status = TimecardStatus.Draft;
+ long timecardId = service.SaveTimecard(timecard);
+ Response.Redirect("TimecardDetails.aspx?TimecardId=" + timecardId.ToString());
}
+
protected void btnDelete_Click(object sender, EventArgs e)
{
-
+ TimeTrackingService.TimeTrackingService service = new TimeTrackingService.TimeTrackingService();
+ service.DeleteTimecard(long.Parse(hdnTimecardId.Value));
+ Response.Redirect("Home.aspx");
}
+
protected void btnSubmit_Click(object sender, EventArgs e)
{
+ TimeTrackingService.TimeTrackingService service = new TimeTrackingService.TimeTrackingService();
+ TimecardVO timecard = GetTimecardVOFromForm();
+ timecard.Status = TimecardStatus.Submitted;
+ long timecardId = service.SubmitTimecard(timecard);
+ Response.Redirect("TimecardDetails.aspx?TimecardId=" + timecardId.ToString());
+ }
+
+ protected void btnAdd_Click(object sender, EventArgs e)
+ {
+ TimeAllocationVO allocation = new TimeAllocationVO();
+ allocation.TimePeriodVO = new TimePeriodVO();
+ allocation.TaskId = long.Parse(ddlTasks.SelectedValue);
+
+ txtStartTime.Text = txtStartTime.Text.Trim().ToUpper();
+ if (txtStartTime.Text.EndsWith("A") || txtStartTime.Text.EndsWith("P")) txtStartTime.Text += "M";
+ txtEndTime.Text = txtEndTime.Text.Trim().ToUpper();
+ if (txtEndTime.Text.EndsWith("A") || txtEndTime.Text.EndsWith("P")) txtEndTime.Text += "M";
+
+ try
+ {
+ string startDate = ddlDate.SelectedItem.Text + " " + txtStartTime.Text;
+ string endDate = ddlDate.SelectedItem.Text + " " + txtEndTime.Text;
+
+ allocation.TimePeriodVO.StartTime = DateTime.Parse(startDate);
+ allocation.TimePeriodVO.EndTime = DateTime.Parse(endDate);
+
+ Allocations.Add(allocation);
+ }
+ catch { }
+
+ rptAllocations.DataSource = Allocations;
+ rptAllocations.DataBind();
+ }
+
+ protected void btnDeleteAllocation_Click(object source, EventArgs e)
+ {
+ int i = 0;
+ foreach (RepeaterItem item in rptAllocations.Items)
+ {
+ CheckBox cbDelete = (CheckBox)item.FindControl("cbDelete");
+ if (cbDelete.Checked)
+ {
+ Allocations.RemoveAt(i);
+ }
+ else
+ {
+ i++;
+ }
+ }
+ rptAllocations.DataSource = Allocations;
+ rptAllocations.DataBind();
}
+
}
1.3 +4 -2 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/Web.config
Index: Web.config
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/Web.config,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- Web.config 29 Aug 2006 02:39:34 -0000 1.2
+++ Web.config 31 Aug 2006 23:37:47 -0000 1.3
@@ -10,7 +10,7 @@
<configuration>
<appSettings>
<add key="nhibernate.config" value="~/nhibernate.config"/>
- <add key="TimeTrackingService.TimeTrackingService" value="http://localhost:4773/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx"/>
+ <add key="TimeTrackingService.TimeTrackingService" value="http://localhost:3784/Northwind.TimeTracker.WebServices/TimeTrackingService.asmx"/>
</appSettings>
<connectionStrings/>
<system.web>
@@ -32,7 +32,9 @@
</providers>
</roleManager>
<compilation debug="true">
- </compilation>
+ <assemblies>
+ <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
+ <add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/></assemblies></compilation>
<!--
The <authentication> section enables configuration
of the security authentication mode used by
1.3 +14 -0 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/Style/global.css
Index: global.css
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.Web/Style/global.css,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -w -r1.2 -r1.3
--- global.css 29 Aug 2006 15:53:38 -0000 1.2
+++ global.css 31 Aug 2006 23:37:47 -0000 1.3
@@ -15,6 +15,8 @@
color: #DD6900;
}
+
+
a.button:link, a.button:visited, a.button:hover
{
padding: 2px 4px 2px 4px;
@@ -27,6 +29,18 @@
font-weight: bold;
}
+a.disabledbutton, a.disabledbutton:link, a.disabledbutton:visited, a.disabledbutton:hover
+{
+ padding: 2px 4px 2px 4px;
+ border: outset 2px #dddddd;
+ background-color: #dddddd;
+ text-decoration: none;
+ text-align: center;
+ color: #888888;
+ font-size: 0.8em;
+ font-weight: bold;
+}
+
.tinytext
{
font-size: 0.7em;
1.2 +2 -2 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.sln
Index: Northwind.TimeTracker.sln
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/Northwind.TimeTracker.sln,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -w -r1.1 -r1.2
--- Northwind.TimeTracker.sln 28 Aug 2006 04:22:24 -0000 1.1
+++ Northwind.TimeTracker.sln 31 Aug 2006 23:37:47 -0000 1.2
@@ -19,7 +19,7 @@
Release.AspNetCompiler.ForceOverwrite = "true"
Release.AspNetCompiler.FixedNames = "false"
Release.AspNetCompiler.Debug = "False"
- VWDPort = "3896"
+ VWDPort = "3781"
DefaultWebSiteLanguage = "Visual C#"
EndProjectSection
EndProject
@@ -40,7 +40,7 @@
Release.AspNetCompiler.ForceOverwrite = "true"
Release.AspNetCompiler.FixedNames = "false"
Release.AspNetCompiler.Debug = "False"
- VWDPort = "4773"
+ VWDPort = "3784"
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Northwind.TimeTracker.Web.Common", "Northwind.TimeTracker.Web.Common\Northwind.TimeTracker.Web.Common.csproj", "{7FE008D6-9835-45B8-B130-6587CC4B6379}"
1.5 +463 -354 plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/mda/src/uml/Northwind.TimeTracker.Model.xmi
Index: Northwind.TimeTracker.Model.xmi
===================================================================
RCS file: /cvsroot/andromdaplugins/plugins/documentation/samples/time-tracker-dotnet-maven2/Northwind.TimeTracker/mda/src/uml/Northwind.TimeTracker.Model.xmi,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -w -r1.4 -r1.5
--- Northwind.TimeTracker.Model.xmi 29 Aug 2006 05:02:08 -0000 1.4
+++ Northwind.TimeTracker.Model.xmi 31 Aug 2006 23:37:47 -0000 1.5
@@ -3,7 +3,7 @@
<!-- This xmi file is optimized for MagicDraw UML. Some references are not saved. -->
<!-- Change MagicDraw UML environment options property General->.Save Rich XMI -->
-<XMI xmi.version='1.2' timestamp='Tue Aug 29 00:48:53 EDT 2006' xmlns:UML='omg.org/UML/1.4'>
+<XMI xmi.version='1.2' timestamp='Thu Aug 31 19:03:00 EDT 2006' xmlns:UML='omg.org/UML/1.4'>
<XMI.header>
<XMI.documentation>
<XMI.exporter>MagicDraw UML</XMI.exporter>
@@ -75,6 +75,56 @@
<UML:Parameter xmi.id='_9_5_1_874026a_1156826449914_918676_364' kind='return' type='_9_5_1_874026a_1156376533391_931343_959'/>
</UML:BehavioralFeature.parameter>
</UML:Operation>
+ <UML:Operation xmi.id='_9_5_1_874026a_1157054617912_364872_468' name='SaveTimecard' visibility='public'>
+ <UML:BehavioralFeature.parameter>
+ <UML:Parameter xmi.id='_9_5_1_874026a_1157054627456_860851_470' name='timecard' type='_9_5_1_874026a_1156376533381_936385_939'/>
+ <UML:Parameter xmi.id='_9_5_1_874026a_1157054627456_794156_471' kind='return'>
+ <UML:Parameter.type>
+ <UML:Classifier href='andromda-profile-datatype-3.2-SNAPSHOT.xml.zip|_9_0_1fe00f9_1119336925531_238790_9'>
+ <XMI.extension xmi.extender='MagicDraw UML 9.5' xmi.extenderID='MagicDraw UML 9.5'>
+ <referentPath xmi.value='datatype::long'/>
+ </XMI.extension>
+ </UML:Classifier>
+ </UML:Parameter.type>
+ </UML:Parameter>
+ </UML:BehavioralFeature.parameter>
+ </UML:Operation>
+ <UML:Operation xmi.id='_9_5_1_874026a_1157054627546_357319_473' name='SubmitTimecard' visibility='public'>
+ <UML:BehavioralFeature.parameter>
+ <UML:Parameter xmi.id='_9_5_1_874026a_1157054656818_384841_475' name='timecard' type='_9_5_1_874026a_1156376533381_936385_939'/>
+ <UML:Parameter xmi.i...
[truncated message content] |