public static int AdquirirArquivo(DataRow infoApp, int idQuemBaixou) { string ondeEstamos = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + "\\..\\..\\"; DataRow d = Metodos.ExecutaSelect(@"select idAplicativo, p.extensaoAplicativos from Aplicativos a inner join Plataforma p on (a.idPlataforma = p.idPlataforma) where idAplicativo = " + infoApp.ItemArray[0].ToString()).Rows[0]; string extensao = d.ItemArray[1].ToString(); SaveFileDialog s = new SaveFileDialog(); s.Title = "Escolha onde deseja salvar o software..."; s.Filter = "Arquivos " + extensao.Substring(1).ToUpper() + "|*" + extensao; s.RestoreDirectory = true; s.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); s.OverwritePrompt = true; if (s.ShowDialog() == System.Windows.Forms.DialogResult.OK) { string caminhoApp = ondeEstamos + "appexec\\" + infoApp.ItemArray[12].ToString() + "\\" + infoApp.ItemArray[0].ToString() + extensao; File.Copy(caminhoApp, s.FileName, true); int idDownload = Metodos.GeraId("select top 1 idDownload from Downloads order by idDownload desc"); int idAplicativo = int.Parse(d.ItemArray[0].ToString()); DownloadVO dv = new DownloadVO(); dv.SetIdDownload(idDownload); dv.SetIdAplicativo(idAplicativo); dv.SetIdUserDev(idQuemBaixou); DownloadDAO.InserirDownload(dv); int numeroAtualizadoDown = int.Parse(Metodos.ExecutaSelect("select COUNT(*) from Downloads where idAplicativo = " + idAplicativo).Rows[0].ItemArray[0].ToString()); Metodos.ExecutaSql(String.Format("update Aplicativos set numeroDownloads = {0} where idAplicativo = {1}", numeroAtualizadoDown, idAplicativo)); Metodos.Mensagem("Aplicativo " + infoApp.ItemArray[1].ToString() + " adquirido com sucesso!", Metodos.TipoMensagem.info); return numeroAtualizadoDown; } else { return -1; } }
public static void InserirDownload(DownloadVO d) { string sql = String.Format("insert into Downloads (idAplicativo, idUserDev, idDownload) values " + "({0}, {1}, {2})", d.GetIdAplicativo(), d.GetIdUserDev(), d.GetIdDownload()); Metodos.ExecutaSql(sql); }