private static bool AddTime(ref RBCTimeData td)
		{
			//throw new NotImplementedException();
			using (var db = new RBCTimeDataContext()) {
				var newTd = Copy(td);
				db.RBCTimeDataItems.InsertOnSubmit(newTd);
				db.SubmitChanges();
				td.ItemID = newTd.ItemId;
				return td.ItemID >= 0;
			}
		}
		/// <summary>
		/// Adds or Updates the RBC Time.
		/// </summary>
		/// <param name="td">The Time Data to Add/Update. If the ItemId is -1 it will automatically add it.</param>
		/// <returns>[true] if successful, otherwise [false].</returns>
		public static bool AddOrUpdateTime(ref RBCTimeData td)
		{
			if (td.ItemID < 0) return AddTime(ref td);
			using (var db = new RBCTimeDataContext()) {
				try {
					int i = td.ItemID;
					var tdUpdate = db.RBCTimeDataItems.Single(s => s.ItemId == i);
					if (tdUpdate == null) return AddTime(ref td);

					tdUpdate.Minutes = td.Minutes;
					tdUpdate.Notes = td.Notes;
					tdUpdate.Date = td.Date;

					db.SubmitChanges();
					return true;

				} catch (InvalidOperationException) {
					return AddTime(ref td);
				} catch {
					return false;
				}
			}
		}
 public static bool DeleteTime(int ItemID)
 {
     if (ItemID < 0) return false;
     using (var db = new RBCTimeDataContext()) {
         try {
             var rtd = db.RBCTimeDataItems.Single(s => s.ItemId == ItemID);
             if (rtd == null) return false;
             db.RBCTimeDataItems.DeleteOnSubmit(rtd);
             db.SubmitChanges();
             return true;
         } catch { return false; }
     }
 }