private void InsertUpgradeNmeaBurst(NmeaBurst burst, SQLiteTransaction trans) { StringBuilder queryBeginning = new StringBuilder(); StringBuilder queryEnd = new StringBuilder(); queryBeginning.AppendFormat("INSERT INTO {0} (", TwoTrailsSchema.TtnmeaSchema.TableName); queryEnd.Append("("); //CN queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.CN); queryEnd.AppendFormat("'{0}',", Guid.NewGuid().ToString()); //Point CN queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.PointCN); queryEnd.AppendFormat("'{0}',", burst._PointCN); //Used in Point queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.Used); if (burst._Used) queryEnd.AppendFormat("'{0}',", 1); else queryEnd.AppendFormat("'{0}',", 0); //DateTime queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.DateTimeZulu); queryEnd.AppendFormat("'{0}',", burst._datetime.ToString()); //Longitude queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.Longitude); queryEnd.AppendFormat("'{0}',", burst._longitude); //Latitude queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.Latitude); queryEnd.AppendFormat("'{0}',", burst._latitude); //Latitude Direction queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.LatDir); queryEnd.AppendFormat("'{0}',", burst._latDir.ToString()); //Longitude Direction queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.LonDir); queryEnd.AppendFormat("'{0}',", burst._longDir.ToString()); //Magnetitc Variation queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.MagVar); queryEnd.AppendFormat("'{0}',", burst._magVar); //Magnetitc Variation Direction queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.MagDir); queryEnd.AppendFormat("'{0}',", burst._magVarDir.ToString()); //UTM Zone queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.UtmZone); queryEnd.AppendFormat("'{0}',", burst._utm_zone); //UTM X queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.UtmX); queryEnd.AppendFormat("'{0}',", burst._X); //UTM Y queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.UtmY); queryEnd.AppendFormat("'{0}',", burst._Y); //Altitude queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.Altitude); queryEnd.AppendFormat("'{0}',", burst._altitude); //Altitude Unit Type queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.AltUnit); queryEnd.AppendFormat("'{0}',", burst._alt_unit.ToString()); //Fix Quality queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.FixQuality); queryEnd.AppendFormat("'{0}',", burst._fix_quality); //Altitude Fix Type queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.Mode); queryEnd.AppendFormat("'{0}',", burst._fix); //PDOP queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.PDOP); queryEnd.AppendFormat("'{0}',", burst._PDOP); //HDOP queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.HDOP); queryEnd.AppendFormat("'{0}',", burst._HDOP); //VDOP queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.VDOP); queryEnd.AppendFormat("'{0}',", burst._VDOP); //PRNs queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.PRNS); queryEnd.AppendFormat("'{0}',", burst._fixed_PRNs); //Horizontal Dilution of Position queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.HDo_Position); queryEnd.AppendFormat("'{0}',", burst._horiz_dilution_position); //HAE queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.HAE); queryEnd.AppendFormat("'{0}',", burst._geoid_height); //HAE queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.HAE_Unit); queryEnd.AppendFormat("'{0}',", burst._geoid_unit); //Speed queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.Speed); queryEnd.AppendFormat("'{0}',", burst._speed); //HAE queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.Track_Angle); queryEnd.AppendFormat("'{0}',", burst._track_angle); //Satellite Count queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.SatelliteCount); queryEnd.AppendFormat("'{0}',", burst._num_of_sat); //Satellite Used queryBeginning.AppendFormat("{0},", TwoTrailsSchema.TtnmeaSchema.SatelliteUsed); queryEnd.AppendFormat("'{0}',", burst._num_of_used_sat); #region Satellites List<Satellite> sats = burst.GetSatellites(); string satID = "", satElev = "", satAz = "", satSRN = ""; for (int i = 0; i < sats.Count; i++) { switch (i) { case 0: { satID = TwoTrailsSchema.TtnmeaSchema.PRN1ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN1Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN1Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN1SRN; break; } case 1: { satID = TwoTrailsSchema.TtnmeaSchema.PRN2ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN2Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN2Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN2SRN; break; } case 2: { satID = TwoTrailsSchema.TtnmeaSchema.PRN3ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN3Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN3Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN3SRN; break; } case 3: { satID = TwoTrailsSchema.TtnmeaSchema.PRN4ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN4Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN4Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN4SRN; break; } case 4: { satID = TwoTrailsSchema.TtnmeaSchema.PRN5ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN5Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN5Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN5SRN; break; } case 5: { satID = TwoTrailsSchema.TtnmeaSchema.PRN6ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN6Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN6Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN6SRN; break; } case 6: { satID = TwoTrailsSchema.TtnmeaSchema.PRN7ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN7Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN7Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN7SRN; break; } case 7: { satID = TwoTrailsSchema.TtnmeaSchema.PRN8ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN8Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN8Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN8SRN; break; } case 8: { satID = TwoTrailsSchema.TtnmeaSchema.PRN9ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN9Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN9Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN9SRN; break; } case 9: { satID = TwoTrailsSchema.TtnmeaSchema.PRN10ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN10Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN10Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN10SRN; break; } case 10: { satID = TwoTrailsSchema.TtnmeaSchema.PRN11ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN11Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN11Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN11SRN; break; } case 11: { satID = TwoTrailsSchema.TtnmeaSchema.PRN12ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN12Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN12Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN12SRN; break; } } //Satellite Info queryBeginning.AppendFormat("{0},", satID); queryEnd.AppendFormat("'{0}',", sats[i].ID); queryBeginning.AppendFormat("{0},", satElev); queryEnd.AppendFormat("'{0}',", sats[i].Elevation); queryBeginning.AppendFormat("{0},", satAz); queryEnd.AppendFormat("'{0}',", sats[i].Azimuth); queryBeginning.AppendFormat("{0},", satSRN); queryEnd.AppendFormat("'{0}',", sats[i].SNR); } #endregion queryBeginning.Remove(queryBeginning.Length - 1, 1); queryEnd.Remove(queryEnd.Length - 1, 1); queryBeginning.Append(") values "); queryEnd.Append(");"); queryBeginning.AppendFormat(" {0}", queryEnd.ToString()); SQLiteCommand update = _dbConnection.CreateCommand(); try { if (trans != null) update.Transaction = trans; update.CommandText = queryBeginning.ToString(); update.ExecuteNonQuery(); } catch (Exception ex) { TtUtils.WriteError(ex.Message, "DataAccessUpgrader:SaveNmeaBurst", ex.StackTrace); } finally { update.Dispose(); } }
protected void UpdateNmeaBurst(NmeaBurst burst, string pointCN, SQLiteTransaction trans) { StringBuilder query = new StringBuilder(); query.AppendFormat("Update {0} set ", TwoTrailsSchema.TtnmeaSchema.TableName); //Point CN query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.PointCN, pointCN); //Used query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.Used, (burst._Used)?(1):(0)); //DateTime query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.DateTimeZulu, burst._datetime.ToString()); //Longitude query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.Longitude, burst._longitude); //Latitude query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.Latitude, burst._latitude); //Latitude Direction query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.LatDir, burst._latDir.ToString()); //Longitude Direction query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.LonDir, burst._longDir.ToString()); //Magnetitc Variation query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.MagVar, burst._magVar); //Magnetitc Variation Direction query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.MagDir, burst._magVarDir.ToString()); //UTM Zone query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.UtmZone, burst._utm_zone); //UTM X query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.UtmX, burst._X); //UTM Y query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.UtmY, burst._Y); //Altitude query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.Altitude, burst._altitude); //Altitude Unit Type query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.AltUnit, burst._alt_unit.ToString()); //Fix Quality query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.FixQuality, burst._fix_quality); //Altitude Fix Type query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.Mode, burst._fix); //PDOP query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.PDOP, burst._PDOP); //HDOP query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.HDOP, burst._HDOP); //VDOP query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.VDOP, burst._VDOP); //PRNs query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.PRNS, burst._fixed_PRNs); //Horizontal Dilution of Position query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.HDo_Position, burst._horiz_dilution_position); //HAE query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.HAE, burst._geoid_height); //HAE query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.HAE_Unit, burst._geoid_unit); //Speed query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.Speed, burst._speed); //Angle query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.Track_Angle, burst._track_angle); //Satellite Count query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.SatelliteCount, burst._num_of_sat); //Satellite Used query.AppendFormat("{0} = '{1}', ", TwoTrailsSchema.TtnmeaSchema.SatelliteUsed, burst._num_of_used_sat); #region Satellites List<Satellite> sats = burst.GetSatellites(); string satID = "", satElev = "", satAz = "", satSRN = ""; for (int i = 0; i < sats.Count; i++) { switch (i) { case 0: { satID = TwoTrailsSchema.TtnmeaSchema.PRN1ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN1Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN1Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN1SRN; break; } case 1: { satID = TwoTrailsSchema.TtnmeaSchema.PRN2ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN2Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN2Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN2SRN; break; } case 2: { satID = TwoTrailsSchema.TtnmeaSchema.PRN3ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN3Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN3Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN3SRN; break; } case 3: { satID = TwoTrailsSchema.TtnmeaSchema.PRN4ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN4Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN4Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN4SRN; break; } case 4: { satID = TwoTrailsSchema.TtnmeaSchema.PRN5ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN5Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN5Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN5SRN; break; } case 5: { satID = TwoTrailsSchema.TtnmeaSchema.PRN6ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN6Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN6Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN6SRN; break; } case 6: { satID = TwoTrailsSchema.TtnmeaSchema.PRN7ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN7Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN7Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN7SRN; break; } case 7: { satID = TwoTrailsSchema.TtnmeaSchema.PRN8ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN8Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN8Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN8SRN; break; } case 8: { satID = TwoTrailsSchema.TtnmeaSchema.PRN9ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN9Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN9Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN9SRN; break; } case 9: { satID = TwoTrailsSchema.TtnmeaSchema.PRN10ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN10Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN10Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN10SRN; break; } case 10: { satID = TwoTrailsSchema.TtnmeaSchema.PRN11ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN11Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN11Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN11SRN; break; } case 11: { satID = TwoTrailsSchema.TtnmeaSchema.PRN12ID; satElev = TwoTrailsSchema.TtnmeaSchema.PRN12Elev; satAz = TwoTrailsSchema.TtnmeaSchema.PRN12Az; satSRN = TwoTrailsSchema.TtnmeaSchema.PRN12SRN; break; } } //Satellite Info query.AppendFormat("{0} = '{1}', ", satID, sats[i].ID); query.AppendFormat("{0} = '{1}', ", satElev, sats[i].Elevation); query.AppendFormat("{0} = '{1}', ", satAz, sats[i].Azimuth); query.AppendFormat("{0} = '{1}'{2} ", satSRN, sats[i].SNR, i == sats.Count - 1 ? "" : ","); } #endregion query.AppendFormat("where {0} = '{1}'", TwoTrailsSchema.SharedSchema.CN, burst._CN); SQLiteCommand update = _dbConnection.CreateCommand(); try { if (trans != null) update.Transaction = trans; update.CommandText = query.ToString(); update.ExecuteNonQuery(); } catch (Exception ex) { TtUtils.WriteError(ex.Message, "DataAccessLayer:UpdateNmeaBurst"); } finally { update.Dispose(); } }