protected override void AfterEditAfterCommit(Durados.EditEventArgs e) { base.AfterEditAfterCommit(e); if (e.Values != null && e.Values.ContainsKey("Name")) { MapDataSet.durados_AppRow appRow = (MapDataSet.durados_AppRow)e.PrevRow; string oldName = appRow.Name; string newName = e.Values["Name"].ToString(); if (!oldName.Equals(newName)) { //Maps.Instance.ChangeName(oldName, newName); //CreateDns(newName); Maps.Instance.Restart(oldName); } //SqlProduct product = Maps.GetSqlProduct(newName); //if (product == SqlProduct.MySql) //{ // string url = Maps.GetAppUrl(newName); // string[] split = url.Split(':'); // url = split[0] + ":" + split[1] + ":" + Maps.ProductsPort[product] + "/Admin/Restart?id=" + Map.Database.GetUserGuid(); // Infrastructure.Http.CallWebRequest(url); //} //else //{ //Maps.Instance.Restart(oldName); //} } }
protected override void BeforeEdit(Durados.EditEventArgs e) { ValidateAuthApp(e); if (e.Values.ContainsKey("Name")) { MapDataSet.durados_AppRow appRow = (MapDataSet.durados_AppRow)e.PrevRow; string oldName = appRow.Name; string newName = GetCleanName(e.Values["Name"].ToString()); if (!oldName.Equals(newName)) { string urlFieldName = "Url"; if (e.Values.ContainsKey(urlFieldName)) { e.Values[urlFieldName] = e.Values[urlFieldName].ToString().Replace("appName=" + oldName, "appName=" + newName); } else { e.Values.Add(urlFieldName, appRow[urlFieldName].ToString().Replace("appName=" + oldName, "appName=" + newName)); } e.Values["Name"] = newName; } } base.BeforeEdit(e); }
public object GetOracleConnection(MapDataSet.durados_AppRow appRow, object builder, int localPort) { int dataSourceTypeId = appRow.DataSourceTypeId; bool usesSsh = !appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.IsSshUsesNull() && appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.SshUses; return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection, dataSourceTypeId, (System.Data.SqlClient.SqlConnectionStringBuilder)builder, OracleAccess.GetConnectionStringSchema())); }
private void HandleTemplate(string name, string id, MapDataSet.durados_AppRow appRow, string connectionString) { string oldConfigFileName = Maps.GetConfigPath(string.Format("durados_AppSys_{0}.xml", id)); string newConfigFileName = Maps.GetConfigPath(string.Format("{0}.xml", Maps.DemoConfigFilename)); string newSchemaFileName = newConfigFileName + ".xml"; string oldSchemaFileName = oldConfigFileName + ".xml"; System.IO.File.Copy(newConfigFileName, oldConfigFileName); System.IO.File.Copy(newSchemaFileName, oldSchemaFileName); string directory = Maps.DemoFtpPhysicalPath + name; System.IO.Directory.CreateDirectory(directory); string employeePicture = Server.MapPath("~/Content/Images/pic.jpg"); System.IO.File.Copy(employeePicture, directory + @"\" + "pic.jpg"); try { CopyAzureContainer(Convert.ToInt32(id), oldConfigFileName); } catch (Exception exception) { Map.Logger.Log(GetControllerNameForLog(this.ControllerContext), this.ControllerContext.RouteData.Values["action"].ToString(), exception.Source, exception, 1, "Could not copy uploads"); } //Maps.Instance.Restart(name); }
public object GetPostgreConnection(MapDataSet.durados_AppRow appRow, object builder, int localPort) { int dataSourceTypeId = appRow.DataSourceTypeId; bool usesSsl = !appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.IsSslUsesNull() && appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.SslUses; return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection, dataSourceTypeId, (System.Data.SqlClient.SqlConnectionStringBuilder)builder, usesSsl ? "server={0};database={1};User Id={2};password={3};SSL=true;SslMode=Require;" : "server={0};database={1};User Id={2};password={3}") + ";port=" + localPort.ToString() + ";Encoding=UNICODE;CommandTimeout=90;Timeout=60;"); }
public object GetMySqlConnection(MapDataSet.durados_AppRow appRow, object builder, int localPort) { int dataSourceTypeId = appRow.DataSourceTypeId; bool usesSsh = !appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.IsSshUsesNull() && appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.SshUses; return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection, dataSourceTypeId, (System.Data.SqlClient.SqlConnectionStringBuilder)builder, usesSsh ? "server=localhost;database={1};User Id={2};password={3};Allow User Variables=True;CharSet=utf8mb4;UseProcedureBodies=true;" : "server={0};database={1};User Id={2};password={3}") + ";port=" + localPort.ToString() + ";convert zero datetime=True;default command timeout=90;Connection Timeout=60;Allow User Variables=True;CharSet=utf8mb4;UseProcedureBodies=true;"); }
protected virtual IDbConnection GetConnection(MapDataSet.durados_AppRow appRow) { if (appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection == null) { throw new DuradosException("Missing app connection"); } SqlPersistency persistency = new SqlPersistency(); System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(); persistency.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MapsConnectionString"].ConnectionString; int sqlProduct = appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.SqlProductId; string connectionString = persistency.GetConnection(appRow, builder).ToString(); int localPort = 0; if (sqlProduct == (int)SqlProduct.MySql) { if (appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.IsSshUsesNull() || !appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.SshUses) { localPort = 3306; } else { localPort = 11111; } } else if (sqlProduct == (int)SqlProduct.Postgre) { localPort = Convert.ToInt32(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.ProductPort ?? "5432"); } else if (sqlProduct == (int)SqlProduct.Oracle) { localPort = Convert.ToInt32(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection.ProductPort ?? "1521"); } if (sqlProduct == 3) { connectionString = persistency.GetMySqlConnection(appRow, builder, localPort).ToString(); } else if (sqlProduct == 4) { connectionString = persistency.GetPostgreConnection(appRow, builder, localPort).ToString(); } else if (sqlProduct == 5) { connectionString = persistency.GetOracleConnection(appRow, builder, localPort).ToString(); } else { connectionString = persistency.GetSqlServerConnection(appRow, builder).ToString(); } return(SqlAccess.GetNewConnection((SqlProduct)sqlProduct, connectionString)); }
protected override void AfterCreateAfterCommit(CreateEventArgs e) { base.AfterCreateAfterCommit(e); string dataSourceTypeId = e.Values[dataSourceTypeFieldName].ToString(); string name = e.Values[nameFieldName].ToString(); System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(); builder.ConnectionString = Map.connectionString; string cleanName = GetCleanName(name); if (dataSourceTypeId == "1" || dataSourceTypeId == "4") // blank or template { SqlAccess sqlAccess = new SqlAccess(); Dictionary <string, object> values = new Dictionary <string, object>(); values.Add("Catalog", cleanName); values.Add("SysCatalog", Maps.DuradosAppSysPrefix + cleanName); //values.Add("ServerName", builder.DataSource); //values.Add("Username", builder.UserID); //values.Add("Password", builder.Password); //values.Add("IntegratedSecurity", builder.IntegratedSecurity); values.Add("DuradosUser", Map.Database.GetUserID()); sqlAccess.ExecuteNoneQueryStoredProcedure(Maps.Instance.ConnectionString, "durados_SetConnection", values); } if (dataSourceTypeId == "2") // existing { string sysConnection = e.Values["FK_durados_App_durados_SqlConnection_System_Parent"].ToString(); if (string.IsNullOrEmpty(sysConnection)) { SqlAccess sqlAccess = new SqlAccess(); Dictionary <string, object> values = new Dictionary <string, object>(); values.Add("Catalog", cleanName); values.Add("SysCatalog", Maps.DuradosAppSysPrefix + cleanName); values.Add("DuradosUser", Map.Database.GetUserID()); sqlAccess.ExecuteNoneQueryStoredProcedure(Maps.Instance.ConnectionString, "durados_SetSysConnection", values); } } if (dataSourceTypeId == "4") // template { IPersistency persistency = Maps.Instance.GetNewPersistency(); MapDataSet.durados_AppRow appRow = (MapDataSet.durados_AppRow)((View)e.View).GetDataRow(e.View.Fields[nameFieldName], name); if (!appRow.IsTemplateFileNull() && !string.IsNullOrEmpty(appRow.TemplateFile)) { TemplateGenerator TemplateGenerator = new TemplateGenerator(persistency.GetConnection(appRow, builder).ToString(), appRow.TemplateFile); } } //UpdateCache(name); CreateDns(cleanName); }
protected virtual IDbCommand GetSystemCommand(MapDataSet.durados_AppRow appRow) { if (appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_System == null) { throw new DuradosException("Missing system connection"); } int systemSqlProduct = appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_System.SqlProductId; return(GetCommand(systemSqlProduct)); }
public object GetSecurityConnection(MapDataSet.durados_AppRow appRow, object builder) { int dataSourceTypeId = appRow.DataSourceTypeId; if (appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_Security == null) { return(null);//System.Configuration.ConfigurationManager.ConnectionStrings["SecurityConnectionString"]; } else { return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_Security, dataSourceTypeId, builder)); } }
public object GetSystemConnection(MapDataSet.durados_AppRow appRow, object builder) { int dataSourceTypeId = appRow.DataSourceTypeId; if (appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_System == null) { return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection, dataSourceTypeId, builder)); } else { return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_System, dataSourceTypeId, builder)); } }
protected virtual IDbConnection GetSystemConnection(MapDataSet.durados_AppRow appRow) { if (appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_System == null) { throw new DuradosException("Missing system connection"); } SqlPersistency persistency = new SqlPersistency(); System.Data.SqlClient.SqlConnectionStringBuilder builder = new System.Data.SqlClient.SqlConnectionStringBuilder(); persistency.SystemConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["SystemMapsConnectionString"].ConnectionString; int systemSqlProduct = appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection_System.SqlProductId; string connectionString = persistency.GetSystemConnection(appRow, builder).ToString(); return(SqlAccess.GetNewConnection((SqlProduct)systemSqlProduct, connectionString)); }
public MapDataSet.durados_AppRow GetAppRow() { if (appRow != null) { return(appRow); } View appView = GetAppView(); Field idField = appView.Fields["Id"]; if (!AppId.HasValue) { Durados.Diagnostics.EventViewer.WriteEvent(string.Format("Could not find app for appname: {0} or AppId: {1}", AppName, AppId)); return(null); } try { appRow = (MapDataSet.durados_AppRow)appView.GetDataRow(idField, AppId.Value.ToString(), false); } catch (Exception exception) { Durados.Diagnostics.EventViewer.WriteEvent("failed to GetDataRow for id: " + AppId.Value, exception); try { ((DuradosMap)Maps.Instance.DuradosMap).AddSslAndAahKeyColumn(); appRow = (MapDataSet.durados_AppRow)appView.GetDataRow(idField, AppId.Value.ToString(), false); } catch (Exception exception2) { //Durados.Diagnostics.EventViewer.WriteEvent(exception2); } } if (appRow == null) { return(null); } AppName = appRow.Name; return(appRow); }
public object GetSqlServerConnection(MapDataSet.durados_AppRow appRow, object builder) { int dataSourceTypeId = appRow.DataSourceTypeId; return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection, dataSourceTypeId, (System.Data.SqlClient.SqlConnectionStringBuilder)builder, "Data Source={0};Initial Catalog={1};User ID={2};Password={3};Integrated Security=False;")); }
public object GetLogConnection(MapDataSet.durados_AppRow appRow, object builder) { return(GetSystemConnection(appRow, builder));// +";MultipleActiveResultSets=True;Asynchronous Processing=true;"; }
public object GetConnection(MapDataSet.durados_AppRow appRow, object builder) { int dataSourceTypeId = appRow.DataSourceTypeId; return(GetConnection(appRow.durados_SqlConnectionRowByFK_durados_App_durados_SqlConnection, dataSourceTypeId, builder)); }