Beispiel #1
0
        protected void btnGerarApostas_Click(object sender, EventArgs e)
        {
            List <Framework.Security.Model.UserData> users = new List <Framework.Security.Model.UserData>();

            IList <Framework.DataServices.Model.EntityBaseData> list = (IList <Framework.DataServices.Model.EntityBaseData>)ViewState["Users"];

            foreach (Model.Boloes.ApostasRestantesUser user in list)
            {
                if (!string.IsNullOrEmpty(user.UserName))
                {
                    users.Add(user);
                }
            }

            #region Criando o pdf
            string file = System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\Images\\Database\\PDF\\" + CurrentBolao.Nome + ".pdf";

            if (System.IO.File.Exists(file))
            {
                System.IO.File.Delete(file);
            }

            using (FileStream fs = new FileStream(file, FileMode.Create))
            {
                Business.PDF.Support.CopaMundoPdfCreator pdf = new BolaoNet.Business.PDF.Support.CopaMundoPdfCreator(base.UserName);
                pdf.CreateApostasUsers(fs,
                                       System.Web.HttpContext.Current.Request.PhysicalApplicationPath + "\\Images\\Database",
                                       CurrentBolao,
                                       users);
            }
            #endregion

            #region Criando o ZIP

            // Zip up the files - From SharpZipLib Demo Code
            using (ZipOutputStream s = new ZipOutputStream(File.Create(file.Replace(".pdf", ".zip"))))
            {
                s.SetLevel(9); // 0-9, 9 being the highest compression

                byte[] buffer = new byte[4096];


                ZipEntry entry = new ZipEntry(Path.GetFileName(file));

                entry.DateTime = DateTime.Now;
                s.PutNextEntry(entry);

                using (FileStream fs = File.OpenRead(file))
                {
                    int sourceBytes;
                    do
                    {
                        sourceBytes = fs.Read(buffer, 0, buffer.Length);

                        s.Write(buffer, 0, sourceBytes);
                    } while (sourceBytes > 0);
                }

                s.Finish();
                s.Close();
            }

            #endregion


            ShowStatusPDFFile();
        }