public GPSInfo getGPS(int FlightID, DateTime FileCreatedOn) { StringBuilder GPSInfo = new StringBuilder(); String FromTime = Util.toSQLDate(FileCreatedOn.AddMinutes(-5).ToUniversalTime()); String ToTime = Util.toSQLDate(FileCreatedOn.AddMinutes(5).ToUniversalTime()); String ThisTime = Util.toSQLDate(FileCreatedOn.ToUniversalTime()); String SQL = @"Select TOP 1 Latitude, Longitude, Altitude, ABS(DATEDIFF(SECOND, ReadTime,'" + ThisTime + @"')) as SortTime from FlightMapData where flightid=" + FlightID + @" AND ReadTime >= '" + FromTime + @"' AND ReadTime <= '" + ToTime + @"' ORDER BY SortTime ASC, ReadTime DESC"; var Row = Util.getDBRow(SQL); var theGPS = new GPSInfo(); if (Row["hasRows"].ToString() == "True") { theGPS.Latitude = Util.toDouble(Row["Latitude"]); theGPS.Longitude = Util.toDouble(Row["Longitude"]); theGPS.Altitude = Util.toDouble(Row["Altitude"]); } return theGPS; }
}//getFlights() public void saveTechnicalLog(HttpRequestBase Request) { String SQL; String[] Index = Request["theFlight.Index"].Split(','); foreach (String RowID in Index) { if (RowID == "SLNO") continue; String FlightID = Request["theFlight[" + RowID + "].ID"]; String LogTakeOffTime = Request["theFlight[" + RowID + "].FlightDate"] + " " + Request["theFlight[" + RowID + "].LogTakeOffTime"]; String LogLandingTime = Request["theFlight[" + RowID + "].FlightDate"] + " " + Request["theFlight[" + RowID + "].LogLandingTime"]; if (FlightID == "0") { //create new flight for drone SQL = "INSERT INTO DroneFlight (\n" + " DroneID,\n" + " PilotID,\n" + " FlightDate,\n" + " CreatedOn,\n" + " CreatedBy,\n" + " [LogFrom],\n" + " [LogTo],\n" + " [LogTakeOffTime],\n" + " [LogLandingTime],\n" + " [LogBattery1ID],\n" + " [LogBattery1StartV],\n" + " [LogBattery1EndV],\n" + " [LogBattery2ID],\n" + " [LogBattery2StartV],\n" + " [LogBattery2EndV],\n" + " [isLogged],\n" + " [LogDateTime],\n" + " [LogCreatedBy],\n" + " [Descrepency],\n" + " [ActionTaken]\n" + ") VALUES (" + " " + Util.toInt(Request["DroneID"]) + ",\n" + " " + Util.getLoginUserID() + ",\n" + " '" + Util.toSQLDate(LogTakeOffTime) + "',\n" + " GETDATE(),\n" + " " + Util.getLoginUserID() + ",\n" + " '" + Request["theFlight[" + RowID + "].LogFrom"] + "',\n" + " '" + Request["theFlight[" + RowID + "].LogTo"] + "',\n" + " '" + Util.toSQLDate(LogTakeOffTime) + "',\n" + " '" + Util.toSQLDate(LogLandingTime) + "',\n" + " '" + Request["theFlight[" + RowID + "].LogBattery1ID"] + "',\n" + " " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery1StartV"]) + ",\n" + " " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery1EndV"]) + ",\n" + " '" + Request["theFlight[" + RowID + "].LogBattery2ID"] + "',\n" + " " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery2StartV"]) + ",\n" + " " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery2EndV"]) + ",\n" + " 1,\n" + " GETDATE(),\n" + " " + Util.getLoginUserID() + ",\n" + " '" + Request["theFlight[" + RowID + "].Descrepency"] + "',\n" + " '" + Request["theFlight[" + RowID + "].ActionTaken"] + "'\n" + ")"; Util.doSQL(SQL); } else { //if(FlightID == "0") //Update flight information for technical Log SQL = "UPDATE\n" + " DroneFlight\n" + "SET\n" + " [LogFrom] = '" + Request["theFlight[" + RowID + "].LogFrom"] + "',\n" + " [LogTo] = '" + Request["theFlight[" + RowID + "].LogTo"] + "',\n" + " [LogTakeOffTime] = '" + Util.toSQLDate(LogTakeOffTime) + "',\n" + " [LogLandingTime] = '" + Util.toSQLDate(LogLandingTime) + "',\n" + " [LogBattery1ID] = '" + Request["theFlight[" + RowID + "].LogBattery1ID"] + "',\n" + " [LogBattery1StartV] = " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery1StartV"]) + ",\n" + " [LogBattery1EndV] = " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery1EndV"]) + ",\n" + " [LogBattery2ID] = '" + Request["theFlight[" + RowID + "].LogBattery2ID"] + "',\n" + " [LogBattery2StartV] = " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery2StartV"]) + ",\n" + " [LogBattery2EndV] = " + Util.toDecimal(Request["theFlight[" + RowID + "].LogBattery2EndV"]) + ",\n" + " [isLogged] = 1,\n" + " [LogDateTime] = GETDATE(),\n" + " LogCreatedBy=" + Util.getLoginUserID() + ",\n" + " Descrepency = '" + Request["theFlight[" + RowID + "].Descrepency"] + "',\n" + " ActionTaken = '" + Request["theFlight[" + RowID + "].ActionTaken"] + "'\n" + "WHERE\n" + " ID=" + FlightID; Util.doSQL(SQL); }//if(FlightID == "0") }//foreach(Index) }//saveTechnicalLog()