public int InsertRouteMark(RouteMark routeMark)
        {
            using (var db = new ServiceContext())
            {
                if (routeMark.RouteSheet != null)
                {
                    RouteSheet routeSheet = db.RouteSheets.FirstOrDefault(x => x.Barcode == routeMark.RouteSheet.Barcode);
                    if (routeSheet != null)
                    {
                        routeMark.RouteSheetId = routeSheet.RouteSheetId;
                    }
                    else
                    {
                        db.Add(routeMark.RouteSheet);
                    }
                }

                if (routeMark.RoutePoint != null)
                {
                    RoutePoint routePoint = db.RoutePoints.FirstOrDefault(x => x.Name == routeMark.RoutePoint.Name);
                    if (routePoint != null)
                    {
                        routeMark.RoutePointId = routePoint.RoutePointId;
                    }
                    else
                    {
                        db.Add(routeMark.RoutePoint);
                    }
                }

                db.Add(routeMark);
                db.SaveChanges();
                return(routeMark.RouteMarkId);
            }
        }
 public void UpdateRouteMark(RouteMark routeMark)
 {
     using (var db = new ServiceContext())
     {
         db.Update(routeMark);
         db.SaveChanges();
     }
 }
 public void DeleteRouteMark(int routeMarkId)
 {
     using (var db = new ServiceContext())
     {
         RouteMark routeMark = new RouteMark {
             RouteMarkId = routeMarkId
         };
         db.RouteMarks.Attach(routeMark);
         db.RouteMarks.Remove(routeMark);
         db.SaveChanges();
     }
 }