I figured out how to make it work, Figured i would share the code. If anything looks out of place or wrong please let me know.
if (e.Operation == XmlOperation.ValueChange)
{
//retrieve the values for the start and end Times
string W1SaturdayTimeInValue = e.Site.Value;
string W1SaturdayTimeOutValue = e.Site.SelectSingleNode("../my:W1SaturdayTimeIn", NamespaceManager).Value;
if (!String.IsNullOrEmpty(W1SaturdayTimeInValue) &&
!
string.IsNullOrEmpty(W1SaturdayTimeOutValue))
{
DateTime W1SaturdayTimeIn = e.Site.SelectSingleNode("../my:W1SaturdayTimeIn", NamespaceManager).ValueAsDateTime;
DateTime W1SaturdayTimeOut = e.Site.SelectSingleNode("../my:W1SaturdayTimeOut", NamespaceManager).ValueAsDateTime;
//retrieve the Totals field
XPathNavigator nodeNav = e.Site.SelectSingleNode("../my:W1-S-Total", NamespaceManager);
if (nodeNav.MoveToAttribute("nil", NamespaceManager.LookupNamespace("xsi")))
nodeNav.DeleteSelf();
//Retrieve and display Time Difference
TimeSpan diff = W1SaturdayTimeOut.Subtract(W1SaturdayTimeIn);
nodeNav.SetValue(diff.Hours.ToString() +
":" + diff.Minutes.ToString());
string time = e.Site.SelectSingleNode("../my:W1-S-Total", NamespaceManager).Value;
string[] Temp = time.Split(':');
e.Site.SelectSingleNode(
"../my:W1-S-Total", NamespaceManager).SetValue((int.Parse(Temp[0]) + (double.Parse(Temp[1]) / 60)).ToString("#.##"));