Ejemplo n.º 1
0
        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);
        }