コード例 #1
0
        /// <summary>
        /// Updates the time.
        /// </summary>
        /// <param name="td">The td.</param>
        /// <returns>System.Int32.</returns>
        /// <exception cref="MyTimeDatabaseLib.TimeDataItemNotFoundException">Couldn't find the time data with that id.</exception>
        public static bool UpdateTime(ref TimeData td)
        {
            if (td.ItemId < 0)
            {
                return(AddTime(ref td));
            }
            int itemId = td.ItemId;

            using (var db = new TimeDataContext(TimeDataContext.DBConnectionString)) {
                try {
                    TimeDataItem tdi = db.TimeDataItems.Single(s => s.ItemId == itemId);

                    tdi.BibleStudies = td.BibleStudies;
                    tdi.Books        = td.Books;
                    tdi.Brochures    = td.Brochures;
                    tdi.Date         = td.Date;
                    tdi.Magazines    = td.Magazines;
                    tdi.Minutes      = td.Minutes;
                    tdi.Notes        = td.Notes;
                    tdi.ReturnVisits = td.ReturnVisits;
                    tdi.Tracts       = td.Tracts;

                    db.SubmitChanges();
                    return(true);
                } catch (InvalidOperationException) {
                    return(AddTime(ref td));
                } catch {
                    throw new TimeDataItemNotFoundException("Couldn't find the time data with that id.");
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Validate time visit.
        /// </summary>
        /// <param name="item"></param>
        public void Visit(TimeDataItem item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }
            AB_RootDataTag tag   = RetrieveTag(item);
            DateTime       value = DateTime.Parse(tag.Value, CultureInfo.InvariantCulture);

            Assert.IsTrue(value.Equals(item.Value));
        }
コード例 #3
0
 /// <summary>
 /// Gets the time data item.
 /// </summary>
 /// <param name="id">The id.</param>
 /// <returns>TimeData.</returns>
 public static TimeData GetTimeDataItem(int id)
 {
     using (var db = new TimeDataContext(TimeDataContext.DBConnectionString)) {
         try {
             TimeDataItem tdi = db.TimeDataItems.Single(s => s.ItemId == id);
             var          td  = TimeData.Copy(tdi);
             return(td);
         } catch (InvalidOperationException) {
             return(null);
         }
     }
 }
コード例 #4
0
        /// <summary>
        /// Deletes the time.
        /// </summary>
        /// <param name="itemId">The item id.</param>
        public static bool DeleteTime(int itemId)
        {
            using (var db = new TimeDataContext(TimeDataContext.DBConnectionString)) {
                try {
                    TimeDataItem t = db.TimeDataItems.Single(s => s.ItemId == itemId);

                    db.TimeDataItems.DeleteOnSubmit(t);
                    db.SubmitChanges();
                    return(true);
                } catch (InvalidOperationException) { return(false); }
            }
        }
コード例 #5
0
 internal static TimeData Copy(TimeDataItem tdi)
 {
     return(new TimeData {
         BibleStudies = tdi.BibleStudies,
         Books = tdi.Books,
         Brochures = tdi.Brochures,
         Date = tdi.Date,
         ItemId = tdi.ItemId,
         Magazines = tdi.Magazines,
         Minutes = tdi.Minutes,
         Notes = tdi.Notes,
         ReturnVisits = tdi.ReturnVisits,
         Tracts = tdi.Tracts ?? 0
     });
 }
コード例 #6
0
        /// <summary>
        /// Visit time item.
        /// </summary>
        /// <param name="item"></param>
        public void Visit(TimeDataItem item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }
            byte[] values  = GetItemValue(item);
            Int16  hour    = BitConverter.ToInt16(new byte[] { values[0], 0 }, 0);
            Int16  minute  = BitConverter.ToInt16(new byte[] { values[1], 0 }, 0);
            Int16  second  = BitConverter.ToInt16(new byte[] { values[2], 0 }, 0);
            Int16  hsecond = BitConverter.ToInt16(new byte[] { values[3], 0 }, 0);

            item.Value = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, hour, minute, second,
                                      hsecond * 10);
            Context.DataItems.Add(item);
        }