public bool DeleteGroup(string cn, DataAccessLayer dal, bool deletePoints) { if (Groups.ContainsKey(cn)) { List<TtPoint> points = dal.GetPointsInGroup(cn); if (deletePoints) { dal.DeletePointsInGroup(cn); } else { for (int i = 0; i < points.Count; i++) { points[i].GroupCN = MainGroup.CN; points[i].GroupName = MainGroup.Name; } dal.SavePoints(points, points); } _Groups.Remove(cn); return dal.DeleteGroup(cn); } return false; }
public void SetGroupName(string name, DataAccessLayer dal) { if (name.IsEmpty()) return; Name = name; if (dal == null) return; List<TtPoint> points = dal.GetPointsInGroup(this.CN) .Where(p => p.IsGpsType()) .ToList(); for (int i = 0; i < points.Count; i++) points[i].GroupName = Name; dal.SavePoints(points, points); }
public bool MergeGroups(TtGroup group1, TtGroup group2, DataAccessLayer dal) { List<TtPoint> points = dal.GetPointsInGroup(group2.CN); //group2.Points.Values.ToList(); for (int i = 0; i < points.Count; i++) { points[i].GroupCN = group1.CN; points[i].GroupName = group1.Name; } //group1.AddPointsToGroup(points); dal.SavePoints(points, points); return dal.DeleteGroup(group2.CN); }
/* public void Init(List<string> cns) { _PointCNs = cns; } */ /// <summary> /// Sets Manual Accuracy to all Gps Type Points. /// </summary> /// <param name="acc">Accuracy</param> /// <param name="dal">DataAccessLayer</param> public void SetGroupManualAccuracy(double acc, DataAccessLayer dal) { if (acc < 0) return; ManualAccuracy = acc; if (dal == null) return; List<GpsPoint> gpsPoints = dal.GetPointsInGroup(this.CN) .Where(p => p.IsGpsType()) .Cast<GpsPoint>() .ToList(); for (int i = 0; i < gpsPoints.Count; i++) gpsPoints[i].ManualAccuracy = ManualAccuracy; dal.SavePoints(gpsPoints); }