/// <summary> /// Добавление трекера /// </summary> /// <param name="data">объект данных</param> public static void CreateGpsTracker(DataGpsTracker data) { using (var dc = new GpsTrackerDataContext()) { data.DateCreated = DateTime.UtcNow; dc.GpsTracker.InsertOnSubmit(data); dc.SubmitChanges(); } }
/// <summary> /// Удаление трекера /// </summary> /// <param name="id">id объекта</param> /// <returns>true если все хорошо, false если объект с таким id не найден или произошло что-то плохое</returns> public static void DeleteGpsTracker(int id) { using (var dc = new GpsTrackerDataContext()) { var obj = (from _obj in dc.GpsTracker where _obj.Id == id select _obj).FirstOrDefault(); if (obj == null) { throw new KeyNotFoundException(String.Format("{0}: Запись с таким id:{1} не найдена", MethodBase.GetCurrentMethod(), id)); } dc.GpsTracker.DeleteOnSubmit(obj); dc.SubmitChanges(); } }
/// <summary> /// Изменение данных трекера /// </summary> /// <param name="data">объект данных</param> public static void UpdateGpsData(DataGpsData data) { DataLocker.Lock(typeof(DataGpsData), data.Id, () => { DataGpsData obj; using (var dc = new GpsTrackerDataContext()) { obj = (from _obj in dc.GpsData where _obj.Id == data.Id select _obj).FirstOrDefault(); if (obj == null) { throw new KeyNotFoundException(String.Format("{0}: Запись с таким id:{1} не найдена", MethodBase.GetCurrentMethod(), data.Id)); } } using (var dc = new GpsTrackerDataContext()) { dc.GpsData.Attach(data, obj); dc.SubmitChanges(); } }); }