示例#1
0
        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);
        }