public static Decrypt ( string cypherString, bool useHasing ) : string | ||
cypherString | string | |
useHasing | bool | |
return | string |
public static string RetornaUltimo() { try { string caminho = AppDomain.CurrentDomain.BaseDirectory; SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); // adicionar um try caso o arquivo não exista var prods = from p in XElement.Load((CaminhoDadosXML(caminho) + @"Dados\Conexoes.xml")).Elements("Conexao") where p.Element("tipo").Value == "azure" select new { servidor = p.Element("servidor").Value, usuario = p.Element("usuario").Value, senha = p.Element("senha").Value, banco = p.Element("banco").Value, }; // Executa a consulta foreach (var produto in prods) { string cipherText = produto.senha.Trim(); string decryptedText = CryptorEngine.Decrypt(cipherText, true); builder.DataSource = produto.servidor; builder.UserID = produto.usuario; builder.Password = decryptedText; builder.InitialCatalog = produto.banco; builder.ConnectTimeout = 60; } prods = null; using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) { StringBuilder sb = new StringBuilder(); sb.Append("SELECT TOP(1) ID"); sb.Append(" FROM dbo.vendas_frigobom_full ORDER BY ID DESC"); String sql = sb.ToString(); SqlDataAdapter da = new SqlDataAdapter(); SqlCommand cmd = connection.CreateCommand(); cmd.CommandText = sql; da.SelectCommand = cmd; DataSet ds = new DataSet(); DataTable DT = new DataTable(); connection.Open(); da.Fill(DT); string UltReg = "0"; string meu = DT.Rows.Count.ToString(); if (String.IsNullOrEmpty(meu)) { UltReg = "0"; } else { UltReg = DT.Rows[0]["ID"].ToString(); } DT.Clear(); connection.Close(); return(UltReg); } } catch (SqlException eg) { if (eg.ErrorCode == 11001) { return("-1"); } else { Console.WriteLine(eg.ToString()); return(null); } } }
private void updatetblUserToUser() { //Cấu trúc bảng mới MVC string script01 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Data_MVC.sql")); var t01 = ExcuteSQL.Execute(script01); //Cấu trúc bảng mới MVC string script01_1 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Data_MVC_ParkingEvent.sql")); var t01_1 = Kztek.Data.Event.SqlHelper.ExcuteSQLEvent.Execute(script01_1); //Cấu trúc bổ sung của tblUser string script02 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Structure_tblUser.sql")); var t02 = ExcuteSQL.Execute(script02); //Cấu trúc để với hệ thống iAccessEvent string script03 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Data_MVC_AccessEvent.sql")); var t03 = Kztek.Data.AccessEvent.SqlHelper.ExcuteSQLEvent.Execute(script03); //Bảng mới cho Access string script04 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Data_MVC_Access.sql")); var t04 = ExcuteSQL.Execute(script04); //BẢNG MỚI CHO TRƯỜNG CHINH string script05 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Structure_NoteFreeTRANSERCO.sql")); var t05 = ExcuteSQLEvent.Execute(script05); //Cấu trúc bảng phần Locker model - Phần nạp thẻ cố định string script06 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Data_MVC_Locker.sql")); var t06 = ExcuteSQL.Execute(script06); //Cấu trúc bảng phần Locker Event model string script07 = System.IO.File.ReadAllText(Server.MapPath("~/uploads/file/Data_MVC_LockerEvent.sql")); var t07 = Kztek.Data.LockerEvent.SqlHelper.ExcuteSQLEvent.Execute(script07); //Chuyển dữ liệu tblUser -> User var list = _tblUserService.GetAll(); if (list.Any()) { foreach (var item in list) { var obj = _UserService.GetById(item.UserID.ToString()); if (obj == null) { var tNew = new User(); tNew.Id = item.UserID.ToString(); tNew.Username = item.UserName; tNew.Active = !Convert.ToBoolean(item.IsLock); tNew.Admin = item.IsSystem; tNew.DateCreated = DateTime.Now; tNew.Name = item.FullName; tNew.PasswordSalat = Guid.NewGuid().ToString(); tNew.IsDeleted = false; var pass = CryptorEngine.Decrypt(item.Password, true); tNew.Password = pass.PasswordHashed(tNew.PasswordSalat); _UserService.Create(tNew); } } } //Gán quyền BAOVE //var listNewUser = _UserService.GetAllActive(); //foreach (var item in listNewUser) //{ // var UserRole = new UserRole() // { // Id = Common.GenerateId(), // RoleId = "", // UserId = item.Id // }; //} }
public void atualizar_azure() { Global.Login = "******"; string texto2 = " Começando os Trabalhos!! "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } //string caminho; string firebird_ds = ""; string firebird_db = ""; string firebird_user = ""; string firebird_pass = ""; string arqLog = CaminhoDadosXML(caminho) + @"Dados\LOG.sql"; // string arqLog = @"C:\Users\Ivan\Documents\FRIGOBOM DADOS.FDB\LOG.sql"; string nomeArquivo = CaminhoDadosXML(caminho) + @"Dados\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql"; //string nomeArquivo = @"C:\Users\Ivan\Documents\FRIGOBOM DADOS.FDB\" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".sql"; String oLog = ">>> run " + DateTime.Now.ToString("dd'/'MM'/'yyyy HH:mm:ss") + "\r\n" + "Summary \r\n"; caminho = AppDomain.CurrentDomain.BaseDirectory; // adicionar um try caso o arquivo não exista var prods = from p in XElement.Load((CaminhoDadosXML(caminho) + @"Dados\Conexoes.xml")).Elements("Conexao") where p.Element("tipo").Value == "fb" select new { servidor = p.Element("servidor").Value, usuario = p.Element("usuario").Value, senha = p.Element("senha").Value, banco = p.Element("banco").Value, }; // Executa a consulta foreach (var produto in prods) { firebird_ds = produto.servidor; firebird_db = produto.banco; firebird_user = produto.usuario; firebird_pass = produto.senha; } texto2 = " Testado Conexão!! "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } if (testar_conexao(firebird_ds, firebird_db, firebird_user, firebird_pass) == false) { texto2 = "Conexão ao Firebird Falhou "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } Global.gravaLog("Erro de conexão com o FireBird"); Global.Login = "******"; return; } texto2 = " Conexão ao Fire OK!"; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } Stopwatch watch = new Stopwatch(); watch.Start(); string strConn = "@DataSource=" + firebird_ds + "; Database=" + firebird_db + "; username= "******"; password = "******";Pooling=false"; FbConnection conn = new FbConnection(strConn); ///pegar ultimo registro no cloud /// if (TestaAzure(caminho) == "-2146232060") { texto2 = " Conexão com o cloud falhou!"; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } Global.gravaLog("Erro de conexão com o cloud"); Global.Login = "******"; return; } string LastReg = RetornaUltimo(); if (LastReg == "-1") { Global.gravaLog("Erro ao conectar ao cloud e captura última atualização"); Global.Login = "******"; return; } Int64 LimMax = Convert.ToInt64(LastReg); if (string.IsNullOrEmpty(LimMax.ToString())) { Global.gravaLog("Não foi possivel achar o último Registro no cloud - linha 353"); Global.Login = "******"; return; } LimMax += 10000; String fb_mysql; fb_mysql = @" select first 10000 mov_nf.id, mov_nf.situacao, mov_nf.id_pessoa, mov_nf.emitente, mov_nf.numero, mov_nf.emissao, mov_nf.tipo_pagamento, mov_nf.id_loja, mov_nf.modelo, mov_nf.digitacao, tb_nf_situacao.nome nome_nf_situacao, tb_pessoas.nome nome_pessoa, tb_nf_modelos.nome nome_nf, mov_nf_itens.id_seq, tb_produtos.nome nome_produto, mov_nf_itens.id_produto, mov_nf_itens.id_unidademedida, mov_nf_itens.quantidade, mov_nf_itens.precounitario, mov_nf_itens.valortotal, tb_produtos_unmedida.nome nome_unidade_medida, tb_produtos.id_grupos, tb_produtos_grupos.nome nome_grupo, tb_produtos.id_subgrupos, tb_produtos_subgrupos.nome nome_subgrupo from tb_nf_modelos right outer join mov_nf on (tb_nf_modelos.id = mov_nf.modelo) inner join mov_nf_itens on (mov_nf.id = mov_nf_itens.id) left outer join tb_produtos_unmedida on(mov_nf_itens.id_unidademedida = tb_produtos_unmedida.id) left outer join tb_produtos on(mov_nf_itens.id_produto = tb_produtos.id) left outer join tb_produtos_subgrupos on(tb_produtos.id_subgrupos = tb_produtos_subgrupos.id) left outer join tb_produtos_grupos on(tb_produtos.id_grupos = tb_produtos_grupos.id) left outer join tb_pessoas on(mov_nf.id_pessoa = tb_pessoas.id) inner join tb_nf_situacao on(mov_nf.situacao = tb_nf_situacao.id) where ( (mov_nf.emitente = 'P') and (mov_nf.id> " + LastReg + " and mov_nf.id< " + LimMax + @" ) and (tb_nf_situacao.nome = 'Documento regular') ) order by mov_nf.id;"; watch.Stop(); //Log log = new Log(); // log.WriteEntry(watch.Elapsed + " | Tempo de processamento na Consulta Firebird " + "\r\n"); oLog += watch.Elapsed + " | Tempo de processamento na montagem SQL " + "\r\n"; ///medir o tempo de execução watch.Restart(); texto2 = " Executando consulta no Fire "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } int num_newRegistro = 0; try { FbCommand cmd = new FbCommand(fb_mysql, conn); // FbDataAdapter DA = new FbDataAdapter(cmd); FbDataAdapter DA2 = new FbDataAdapter(cmd); DataSet DS = new DataSet(); DataTable DT = new DataTable(); conn.Open(); // DA.Fill(DS, "teste"); DA2.Fill(DT); conn.Close(); num_newRegistro = Convert.ToInt16(DT.Rows.Count.ToString()); if (num_newRegistro < 1) { texto2 = " Não há dados novos! "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } watch.Stop(); //Log log = new Log(); // log.WriteEntry(watch.Elapsed + " | Tempo de processamento na Consulta Firebird " + "\r\n"); oLog += watch.Elapsed + " | Não Há dados novos - aguardar próximo. " + "\r\n"; StreamWriter writer3 = new StreamWriter(arqLog, true); //Fecha o Log writer3.WriteLineAsync(oLog); oLog = null; writer3.Flush(); writer3.Close(); Global.gravaLogAzure(); Global.Login = "******"; return; } watch.Stop(); //Log log = new Log(); // log.WriteEntry(watch.Elapsed + " | Tempo de processamento na Consulta Firebird " + "\r\n"); oLog += watch.Elapsed + " | Tempo de processamento na Consulta Firebird " + "\r\n"; // dataGridView2.DataSource = DS; // dataGridView2.DataMember = "teste"; //textBox2.Text += "fim conexao"; // textBox2.Text += "GErar SQL"; //comecar o loop string str = string.Empty; string Oinsert = string.Empty; string Ovalues = string.Empty; string Osql = string.Empty; string str2 = string.Empty; watch.Restart(); texto2 = " Montando Arquivo "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } Oinsert = @"INSERT INTO [dbo].[vendas_frigobom_full] ([ID] ,[SITUACAO] ,[ID_PESSOA] ,[EMITENTE] ,[NUMERO] ,[EMISSAO] ,[TIPO_PAGAMENTO] ,[ID_LOJA] ,[MODELO] ,[DIGITACAO] ,[NOME_NF_SITUACAO] ,[NOME_PESSOA] ,[NOME_NF] ,[ID_SEQ] ,[NOME_PRODUTO] ,[ID_PRODUTO] ,[ID_UNIDADEMEDIDA] ,[QUANTIDADE] ,[PRECOUNITARIO] ,[VALORTOTAL] ,[NOME_UNIDADE_MEDIDA] ,[ID_GRUPOS] ,[NOME_GRUPO] ,[ID_SUBGRUPOS] ,[NOME_SUBGRUPO]) VALUES "; int i = 0; int c = 0; string b = DT.Rows.Count.ToString(); foreach (DataRow dRow in DT.Rows) { i++; c++; if (i == 1) { Osql += "\r\n" + Oinsert + "(" + TrataNulo(dRow["id"].ToString()) + ",'" + dRow["situacao"].ToString() + "'," + TrataNulo(dRow["id_pessoa"].ToString()) + ",'" + dRow["emitente"].ToString() + "'," + TrataNulo(dRow["numero"].ToString()) + ",'" + ConvertData(dRow["emissao"].ToString()) + "','" + dRow["tipo_pagamento"].ToString() + "'," + TrataNulo(dRow["id_loja"].ToString()) + ",'" + dRow["modelo"].ToString() + "','" + ConvertData(dRow["digitacao"].ToString()) + "','" + dRow["nome_nf_situacao"].ToString().Replace("'", "'+char(39)+'") + "','" + dRow["nome_pessoa"].ToString().Replace("'", "'+char(39)+'") + "','" + dRow["nome_nf"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_seq"].ToString()) + ",'" + dRow["nome_produto"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_produto"].ToString()) + "," + TrataNulo(dRow["id_unidademedida"].ToString()) + "," + dRow["quantidade"].ToString().Replace(",", ".") + "," + dRow["precounitario"].ToString().Replace(",", ".") + "," + dRow["valortotal"].ToString().Replace(",", ".") + ",'" + dRow["nome_unidade_medida"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_grupos"].ToString()) + ",'" + dRow["nome_grupo"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_subgrupos"].ToString()) + ",'" + dRow["nome_subgrupo"].ToString().Replace("'", "'+char(39)+'") + "')\r\n"; } else if (i == 999) { i = 0; Osql += ",(" + TrataNulo(dRow["id"].ToString()) + ",'" + dRow["situacao"].ToString() + "'," + TrataNulo(dRow["id_pessoa"].ToString()) + ",'" + dRow["emitente"].ToString() + "'," + TrataNulo(dRow["numero"].ToString()) + ",'" + ConvertData(dRow["emissao"].ToString()) + "','" + dRow["tipo_pagamento"].ToString() + "'," + TrataNulo(dRow["id_loja"].ToString()) + ",'" + dRow["modelo"].ToString() + "','" + ConvertData(dRow["digitacao"].ToString()) + "','" + dRow["nome_nf_situacao"].ToString().Replace("'", "'+char(39)+'") + "','" + dRow["nome_pessoa"].ToString().Replace("'", "'+char(39)+'") + "','" + dRow["nome_nf"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_seq"].ToString()) + ",'" + dRow["nome_produto"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_produto"].ToString()) + "," + TrataNulo(dRow["id_unidademedida"].ToString()) + "," + dRow["quantidade"].ToString().Replace(",", ".") + "," + dRow["precounitario"].ToString().Replace(",", ".") + "," + dRow["valortotal"].ToString().Replace(",", ".") + ",'" + dRow["nome_unidade_medida"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_grupos"].ToString()) + ",'" + dRow["nome_grupo"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_subgrupos"].ToString()) + ",'" + dRow["nome_subgrupo"].ToString().Replace("'", "'+char(39)+'") + "')\r\n"; } else { Osql += ",(" + TrataNulo(dRow["id"].ToString()) + ",'" + dRow["situacao"].ToString() + "'," + TrataNulo(dRow["id_pessoa"].ToString()) + ",'" + dRow["emitente"].ToString() + "'," + TrataNulo(dRow["numero"].ToString()) + ",'" + ConvertData(dRow["emissao"].ToString()) + "','" + dRow["tipo_pagamento"].ToString() + "'," + TrataNulo(dRow["id_loja"].ToString()) + ",'" + dRow["modelo"].ToString() + "','" + ConvertData(dRow["digitacao"].ToString()) + "','" + dRow["nome_nf_situacao"].ToString().Replace("'", "'+char(39)+'") + "','" + dRow["nome_pessoa"].ToString().Replace("'", "'+char(39)+'") + "','" + dRow["nome_nf"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_seq"].ToString()) + ",'" + dRow["nome_produto"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_produto"].ToString()) + "," + TrataNulo(dRow["id_unidademedida"].ToString()) + "," + dRow["quantidade"].ToString().Replace(",", ".") + "," + dRow["precounitario"].ToString().Replace(",", ".") + "," + dRow["valortotal"].ToString().Replace(",", ".") + ",'" + dRow["nome_unidade_medida"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_grupos"].ToString()) + ",'" + dRow["nome_grupo"].ToString().Replace("'", "'+char(39)+'") + "'," + TrataNulo(dRow["id_subgrupos"].ToString()) + ",'" + dRow["nome_subgrupo"].ToString().Replace("'", "'+char(39)+'") + "')\r\n"; } } //limpa a dataset DT.Clear(); watch.Stop(); //log.WriteEntry(watch.Elapsed + " | Montagemd o Sql para exportação " + "\r\n"); oLog += watch.Elapsed + " | Montagem do Sql para exportação " + "\r\n"; watch.Restart(); texto2 = " Escrevendo Arquivo! "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } // Cria um novo arquivo e devolve um StreamWriter para ele StreamWriter writer = new StreamWriter(nomeArquivo); /* * if (!File.Exists(arqLog)) * { * StreamWriter writer1 = new StreamWriter(arqLog); * } * else * { * * }*/ // Agora é só sair escrevendo writer.WriteLine(Osql); // Não esqueça de fechar o arquivo ao terminar writer.Close(); Osql = null; conn.Close(); watch.Stop(); //log.WriteEntry(watch.Elapsed + " | Montagemd o Sql para exportação " + "\r\n"); oLog += watch.Elapsed + " | Escrevendo consulta SQL " + "\r\n"; } catch (FbException e) { Global.gravaLog(e.Message.ToString() + "linha 618"); Global.Login = "******"; Global.gravaLogAzure(); //MessageBox.Show(e.StackTrace); //MessageBox.Show(e.TargetSite.ReflectedType.Name + " + " + e.TargetSite.Name); return; } SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(); watch.Restart(); texto2 = " Conexão ao cloud "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } // adicionar um try caso o arquivo não exista var prodx = from p in XElement.Load((CaminhoDadosXML(caminho) + @"Dados\Conexoes.xml")).Elements("Conexao") where p.Element("tipo").Value == "azure" select new { servidor = p.Element("servidor").Value, usuario = p.Element("usuario").Value, senha = p.Element("senha").Value, banco = p.Element("banco").Value, }; // Executa a consulta foreach (var produto in prodx) { string cipherText = produto.senha.Trim(); string decryptedText = CryptorEngine.Decrypt(cipherText, true); builder.DataSource = produto.servidor; builder.UserID = produto.usuario; builder.Password = decryptedText; //builder.Password = produto.senha; builder.InitialCatalog = produto.banco; builder.ConnectTimeout = 600; } //limpa memória prodx = null; texto2 = " exportando ao cloud! "; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } using (SqlConnection connection = new SqlConnection(builder.ConnectionString)) { try { connection.Open(); StreamReader texto = new StreamReader(nomeArquivo); // textBox3.Text = texto.ReadToEnd(); String sql = texto.ReadToEnd(); ///fecho e deleto o arquivo. texto.Close(); /* * if (File.Exists(nomeArquivo)) * { * File.Delete(nomeArquivo); * }*/ //exporto dados. SqlCommand command = new SqlCommand(sql, connection); command.CommandTimeout = 600; command.ExecuteNonQuery(); connection.Close(); //log.WriteEntry(watch.Elapsed + " | Exportação para o cloud concluida " + "\r\n"); sql = null; } catch (Exception ex) { //log.WriteEntry(ex); oLog += " | ocorreu um erro " + ex.Message + "\r\n"; Global.gravaLogAzure(); Global.Login = "******"; return; } } watch.Stop(); oLog += watch.Elapsed + " | Exportação para o cloud " + "\r\n"; StreamWriter writer1 = new StreamWriter(arqLog, true); //Fecha o Log writer1.WriteLineAsync(oLog); oLog = null; writer1.Flush(); writer1.Close(); texto2 = "Aguardando o Próximo!"; if (this.label1.InvokeRequired) { SetTextCallback d = new SetTextCallback(DefinirTexto); this.Invoke(d, new object[] { texto2 }); } else { this.label1.Text = texto2; } Global.Login = "******"; if (Global.CtrLog == 10) { Global.gravaLogAzure(); Global.CtrLog = 0; } else { Global.CtrLog++; } }
static void Main(string[] args) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); SanitaLog.SetLogName("Medibox"); SanitaLogEx.SetLogName("Medibox"); //Create temp if (!Directory.Exists(Path.Combine(Application.StartupPath, "Data"))) { Directory.CreateDirectory(Path.Combine(Application.StartupPath, "Data")); } if (!Directory.Exists(Path.Combine(Application.StartupPath, "Log"))) { Directory.CreateDirectory(Path.Combine(Application.StartupPath, "Log")); } //Get info object[] customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(false); foreach (object attribute in customAttributes) { if (attribute.GetType() == typeof(AssemblyDescriptionAttribute)) { MyVar.mAppDescription = ((AssemblyDescriptionAttribute)attribute).Description; SanitaLog.d(TAG, "Description:" + MyVar.mAppDescription); } if (attribute.GetType() == typeof(AssemblyTitleAttribute)) { MyVar.mAppName = ((AssemblyTitleAttribute)attribute).Title; SanitaLog.d(TAG, "Name:" + MyVar.mAppName); } if (attribute.GetType() == typeof(AssemblyFileVersionAttribute)) { MyVar.mAppVersion = ((AssemblyFileVersionAttribute)attribute).Version; SanitaLog.d(TAG, "Version:" + MyVar.mAppVersion); } } //Init Toast ToastNotification.DefaultToastGlowColor = eToastGlowColor.Red; ToastNotification.DefaultToastPosition = eToastPosition.MiddleCenter; ToastNotification.ToastFont = new System.Drawing.Font("Tahoma", 10); //Load setting try { MyVar.mMediboxSetting = JsonConvert.DeserializeObject <MediboxSetting>(File.ReadAllText(MyVar.SettingsFileName)); if (MyVar.mMediboxSetting.DB_ENCRIPT) { MyVar.mMediboxSetting.DB_ENCRIPT = false; MyVar.mMediboxSetting.DB_SERVER = CryptorEngine.Decrypt(MyVar.mMediboxSetting.DB_SERVER, true); MyVar.mMediboxSetting.DB_USERID = CryptorEngine.Decrypt(MyVar.mMediboxSetting.DB_USERID, true); MyVar.mMediboxSetting.DB_PORT = CryptorEngine.Decrypt(MyVar.mMediboxSetting.DB_PORT, true); MyVar.mMediboxSetting.DB_USERPASSWORD = CryptorEngine.Decrypt(MyVar.mMediboxSetting.DB_USERPASSWORD, true); MyVar.mMediboxSetting.DB_NAME = CryptorEngine.Decrypt(MyVar.mMediboxSetting.DB_NAME, true); } } catch (Exception ex) { SanitaLog.e(TAG, ex); } //Start application { //Check database while (true) { String Localserver = MyVar.mMediboxSetting.DB_SERVER; String Localdatabase = MyVar.mMediboxSetting.DB_NAME; String Localuserid = MyVar.mMediboxSetting.DB_USERID; String Localpassword = MyVar.mMediboxSetting.DB_USERPASSWORD; SystemInfo.DatabaseType = Sanita.Utility.Database.Utility.DatabaseUtility.DATABASE_TYPE.POSTGRESQL; SoftUpdatePresenter.SetConnectionConfig(Localserver, Localuserid, Localpassword, Localdatabase, MyVar.DEFAULT_PORT); //Init database SoftUpdatePresenter.InitDatabase(); //Check database OK if (!SoftUpdatePresenter.IsDatabaseOK()) { using (FormConfigDatabase form = new FormConfigDatabase()) { if (form.ShowDialog() == DialogResult.OK) { continue; } else { SanitaMessageBox.Show("Lỗi kết nối cơ sở dữ liệu !", "Thông Báo"); return; } } } break; } //Start main form FormMain mFormMain = new FormMain(); Application.Run(mFormMain); } }