public int DeleteById(int routeId) { aspnetdbDataContext aspdb = new aspnetdbDataContext(); var res=from p in aspdb.TrackPointlinqs where p.RouteFK==routeId select p; aspdb.TrackPointlinqs.DeleteOnSubmit(res.FirstOrDefault()); aspdb.SubmitChanges(); //Probieren ob das Einfügen Erfolgreich durchgeführt wurde oder nicht int k1; System.Data.Linq.ChangeSet cs1 = aspdb.GetChangeSet(); k1 = cs1.Inserts.Count(); //------------------------------------------------------ var res2 = from p in aspdb.RouteLinqs where p.RouteId==routeId select p; aspdb.RouteLinqs.DeleteOnSubmit(res2.First()); aspdb.SubmitChanges(); //Probieren ob das Einfügen Erfolgreich durchgeführt wurde oder nicht int k2; System.Data.Linq.ChangeSet cs2 = aspdb.GetChangeSet(); k2 = cs2.Inserts.Count(); //------------------------------------------------------ if ((k1 == 0) && (k2 == 0)) { return 1; } else return 0; }
public int DeleteAllForUser(Guid userId) { //First, remove all track points aspnetdbDataContext aspnetdb = new aspnetdbDataContext(); var DelTrack = from q1 in aspnetdb.RouteLinqs where q1.UserId == userId join p in aspnetdb.TrackPointlinqs on q1.RouteId equals p.RouteFK select p; aspnetdb.TrackPointlinqs.DeleteAllOnSubmit(DelTrack); aspnetdb.SubmitChanges(); //Die Route Löschen var DelRout = from q in aspnetdb.RouteLinqs where q.UserId == userId select q; aspnetdb.RouteLinqs.DeleteAllOnSubmit(DelRout); aspnetdb.SubmitChanges(); return 1; }
public List<Route> GetAllForUser(Guid userId) { var result = new List<Route>(); aspnetdbDataContext aspdb = new aspnetdbDataContext(); var res = from r in aspdb.RouteLinqs where r.UserId == userId select r; foreach (var row in res) { var routeId = (int)row.RouteId; var route = new Route(routeId) { Name = (string)row.SourceName, Time = row.CreationTime is DBNull ? new DateTime() : Convert.ToDateTime(row.CreationTime) }; route.TrackPoints = GetTrackPointsForRoute(routeId); result.Add(route); } return result; }
public Route GetById(int routeId, Guid userId) { Route result = null; aspnetdbDataContext aspdb = new aspnetdbDataContext(); var query = from r in aspdb.RouteLinqs where r.UserId == userId && r.RouteId==routeId select r; var first=query.FirstOrDefault(); if (first != null) { result = new Route(routeId) { Name = first.SourceName, Time = first.CreationTime ?? new DateTime() }; result.TrackPoints = GetTrackPointsForRoute(routeId); } return result; }
private List<TrackPoint> GetTrackPointsForRoute(int routeId) { aspnetdbDataContext aspdb = new aspnetdbDataContext(); var result = new List<TrackPoint>(); var trackPointsTable = from t in aspdb.TrackPointlinqs where t.RouteFK == routeId select t; foreach (var trackPointRow in trackPointsTable) { var trackPoint = new TrackPoint { Id = (int)trackPointRow.TrackPointId, Elevation = Convert.ToSingle(trackPointRow.Elevation), Latitude = Convert.ToDouble(trackPointRow.Latitude), Longitude = Convert.ToDouble(trackPointRow.Longitude), Time = trackPointRow.TrackTime is DBNull ? new DateTime() : (DateTime)trackPointRow.TrackTime }; result.Add(trackPoint); } return result; }
public int Save(Route route) { aspnetdbDataContext aspdb = new aspnetdbDataContext(); RouteLinq rtlq=new RouteLinq(); rtlq.UserId = route.UserId; rtlq.SourceName = route.Name; rtlq.GpxData = XElement.Parse(route.GpxData); //--------------------------- rtlq.CreationTime = route.Time; aspdb.RouteLinqs.InsertOnSubmit(rtlq); aspdb.SubmitChanges(); //Probieren ob das Einfügen Erfolgreich durchgeführt wurde oder nicht int k1; System.Data.Linq.ChangeSet cs1 = aspdb.GetChangeSet(); k1=cs1.Inserts.Count(); //---Die Suche nach ID var res = (from p in aspdb.RouteLinqs orderby p.RouteId descending select p.RouteId).Take(1); route.Id =Convert.ToInt32(res.FirstOrDefault()); //------------------------------------------------------ foreach (var trackpoint in route.TrackPoints) { TrackPointlinq trlq = new TrackPointlinq(); trlq.RouteFK = route.Id; trlq.TrackTime = trackpoint.Time; trlq.Latitude = (float)trackpoint.Latitude; trlq.Longitude = (float)trackpoint.Longitude; trlq.Elevation = trackpoint.Elevation; aspdb.TrackPointlinqs.InsertOnSubmit(trlq); aspdb.SubmitChanges(); } //Probieren ob das Einfügen Erfolgreich durchgeführt wurde oder nicht int k2; System.Data.Linq.ChangeSet cs2 = aspdb.GetChangeSet(); k2 = cs2.Inserts.Count(); //------------------------------------------------------ if ((k1 == 0) && (k2 == 0)) { return 1; } else return 0; }