public Stream SetMetadata(string name, Stream data) { try { if (_serverConfig == null || _serverConfig.Instances.Length == 0) { return(WriteException("ServiceType not initialized!")); } string input = (data != null ? new StreamReader(data).ReadToEnd() : String.Empty); MapServerConfig.ServerConfig.InstanceConfig config = _serverConfig.Instances[0]; InstanceConnection conn = new InstanceConnection("localhost:" + config.Port); string user, pwd; var request = Request(out user, out pwd); return(WriteValue( conn.UploadMetadata(name, input, user, pwd) )); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
public System.IO.Stream AxlPost(System.IO.Stream data) { try { if (_serverConfig == null || _serverConfig.Instances.Length == 0) { return(WriteException("ServiceType not initialized!")); } string user, pwd; var request = Request(out user, out pwd); NameValueCollection queryString = KeysToLower(request.UriTemplateMatch.QueryParameters); //DateTime td = DateTime.Now; //Console.WriteLine("Start AXL Request " + td.ToLongTimeString() + "." + td.Millisecond + " (" + queryString["servicename"] + ")"); string input = (data != null ? new StreamReader(data).ReadToEnd() : String.Empty); OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; if (queryString["cmd"] != null) { context.ContentType = "text/plain; charset=UTF-8"; switch (queryString["cmd"].ToLower()) { case "ping": //return new MemoryStream(Encoding.UTF8.GetBytes("IMS v4.0.1\n")); return(new MemoryStream(Encoding.UTF8.GetBytes("IMS v10.0.0\n"))); case "getversion": //return new MemoryStream(Encoding.UTF8.GetBytes("Version:4.0.1\nBuild_Number:630.1700\n")); return(new MemoryStream(Encoding.UTF8.GetBytes("Version=10.0.0\nBuild_Number=183.2159\n"))); } } if (queryString["servicename"] == null) { return(WriteException("Parameter SERVICENAME is requiered!")); } context.ContentType = "text/xml; charset=UTF-8"; int instanceNr = GetRandom(_serverConfig.Instances.Length /*MapServerConfig.ServerCount*/); MapServerConfig.ServerConfig.InstanceConfig config = _serverConfig.Instances[instanceNr]; InstanceConnection connection = new InstanceConnection("localhost:" + config.Port); string response = connection.Send( Functions.OgcOnlineResource(_serverConfig), queryString["servicename"], input, "BB294D9C-A184-4129-9555-398AA70284BC", user, pwd).Trim(); //Console.WriteLine("Finished AXL Request: " + (DateTime.Now - td).TotalMilliseconds + "ms (" + queryString["servicename"] + ")"); return(new MemoryStream(Encoding.UTF8.GetBytes(response))); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
public static bool IgnoreCustomFact(string factType) { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } bool result = false; using (SqliteCommand cmd = new SqliteCommand("SELECT EXISTS(SELECT ignore FROM CustomFacts where FactType=?)", InstanceConnection)) { SqliteParameter param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); cmd.Prepare(); cmd.Parameters[0].Value = factType; using (SqliteDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleResult)) { if (reader.Read()) { result = reader[0].ToString() == "1"; } } } return(result); }
public Stream AddMap(string name, Stream data) { try { if (_serverConfig == null || _serverConfig.Instances.Length == 0) { return(WriteException("ServiceType not initialized!")); } string input = (data != null ? new StreamReader(data).ReadToEnd() : String.Empty); MapServerConfig.ServerConfig.InstanceConfig config = _serverConfig.Instances[0]; InstanceConnection conn = new InstanceConnection("localhost:" + config.Port); string user, pwd; var request = Request(out user, out pwd); object ret = conn.AddMap(name, input, user, pwd); for (int i = 1; i < _serverConfig.Instances.Length; i++) { MapServerConfig.ServerConfig.InstanceConfig config2 = _serverConfig.Instances[i]; InstanceConnection conn2 = new InstanceConnection("localhost:" + config2.Port); conn2.AddMap(name, String.Empty, user, pwd); // Refrsh } return(WriteValue(ret)); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
public Stream Catalog() { try { if (_serverConfig == null || _serverConfig.Instances.Length == 0) { return(WriteException("ServiceType not initialized!")); } string user, pwd; var request = Request(out user, out pwd); NameValueCollection queryString = request.UriTemplateMatch.QueryParameters; InstanceConnection conn = new InstanceConnection("localhost:" + _serverConfig.Instances[0].Port); var services = conn.Services(user, pwd); if (queryString["format"] == "xml") { #region Xml StringBuilder sb = new StringBuilder(); sb.Append("<RESPONSE><SERVICES>"); foreach (var service in services) { sb.Append("<SERVICE "); sb.Append("NAME='" + service.Name + "' "); sb.Append("name='" + service.Name + "' "); sb.Append("type='" + service.Type.ToString() + "' "); sb.Append("/>"); } sb.Append("</SERVICES></RESPONSE>"); OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; context.ContentType = "text/xml; charset=UTF-8"; return(new MemoryStream(Encoding.UTF8.GetBytes(sb.ToString()))); #endregion } string html = LoadHtml("TaskerCatalog.htm"); #region Services List StringBuilder ul = new StringBuilder(); ul.Append("<div class='listbox'><span style='font-weight:bold'>Services</span>"); ul.Append("<ul>"); foreach (var service in services) { ul.Append("<li class='servicelink'><a href='ServiceCapabilities?service=" + service.Name + "'>" + service.Name + "</a></li>"); } ul.Append("</ul></div>"); html = html.Replace("[SERVICES]", ul.ToString()); #endregion return(HtmlStream(html)); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
public static void StoreLostCousinsFact(CensusIndividual ind, IProgress <string> outputText) { try { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } SqliteParameter param; using (SqliteCommand cmd = new SqliteCommand("insert into LostCousins (CensusYear, CensusCountry, CensusRef, IndID, FullName) values(?,?,?,?,?)", InstanceConnection)) { param = cmd.CreateParameter(); param.DbType = DbType.Int32; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); cmd.Prepare(); if (ind.CensusReference != null) { cmd.Parameters[0].Value = ind.CensusDate.BestYear; cmd.Parameters[1].Value = ind.CensusCountry; cmd.Parameters[2].Value = ind.CensusReference; cmd.Parameters[3].Value = ind.IndividualID; cmd.Parameters[4].Value = ind.Name; int rowsaffected = cmd.ExecuteNonQuery(); if (rowsaffected != 1) { outputText.Report($"\nProblem updating record in database update affected {rowsaffected} records."); } else { FactLocation location = FactLocation.GetLocation(ind.CensusCountry); Fact f = new Fact(ind.CensusRef, Fact.LC_FTA, ind.CensusDate, location, string.Empty, true, true); Individual person = FamilyTree.Instance.GetIndividual(ind.IndividualID); // get the individual not the census indvidual person?.AddFact(f); } } } } catch (Exception e) { outputText.Report($"\nFailed to save Lost Cousins record in database error was: {e.Message}"); } }
public static void GetLocationDetails(FactLocation location) { if (location.ToString().Length == 0) { return; } if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } ReadLocationIntoFact(location, InstanceConnection); }
public static void LoadGeoLocations() { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } foreach (FactLocation loc in FactLocation.AllLocations) { ReadLocationIntoFact(loc, InstanceConnection); } InstanceConnection.Close(); }
public static void ResetPartials() { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SQLiteCommand cmd = new SQLiteCommand("update geocode set latitude = 0, longitude = 0, founddate = date('now'), foundlocation = '', foundlevel = -2, viewport_x_ne = 0, viewport_y_ne = 0, viewport_x_sw = 0, viewport_y_sw = 0, geocodestatus = 0, foundresulttype = '' where geocodestatus in (2,7,9)", InstanceConnection)) { cmd.ExecuteNonQuery(); } InstanceConnection.Close(); }
void UpgradeDatabase(Version dbVersion) { try { Version v7_3_3_2 = new Version("7.3.3.2"); InstanceConnection.Close(); } catch (Exception ex) { UIHelpers.ShowMessage($"Error upgrading database. Error is :{ex.Message}", "FTAnalyzer"); } }
private static void BarOutput(InstanceConnector output, InstanceConnection <SyntaxNode> connection, Scope scope) { Assert.IsNotNull(connection.OutputNode); Assert.IsNotNull(connection.InputNode); Assert.IsInstanceOfType(connection.InputNode, typeof(ExpressionSyntax)); Assert.IsInstanceOfType(connection.OutputNode, typeof(ExpressionSyntax)); scope.AddInstanceInitializer(FooInputInit.Get( connection.Source, CSharp.ParseExpression('"' + connection.Input.Id + '"'), CSharp.BinaryExpression(SyntaxKind.EqualsExpression, (ExpressionSyntax)connection.InputNode, (ExpressionSyntax)connection.OutputNode))); }
public static void StoreLostCousinsFact(CensusIndividual ind, IProgress <string> outputText) { try { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } SQLiteParameter param; using (SQLiteCommand cmd = new SQLiteCommand("insert into LostCousins (CensusYear, CensusCountry, CensusRef, IndID, FullName) values(?,?,?,?,?)", InstanceConnection)) { param = cmd.CreateParameter(); param.DbType = DbType.Int32; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); cmd.Prepare(); if (ind.CensusReference != null) { cmd.Parameters[0].Value = ind.CensusDate.BestYear; cmd.Parameters[1].Value = ind.CensusCountry; cmd.Parameters[2].Value = ind.CensusReference; cmd.Parameters[3].Value = ind.IndividualID; cmd.Parameters[4].Value = ind.Name; int rowsaffected = cmd.ExecuteNonQuery(); if (rowsaffected != 1) { outputText.Report($"\nProblem updating record in database update affected {rowsaffected} records."); } } } } catch (Exception e) { outputText.Report($"\nFailed to save Lost Cousins record in database error was: {e.Message}"); } }
private void applyConnection( InstanceConnection <TNode> connection, Instance <TNode> instance, bool isInput, Action <InstanceConnector, InstanceConnection <TNode>, Scope> transform, Scope scope) { if (transform != null) { var connector = isInput ? connection.Input : connection.Output; transform(connector, connection, scope); instance.Node = isInput ? connection.InputModelNode : connection.OutputModelNode; } }
public void InstanceCreate(string GeneratedKey) { if (!Instances.ContainsKey(GeneratedKey)) { var InstanceToCreate = new InstanceConnection(); InstanceToCreate.ConnectionID = Context.ConnectionId; InstanceToCreate.Pause = false; InstanceToCreate.TimeLeft = 0; Instances.Add(GeneratedKey, InstanceToCreate); Clients.Client(Context.ConnectionId).SendAsync("gameCreated", true, GeneratedKey); } else { Clients.Client(Context.ConnectionId).SendAsync("gameCreated", false, GeneratedKey); } }
protected virtual void Dispose(bool disposing) { if (disposing) { try { if (InstanceConnection?.State == ConnectionState.Open) { InstanceConnection.Close(); } InstanceConnection?.Dispose(); // dispose of things here } catch (Exception) { } } }
public Stream Index() { try { string html = LoadHtml("TaskerIndex.htm"); #region Instances StringBuilder ul = new StringBuilder(); ul.Append("<div class='listbox'><span style='font-weight:bold'>Worker Processes</span>"); ul.Append("<ul>"); for (int i = 0; i < _serverConfig.Instances.Length; i++) { InstanceConnection conn = new InstanceConnection("localhost:" + _serverConfig.Instances[i].Port); ul.Append("<li class='servicelink'>Instance " + (i + 1)); try { DateTime start = DateTime.Now; string ping; for (int p = 0; p < 20; p++) { ping = conn.Ping(); } TimeSpan ts = DateTime.Now - start; ul.Append(" ... running (" + conn.Ping() + ") ... " + Math.Round(ts.TotalMilliseconds / 20, 1) + "ms/ping"); } catch (Exception ex) { ul.Append(" ... error (" + ex.Message + ")"); } ul.Append("</li>"); } ul.Append("</ul></div>"); html = html.Replace("[INSTANCES]", ul.ToString()); #endregion return(HtmlStream(html)); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
public static int AddLostCousinsFacts() { int count = 0; if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SqliteCommand cmd = new SqliteCommand("select CensusYear, CensusCountry, CensusRef, IndID, FullName from LostCousins", InstanceConnection)) { using (SqliteDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { string indID = reader["IndID"].ToString(); string fullName = reader["FullName"].ToString(); Individual ind = FamilyTree.Instance.GetIndividual(indID); if (ind?.Name == fullName) // only load if individual exists in this tree. { string CensusYear = reader["CensusYear"].ToString(); string CensusCountry = reader["CensusCountry"].ToString(); string CensusRef = reader["CensusRef"].ToString(); if (!ind.IsLostCousinsEntered(CensusDate.GetLostCousinsCensusYear(new FactDate(CensusYear), true))) { FactLocation location = FactLocation.GetLocation(CensusCountry); Fact f = new Fact(CensusRef, Fact.LOSTCOUSINS, new FactDate(CensusYear), location, string.Empty, true, true); ind?.AddFact(f); } count++; } else { Console.Write("name wrong"); // UpdateFullName(reader, ind.Name); needed during testing } } } } return(count); }
public static bool LostCousinsExists(CensusIndividual ind) { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } bool result = false; using (SqliteCommand cmd = new SqliteCommand("SELECT EXISTS(SELECT 1 FROM LostCousins where CensusYear=? and CensusCountry=? and CensusRef=? and IndID=?)", InstanceConnection)) { SqliteParameter param = cmd.CreateParameter(); param.DbType = DbType.Int32; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); cmd.Prepare(); cmd.Parameters[0].Value = ind.CensusDate.BestYear; cmd.Parameters[1].Value = ind.CensusCountry; cmd.Parameters[2].Value = ind.CensusReference; cmd.Parameters[3].Value = ind.IndividualID; using (SqliteDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleResult)) { if (reader.Read()) { result = reader[0].ToString() == "1"; } } } return(result); }
public void AddEmptyLocationsToQueue(ConcurrentQueue <FactLocation> queue) { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SqliteCommand cmd = new SqliteCommand("select location from geocode where foundlocation='' and geocodestatus in (3, 8, 9)", InstanceConnection)) { using (SqliteDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { FactLocation loc = FactLocation.LookupLocation(reader[0].ToString()); if (!queue.Contains(loc)) { queue.Enqueue(loc); } } } } InstanceConnection.Close(); }
public static bool IsLocationInDatabase(string location) { bool inDatabase; if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SQLiteCommand cmd = new SQLiteCommand("select location from geocode where location = ?", InstanceConnection)) { SQLiteParameter param = cmd.CreateParameter(); param.DbType = DbType.String; cmd.Parameters.Add(param); cmd.Prepare(); cmd.Parameters[0].Value = location; using (SQLiteDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleResult)) { inDatabase = reader.Read(); } } return(inDatabase); }
static Version GetDatabaseVersion() { string db = null; try { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SQLiteCommand cmd = new SQLiteCommand("select Database from versions where platform='PC'", InstanceConnection)) { db = (string)cmd.ExecuteScalar(); } } catch (Exception) { // use old method if current method fails try { using (SQLiteCommand cmd = new SQLiteCommand("select Database from versions", InstanceConnection)) { db = (string)cmd.ExecuteScalar(); } } catch { } } finally { InstanceConnection.Close(); } Version dbVersion = db == null ? new Version("0.0.0.0") : new Version(db); if (dbVersion == new Version("7.3.0.0")) { return(new Version("7.0.0.0")); // force old version so it updates after beta fix on v7.3.0.0 } return(dbVersion); }
public Stream GetMetadata(string name) { try { if (_serverConfig == null || _serverConfig.Instances.Length == 0) { return(WriteException("ServiceType not initialized!")); } MapServerConfig.ServerConfig.InstanceConfig config = _serverConfig.Instances[0]; InstanceConnection conn = new InstanceConnection("localhost:" + config.Port); string user, pwd; var request = Request(out user, out pwd); return(WriteValue( conn.QueryMetadata(name, user, pwd) )); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
static Version GetDatabaseVersion() { string db = null; try { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SqliteCommand cmd = new SqliteCommand("select Database from versions where platform='Mac'", InstanceConnection)) { db = (string)cmd.ExecuteScalar(); } InstanceConnection.Close(); } catch (Exception e) { Console.WriteLine("Error in GetDatabaseVersion " + e.Message); } Version dbVersion = db == null ? new Version("0.0.0.0") : new Version(db); return(dbVersion); }
private static Version GetDatabaseVersion() { string db = null; try { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SQLiteCommand cmd = new SQLiteCommand("select Database from versions", InstanceConnection)) { db = (string)cmd.ExecuteScalar(); } InstanceConnection.Close(); } catch (Exception) { //log.Error("Error in GetDatabaseVersion " + e.Message); } Version dbVersion = db == null ? new Version("0.0.0.0") : new Version(db); return(dbVersion); }
public static void InsertGeocode(FactLocation loc) { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } SQLiteParameter param; using (SQLiteCommand insertCmd = new SQLiteCommand("insert into geocode (location, level, latitude, longitude, founddate, foundlocation, foundlevel, viewport_x_ne, viewport_y_ne, viewport_x_sw, viewport_y_sw, geocodestatus, foundresulttype, latm, longm) values(?,?,?,?,date('now'),?,?,?,?,?,?,?,?,?,?)", InstanceConnection)) { param = insertCmd.CreateParameter(); param.DbType = DbType.String; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Int32; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.String; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Int32; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Int32; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.String; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); param = insertCmd.CreateParameter(); param.DbType = DbType.Double; insertCmd.Parameters.Add(param); insertCmd.Prepare(); insertCmd.Parameters[0].Value = loc.ToString(); insertCmd.Parameters[1].Value = loc.Level; insertCmd.Parameters[2].Value = loc.Latitude; insertCmd.Parameters[3].Value = loc.Longitude; insertCmd.Parameters[4].Value = loc.FoundLocation; insertCmd.Parameters[5].Value = loc.FoundLevel; insertCmd.Parameters[6].Value = loc.ViewPort.NorthEast.Long; insertCmd.Parameters[7].Value = loc.ViewPort.NorthEast.Lat; insertCmd.Parameters[8].Value = loc.ViewPort.SouthWest.Long; insertCmd.Parameters[9].Value = loc.ViewPort.SouthWest.Lat; insertCmd.Parameters[10].Value = loc.GeocodeStatus; insertCmd.Parameters[11].Value = loc.FoundResultType; insertCmd.Parameters[12].Value = loc.LatitudeM; insertCmd.Parameters[13].Value = loc.LongitudeM; int rowsaffected = insertCmd.ExecuteNonQuery(); } }
public static void UpdateGeocode(FactLocation loc) { if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } using (SQLiteCommand updateCmd = new SQLiteCommand("update geocode set founddate=date('now'), level = ?, latitude = ?, longitude = ?, foundlocation = ?, foundlevel = ?, viewport_x_ne = ?, viewport_y_ne = ?, viewport_x_sw = ?, viewport_y_sw = ?, geocodestatus = ?, foundresulttype = ?, latm = ?, longm = ? where location = ?", InstanceConnection)) { SQLiteParameter param = updateCmd.CreateParameter(); param.DbType = DbType.Int32; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.String; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Int32; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Int32; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.String; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.String; updateCmd.Parameters.Add(param); updateCmd.Prepare(); updateCmd.Parameters[0].Value = loc.Level; updateCmd.Parameters[1].Value = loc.Latitude; updateCmd.Parameters[2].Value = loc.Longitude; updateCmd.Parameters[3].Value = loc.FoundLocation; updateCmd.Parameters[4].Value = loc.FoundLevel; updateCmd.Parameters[5].Value = loc.ViewPort.NorthEast.Long; updateCmd.Parameters[6].Value = loc.ViewPort.NorthEast.Lat; updateCmd.Parameters[7].Value = loc.ViewPort.SouthWest.Long; updateCmd.Parameters[8].Value = loc.ViewPort.SouthWest.Lat; updateCmd.Parameters[9].Value = loc.GeocodeStatus; updateCmd.Parameters[10].Value = loc.FoundResultType; updateCmd.Parameters[11].Value = loc.LatitudeM; updateCmd.Parameters[12].Value = loc.LongitudeM; updateCmd.Parameters[13].Value = loc.ToString(); int rowsaffected = updateCmd.ExecuteNonQuery(); if (rowsaffected != 1) { Console.WriteLine("Problem updating"); } OnGeoLocationUpdated(loc); } }
public Stream MapRequestPost(string interpreter, string name, Stream data) { try { if (_serverConfig == null || _serverConfig.Instances.Length == 0) { return(WriteException("ServiceType not initialized!")); } if (IfMatch()) { OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; context.StatusCode = HttpStatusCode.NotModified; return(null); } //DateTime td = DateTime.Now; //Console.WriteLine("Start Map Request " + td.ToLongTimeString() + "." + td.Millisecond + " (" + name + ")"); //System.Threading.Thread.Sleep(10000); string user, pwd; var request = Request(out user, out pwd); NameValueCollection queryString = KeysToLower(request.UriTemplateMatch.QueryParameters); string input = (data != null ? new StreamReader(data).ReadToEnd() : String.Empty); if (String.IsNullOrEmpty(input)) { StringBuilder parameters = new StringBuilder(); foreach (string key in queryString.Keys) { if (parameters.Length > 0) { parameters.Append("&"); } parameters.Append(key.ToUpper() + "=" + queryString[key]); } input = parameters.ToString(); } int instanceNr = GetRandom(_serverConfig.Instances.Length /* MapServerConfig.ServerCount*/); MapServerConfig.ServerConfig.InstanceConfig config = _serverConfig.Instances[instanceNr]; InstanceConnection conn = new InstanceConnection("localhost:" + config.Port); string onlineResource = _serverConfig.OnlineResource + "/MapRequest/" + interpreter + "/" + name; IServiceRequestInterpreter requestInterpreter = GetInterpreter(interpreter); string ret = conn.Send(onlineResource, name, input, PlugInManager.PlugInID(requestInterpreter).ToString(), user, pwd, input.Contains("tile:render") ? 3600 : 0); //Console.WriteLine("Finished map Request: " + (DateTime.Now - td).TotalMilliseconds + "ms (" + name + ")"); if (ret.StartsWith("image:")) { OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; context.ContentType = "image/png"; ret = ret.Substring(6, ret.Length - 6); return(WriteFile(ret)); } if (ret.StartsWith("{")) { try { var mapServerResponse = gView.Framework.system.MapServerResponse.FromString(ret); OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; context.ContentType = mapServerResponse.ContentType; if (mapServerResponse.Expires != null) { AppendEtag((DateTime)mapServerResponse.Expires); } return(WriteBytes(mapServerResponse.Data)); } catch { } } return(WriteValue(ret)); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
public Stream TileWmts(string name, string cacheType, string origin, string epsg, string style, string level, string row, string col) { try { if (_serverConfig == null || _serverConfig.Instances.Length == 0) { return(WriteException("ServiceType not initialized!")); } if (IfMatch()) { OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; context.StatusCode = HttpStatusCode.NotModified; return(null); } string user, pwd; var request = Request(out user, out pwd); int instanceNr = GetRandom(_serverConfig.Instances.Length /* MapServerConfig.ServerCount*/); MapServerConfig.ServerConfig.InstanceConfig config = _serverConfig.Instances[instanceNr]; InstanceConnection conn = new InstanceConnection("localhost:" + config.Port); IServiceRequestInterpreter requestInterpreter = GetInterpreter("wmts"); string ret = conn.Send(String.Empty, name, cacheType + "/" + origin + "/" + epsg + "/" + style + "/~" + level + "/" + row + "/" + col, PlugInManager.PlugInID(requestInterpreter).ToString(), user, pwd); if (ret.StartsWith("image:")) { OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; context.ContentType = "image/png"; ret = ret.Substring(6, ret.Length - 6); return(WriteFile(ret)); } if (ret.StartsWith("{")) { try { var mapServerResponse = gView.Framework.system.MapServerResponse.FromString(ret); OutgoingWebResponseContext context = WebOperationContext.Current.OutgoingResponse; context.ContentType = mapServerResponse.ContentType; if (mapServerResponse.Expires != null) { AppendEtag((DateTime)mapServerResponse.Expires); } return(WriteBytes(mapServerResponse.Data)); } catch { } } return(WriteValue(ret)); } catch (UnauthorizedAccessException) { return(WriteUnauthorized()); } }
void ConvertLatLongs() { Coordinate Point, NorthEast, SouthWest; Coordinate mPoint, mNorthEast, mSouthWest; double latitude, longitude, viewport_x_ne, viewport_y_ne, viewport_x_sw, viewport_y_sw; if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } int rowcount = 0; using (SQLiteCommand cmd = new SQLiteCommand("select count(*) from geocode where latitude <> 0 and longitude <> 0", InstanceConnection)) { using (SQLiteDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleResult)) { reader.Read(); int.TryParse(reader[0].ToString(), out rowcount); } } #region update cmd using (SQLiteCommand updateCmd = new SQLiteCommand("update geocode set latm=?, longm=?, viewport_x_ne=?, viewport_y_ne=?, viewport_x_sw=?, viewport_y_sw=? where location = ?", InstanceConnection)) { SQLiteParameter param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.Double; updateCmd.Parameters.Add(param); param = updateCmd.CreateParameter(); param.DbType = DbType.String; updateCmd.Parameters.Add(param); updateCmd.Prepare(); Progress p = new Progress(rowcount); p.Show(); int row = 0; using (SQLiteCommand cmd = new SQLiteCommand("select location, latitude, longitude, viewport_x_ne, viewport_y_ne, viewport_x_sw, viewport_y_sw from geocode where latitude <> 0 and longitude <> 0", InstanceConnection)) { using (SQLiteDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { latitude = longitude = viewport_x_ne = viewport_x_sw = viewport_y_ne = viewport_y_sw = 0; string location = reader["location"].ToString(); double.TryParse(reader["latitude"].ToString(), out latitude); double.TryParse(reader["longitude"].ToString(), out longitude); double.TryParse(reader["viewport_x_ne"].ToString(), out viewport_x_ne); double.TryParse(reader["viewport_y_ne"].ToString(), out viewport_y_ne); double.TryParse(reader["viewport_x_sw"].ToString(), out viewport_x_sw); double.TryParse(reader["viewport_y_sw"].ToString(), out viewport_y_sw); Point = new Coordinate(longitude, latitude); NorthEast = new Coordinate(viewport_y_ne, viewport_x_ne); // old viewports had x & y wrong way round SouthWest = new Coordinate(viewport_y_sw, viewport_x_sw); // x is stored as lat y as long mPoint = MapTransforms.TransformCoordinate(Point); mNorthEast = MapTransforms.TransformCoordinate(NorthEast); mSouthWest = MapTransforms.TransformCoordinate(SouthWest); // now write back the m versions updateCmd.Parameters[0].Value = mPoint.Y; updateCmd.Parameters[1].Value = mPoint.X; updateCmd.Parameters[2].Value = mNorthEast.X; updateCmd.Parameters[3].Value = mNorthEast.Y; updateCmd.Parameters[4].Value = mSouthWest.X; updateCmd.Parameters[5].Value = mSouthWest.Y; updateCmd.Parameters[6].Value = location; updateCmd.ExecuteNonQuery(); p.Update(++row); } } } p.Dispose(); } #endregion }
private static void BarOutput(InstanceConnector output, InstanceConnection<SyntaxNode> connection, Scope scope) { Assert.IsNotNull(connection.OutputNode); Assert.IsNotNull(connection.InputNode); Assert.IsInstanceOfType(connection.InputNode, typeof(ExpressionSyntax)); Assert.IsInstanceOfType(connection.OutputNode, typeof(ExpressionSyntax)); scope.AddInstanceInitializer(FooInputInit.Get( connection.Source, CSharp.ParseExpression('"' + connection.Input.Id + '"'), CSharp.BinaryExpression(SyntaxKind.EqualsExpression, (ExpressionSyntax)connection.InputNode, (ExpressionSyntax)connection.OutputNode))); }
void UpgradeDatabase(Version dbVersion) { try { Version v7_3_3_2 = new Version("7.3.3.2"); Version v7_4_0_0 = new Version("7.4.0.0"); Version v8_0_0_0 = new Version("8.0.0.0"); if (InstanceConnection.State != ConnectionState.Open) { InstanceConnection.Open(); } if (dbVersion < v7_3_3_2) { try { using (SqliteCommand cmd = new SqliteCommand("SELECT count(*) FROM LostCousins", InstanceConnection)) { cmd.ExecuteNonQuery(); } } catch (SqliteException) { using (SqliteCommand cmd = new SqliteCommand("create table IF NOT EXISTS LostCousins (CensusYear INTEGER(4), CensusCountry STRING (20), CensusRef STRING(25), IndID STRING(10), FullName String(80), constraint pkLostCousins primary key (CensusYear, CensusCountry, CensusRef, IndID))", InstanceConnection)) { cmd.ExecuteNonQuery(); } } using (SqliteCommand cmd = new SqliteCommand("update versions set Database = '7.3.3.2'", InstanceConnection)) { cmd.ExecuteNonQuery(); } } if (dbVersion < v7_4_0_0) { using (SqliteCommand cmd = new SqliteCommand("drop table versions", InstanceConnection)) { cmd.ExecuteNonQuery(); } using (SqliteCommand cmd = new SqliteCommand("CREATE TABLE IF NOT EXISTS Versions(Platform VARCHAR(10) PRIMARY KEY, [Database] VARCHAR(10));", InstanceConnection)) { cmd.ExecuteNonQuery(); } using (SqliteCommand cmd = new SqliteCommand("insert into Versions(platform, database) values('PC', '7.4.0.0')", InstanceConnection)) { cmd.ExecuteNonQuery(); } using (SqliteCommand cmd = new SqliteCommand("insert into Versions(platform, database) values('Mac', '1.2.0.42')", InstanceConnection)) { cmd.ExecuteNonQuery(); } } if (dbVersion < v8_0_0_0) { using (SqliteCommand cmd = new SqliteCommand("CREATE TABLE IF NOT EXISTS CustomFacts (FactType STRING(60) PRIMARY KEY, [Ignore] BOOLEAN)", InstanceConnection)) { cmd.ExecuteNonQuery(); } using (SqliteCommand cmd = new SqliteCommand("update Versions set database = '8.0.0.0' where platform = 'PC'", InstanceConnection)) { cmd.ExecuteNonQuery(); } } } catch (Exception ex) { UIHelpers.ShowMessage($"Error upgrading database. Error is :{ex.Message}", "FTAnalyzer"); } }