Exemplo n.º 1
0
        private void createRecord(Storage.Database db, IWaypointData data)
        {
            using (MemoryStream ms = new MemoryStream(DataBuffer))
            using (BinaryWriter bw = new BinaryWriter(ms))
            {
                ms.Position = 0;

                ms.Position = 150;
                bw.Write(Utils.Conversion.DateTimeToLong(data.DataFromDate)); //150
                bw.Write((bool)(data.Lat != null)); //158
                bw.Write(data.Lat == null ? (double)0.0 : (double)data.Lat); //159
                bw.Write((bool)(data.Lon != null)); //167
                bw.Write(data.Lon == null ? (double)0.0 : (double)data.Lon); //168
                bw.Write(Utils.Conversion.DateTimeToLong(data.Time)); //176
                bw.Write(data.WPType.ID); //184
                //spare
                ms.Position = 200;
                bw.Write(data.GeocacheCode);
                ms.Position = 240;
                bw.Write(data.Code ?? "");
                ms.Position = 280;
                bw.Write(GetSafeString(280, 500, data.Description) ?? "");
                ms.Position = 500;
                bw.Write(GetSafeString(500, 600, data.Name) ?? "");
                ms.Position = 600;
                bw.Write(data.Url ?? "");
                ms.Position = 700;
                bw.Write(data.UrlName ?? "");
                ms.Position = 800;
                bw.Write(data.Comment ?? "");

                RecordInfo = db.RequestWaypointRecord(data.ID, data.GeocacheCode, DataBuffer, ms.Position, 100);
            }
        }
Exemplo n.º 2
0
        private void createRecord(Storage.Database db, IWaypointData data)
        {
            using (MemoryStream ms = new MemoryStream(DataBuffer))
                using (BinaryWriter bw = new BinaryWriter(ms))
                {
                    ms.Position = 0;

                    ms.Position = 150;
                    bw.Write(Utils.Conversion.DateTimeToLong(data.DataFromDate)); //150
                    bw.Write((bool)(data.Lat != null));                           //158
                    bw.Write(data.Lat == null ? (double)0.0 : (double)data.Lat);  //159
                    bw.Write((bool)(data.Lon != null));                           //167
                    bw.Write(data.Lon == null ? (double)0.0 : (double)data.Lon);  //168
                    bw.Write(Utils.Conversion.DateTimeToLong(data.Time));         //176
                    bw.Write(data.WPType.ID);                                     //184
                    //spare
                    ms.Position = 200;
                    bw.Write(data.GeocacheCode);
                    ms.Position = 240;
                    bw.Write(data.Code ?? "");
                    ms.Position = 280;
                    bw.Write(GetSafeString(280, 500, data.Description) ?? "");
                    ms.Position = 500;
                    bw.Write(GetSafeString(500, 600, data.Name) ?? "");
                    ms.Position = 600;
                    bw.Write(data.Url ?? "");
                    ms.Position = 700;
                    bw.Write(data.UrlName ?? "");
                    ms.Position = 800;
                    bw.Write(data.Comment ?? "");

                    RecordInfo = db.RequestWaypointRecord(data.ID, data.GeocacheCode, DataBuffer, ms.Position, 100);
                }
        }
Exemplo n.º 3
0
 public static void Copy(IWaypointData src, IWaypointData dest)
 {
     dest.ID           = src.ID;
     dest.Name         = src.Name;
     dest.Comment      = src.Comment;
     dest.Description  = src.Description;
     dest.Url          = src.Url;
     dest.UrlName      = src.UrlName;
     dest.WPType       = src.WPType;
     dest.Code         = src.Code;
     dest.GeocacheCode = src.GeocacheCode;
     dest.DataFromDate = src.DataFromDate;
     dest.Lat          = src.Lat;
     dest.Lon          = src.Lon;
     dest.Time         = src.Time;
 }
Exemplo n.º 4
0
 public static void Copy(IWaypointData src, IWaypointData dest)
 {
     dest.ID = src.ID;
     dest.Name = src.Name;
     dest.Comment = src.Comment;
     dest.Description = src.Description;
     dest.Url = src.Url;
     dest.UrlName = src.UrlName;
     dest.WPType = src.WPType;
     dest.Code = src.Code;
     dest.GeocacheCode = src.GeocacheCode;
     dest.DataFromDate = src.DataFromDate;
     dest.Lat = src.Lat;
     dest.Lon = src.Lon;
     dest.Time = src.Time;
 }
Exemplo n.º 5
0
        //new record to be stored
        public Waypoint(Storage.Database db, IWaypointData data)
            : base(null)
        {
            _id = data.ID;
            using (MemoryStream ms = new MemoryStream(_buffer))
            using (BinaryWriter bw = new BinaryWriter(ms))
            {
                ms.Position = 0;
                //todo: add string length checks!!!

                ms.Position = 150;
                bw.Write(data.DataFromDate.ToFileTime()); //150
                bw.Write((bool)(data.Lat!=null)); //158
                bw.Write(data.Lat==null ? (double)0.0: (double)data.Lat); //159
                bw.Write((bool)(data.Lon != null)); //167
                bw.Write(data.Lon == null ? (double)0.0 : (double)data.Lon); //168
                bw.Write(data.Time.ToFileTime()); //176
                bw.Write(data.WPType.ID); //188
                //spare
                ms.Position = 200;
                bw.Write(data.GeocacheCode);
                ms.Position = 240;
                bw.Write(data.Code);
                ms.Position = 280;
                bw.Write(data.Description);
                ms.Position = 500;
                bw.Write(data.Name);
                ms.Position = 600;
                bw.Write(data.Url);
                ms.Position = 700;
                bw.Write(data.UrlName);
                ms.Position = 800;
                bw.Write(data.Comment);

                RecordInfo = db.RequestWaypointRecord(data.ID, _buffer, ms.Position, 100);
            }
            db.WaypointCollection.Add(this);
        }
Exemplo n.º 6
0
 //new record to be stored
 public Waypoint(Storage.Database db, IWaypointData data)
     : this(null)
 {
     createRecord(db, data);
     db.WaypointCollection.Add(this);
 }
Exemplo n.º 7
0
 //new record to be stored
 public Waypoint(Storage.Database db, IWaypointData data)
     : this(null)
 {
     createRecord(db, data);
     db.WaypointCollection.Add(this);
 }