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;
        }
示例#2
0
        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);
        }
示例#4
0
        /*
        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);
        }