SQL maanager, Module Creator, module settings enhancements
This commit is contained in:
		
							
								
								
									
										11
									
								
								Oqtane.Server/Repository/Interfaces/ISqlRepository.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Oqtane.Server/Repository/Interfaces/ISqlRepository.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| using System.Data.SqlClient; | ||||
| using Oqtane.Models; | ||||
|  | ||||
| namespace Oqtane.Repository | ||||
| { | ||||
|     public interface ISqlRepository | ||||
|     { | ||||
|         int ExecuteNonQuery(Tenant tenant, string query); | ||||
|         SqlDataReader ExecuteReader(Tenant tenant, string query); | ||||
|     } | ||||
| } | ||||
| @ -361,6 +361,34 @@ namespace Oqtane.Repository | ||||
|                 } | ||||
|             }); | ||||
|             pageTemplates.Add(new PageTemplate | ||||
|             { | ||||
|                 Name = "Sql Management", | ||||
|                 Parent = "Admin", | ||||
|                 Path = "admin/sql", | ||||
|                 Icon = "spreadsheet", | ||||
|                 IsNavigation = false, | ||||
|                 IsPersonalizable = false, | ||||
|                 EditMode = true, | ||||
|                 PagePermissions = _permissionRepository.EncodePermissions(new List<Permission> | ||||
|                 { | ||||
|                     new Permission(PermissionNames.View, Constants.AdminRole, true), | ||||
|                     new Permission(PermissionNames.Edit, Constants.AdminRole, true) | ||||
|                 }), | ||||
|                 PageTemplateModules = new List<PageTemplateModule> | ||||
|                 { | ||||
|                     new PageTemplateModule | ||||
|                     { | ||||
|                         ModuleDefinitionName = "Oqtane.Modules.Admin.Sql, Oqtane.Client", Title = "Sql Management", Pane = "Content", | ||||
|                         ModulePermissions = _permissionRepository.EncodePermissions(new List<Permission> | ||||
|                         { | ||||
|                             new Permission(PermissionNames.View, Constants.AdminRole, true), | ||||
|                             new Permission(PermissionNames.Edit, Constants.AdminRole, true) | ||||
|                         }), | ||||
|                         Content = "" | ||||
|                     } | ||||
|                 } | ||||
|             }); | ||||
|             pageTemplates.Add(new PageTemplate | ||||
|             { | ||||
|                 Name = "Upgrade Service", Parent = "Admin", Path = "admin/upgrade", Icon = "aperture", IsNavigation = false, IsPersonalizable = false, EditMode = true, | ||||
|                 PagePermissions = _permissionRepository.EncodePermissions(new List<Permission> | ||||
|  | ||||
							
								
								
									
										48
									
								
								Oqtane.Server/Repository/SqlRepository.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								Oqtane.Server/Repository/SqlRepository.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | ||||
| using System; | ||||
| using System.Data; | ||||
| using System.Data.SqlClient; | ||||
| using Oqtane.Models; | ||||
|  | ||||
| namespace Oqtane.Repository | ||||
| { | ||||
|     public class SqlRepository : ISqlRepository | ||||
|     { | ||||
|  | ||||
|         public int ExecuteNonQuery(Tenant tenant, string query) | ||||
|         { | ||||
|             SqlConnection conn = new SqlConnection(FormatConnectionString(tenant.DBConnectionString)); | ||||
|             SqlCommand cmd = conn.CreateCommand(); | ||||
|             using (conn) | ||||
|             { | ||||
|                 PrepareCommand(conn, cmd, query); | ||||
|                 int val = cmd.ExecuteNonQuery(); | ||||
|                 return val; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         public SqlDataReader ExecuteReader(Tenant tenant, string query) | ||||
|         { | ||||
|             SqlConnection conn = new SqlConnection(FormatConnectionString(tenant.DBConnectionString)); | ||||
|             SqlCommand cmd = conn.CreateCommand(); | ||||
|             PrepareCommand(conn, cmd, query); | ||||
|             var dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); | ||||
|             return dr; | ||||
|         } | ||||
|  | ||||
|         private void PrepareCommand(SqlConnection conn, SqlCommand cmd, string query) | ||||
|         { | ||||
|             if (conn.State != ConnectionState.Open) | ||||
|             { | ||||
|                 conn.Open(); | ||||
|             } | ||||
|             cmd.Connection = conn; | ||||
|             cmd.CommandText = query; | ||||
|             cmd.CommandType = CommandType.Text; | ||||
|         } | ||||
|  | ||||
|         private string FormatConnectionString(string connectionString) | ||||
|         { | ||||
|             return connectionString.Replace("|DataDirectory|", AppDomain.CurrentDomain.GetData("DataDirectory").ToString()); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker