Advertisement
Guest User

Untitled

a guest
Apr 29th, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Reflection;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using System.Web;
  9. using MySql.Data.MySqlClient;
  10. using Newtonsoft.Json;
  11.  
  12. namespace Ouvidoria_Social_DataAccess
  13. {
  14. public class ConnectionDbClass
  15. {
  16. //LOCAL
  17. public static string StringConexao ="persist security info=False;server=localhost;database=os_database;uid=root;pwd=admin";
  18.  
  19. //AMAZON OFICIAL
  20. //public static string StringConexao ="persist security info=False;server=mysqltadeu.clr2njwaayrb.us-west-2.rds.amazonaws.com;database=os_database;uid=root;pwd=tadeuclasse";
  21.  
  22. //AMAZON TREINO
  23. //public static string StringConexao = "persist security info=False;server=mysqltadeu.clr2njwaayrb.us-west-2.rds.amazonaws.com;database=os_database_treino;uid=root;pwd=tadeuclasse";
  24.  
  25. public static string CaminhoImagens = "\\Images";
  26.  
  27. private static ModeloBanco _instance = null;
  28.  
  29. public static ModeloBanco DataModel
  30. {
  31. get
  32. {
  33. var osConfig = LerConfiguracoes();
  34.  
  35. if (CreateDataBase(osConfig))
  36. {
  37. StringConexao ="persist security info=False;server="+ osConfig.DataBaseAddres +
  38. ";database=os_database;uid="+ osConfig.DataBaseUser+
  39. ";pwd="+ osConfig.DataBasePsw + ";port="+ osConfig.DataBasePort +";";
  40.  
  41. return _instance ?? (_instance = new ModeloBanco(StringConexao));
  42. }
  43. else
  44. {
  45. return null;
  46. }
  47. }
  48. }
  49.  
  50. private static OsConfig LerConfiguracoes()
  51. {
  52. //var ass = Assembly.GetExecutingAssembly();
  53. //var configStream = new StreamReader(ass.GetManifestResourceStream("Ouvidoria_Social_DataAccess.OsConfig.json"));
  54. //var configFile = configStream.ReadToEnd();
  55.  
  56. var configFile = File.ReadAllText(HttpContext.Current.Server.MapPath("~/OsConfig.json"));
  57.  
  58. var osConfig = JsonConvert.DeserializeObject<OsConfig>(configFile);
  59.  
  60. return osConfig;
  61. }
  62.  
  63. private static bool CreateDataBase(OsConfig osConfig)
  64. {
  65. try
  66. {
  67. var command = "server="+ osConfig.DataBaseAddres +";user="+ osConfig.DataBaseUser +
  68. ";port="+ osConfig.DataBasePort +";password="+ osConfig.DataBasePsw +";";
  69.  
  70. var conn = new MySqlConnection(command);
  71. var cmd = conn.CreateCommand();
  72.  
  73. conn.Open();
  74.  
  75. cmd.CommandText = "SHOW DATABASES LIKE 'os_database'";
  76. var record = cmd.ExecuteScalar();
  77.  
  78. if (record == null)
  79. {
  80. var ass = Assembly.GetExecutingAssembly();
  81. var configStream =
  82. new StreamReader(ass.GetManifestResourceStream("Ouvidoria_Social_DataAccess.SQL.OsDbSchema.sql"));
  83. var sql = configStream.ReadToEnd();
  84. cmd.CommandText = sql;
  85. cmd.ExecuteNonQuery();
  86.  
  87. configStream =
  88. new StreamReader(ass.GetManifestResourceStream("Ouvidoria_Social_DataAccess.SQL.OsDbData.sql"));
  89. sql = configStream.ReadToEnd();
  90. cmd.CommandText = sql;
  91. cmd.ExecuteNonQuery();
  92. }
  93.  
  94. conn.Close();
  95.  
  96. return true;
  97. }
  98. catch (Exception ex)
  99. {
  100. Console.WriteLine(ex.Message);
  101. return false;
  102. }
  103. }
  104. }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement