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;
     }
 }
 public static void CheckDatabase()
 {
     using (var db = new StreetsBuildingDataContext())
         if (db.DatabaseExists() == false)
             db.CreateDatabase();
 }
        private static bool UpdateStreetBuilding(ref StreetBuildingData st)
        {
            using (var db = new StreetsBuildingDataContext()) {
                try {
                    var i = st.ItemId;
                    var stEx = db.StreetsBuildingItems.Single(s => s.ItemId == i);
                    stEx.BuildingNumber = st.BuildingNumber;
                    stEx.DateCreated = st.DateCreated;
                    stEx.Street = st.Street;
                    stEx.TerritoyrCardId = st.TerritoryCardId;

                    db.SubmitChanges();
                    return true;
                } catch (InvalidOperationException) {
                    throw new StreetBuildingItemDoesntExistException();
                }
            }
        }
 public static string GetStreetName(int itemId)
 {
     using (var db = new StreetsBuildingDataContext()) {
         try {
             var s = db.StreetsBuildingItems.Single(r => r.ItemId == itemId);
             return string.IsNullOrEmpty(s.BuildingNumber) ? s.Street : string.Format("{0} ({1})", s.Street, s.BuildingNumber);
         } catch {
             throw new StreetBuildingItemDoesntExistException();
         }
     }
 }