public static StreetBuildingData GetStreetBuilding(int itemId) { using (var db = new StreetsBuildingDataContext()) { try { var s = db.StreetsBuildingItems.Single(r => r.ItemId == itemId); return(StreetBuildingData.Copy(s)); } catch (InvalidOperationException) { throw new StreetBuildingItemDoesntExistException(); } } }
private static bool AddNewStreetBuilding(ref StreetBuildingData st) { using (var db = new StreetsBuildingDataContext()) { var s = StreetBuildingData.Copy(st); var q = from x in db.StreetsBuildingItems where x.TerritoyrCardId.Equals(s.TerritoyrCardId) && x.Street.Equals(s.Street) && x.BuildingNumber.Equals(s.BuildingNumber) select x; if (q.Any()) { throw new StreetBuildingAlreadyExistsException(); } db.StreetsBuildingItems.InsertOnSubmit(s); db.SubmitChanges(); st.ItemId = s.ItemId; return(st.ItemId >= 0); } }