예제 #1
0
        public void Pages_Update(PageBE page)
        {
            // Update page text only if it has been set
            string updatePageText = String.Empty;

            if (page.IsTextPopulated)
            {
                updatePageText = ", page_text = ?PAGETEXT";
            }

            string      query = String.Format(@" /* Pages_Update */
update pages SET 
page_namespace      = ?NAMESPACE,
page_title          = ?TITLE,
page_comment        = ?PAGECOMMENT,
page_user_id        = ?USERID,
page_timestamp      = ?PAGETIMESTAMP,
page_is_redirect    = ?ISREDIRECT,
page_minor_edit     = ?MINOREDIT,
page_is_new         = ?ISNEW,
page_touched        = ?TOUCHED,
page_usecache       = ?USECACHE,
page_tip            = ?TIP,
page_parent         = ?PARENT,
page_restriction_id = ?RESTRICTIONID,
page_content_type   = ?CONTENTTYPE,
page_language       = ?LANGUAGE,
page_display_name   = ?DISPLAYNAME,
page_etag           = ?ETAG,
page_revision       = ?REVISION
{0}
where page_id       = ?PAGEID
", updatePageText);
            DataCommand cmd   = Catalog.NewQuery(query)
                                .With("PAGEID", page.ID)
                                .With("NAMESPACE", (int)page.Title.Namespace)
                                .With("TITLE", page.Title.AsUnprefixedDbPath())
                                .With("PAGECOMMENT", page.Comment)
                                .With("USERID", page.UserID)
                                .With("PAGETIMESTAMP", page._TimeStamp)
                                .With("ISREDIRECT", page.IsRedirect)
                                .With("MINOREDIT", page.MinorEdit)
                                .With("ISNEW", page.IsNew)
                                .With("TOUCHED", page._Touched)
                                .With("USECACHE", page.UseCache)
                                .With("TIP", page.TIP)
                                .With("PARENT", page.ParentID)
                                .With("RESTRICTIONID", page.RestrictionID)
                                .With("CONTENTTYPE", page.ContentType)
                                .With("LANGUAGE", page.Language)
                                .With("DISPLAYNAME", page.Title.DisplayName)
                                .With("ETAG", page.Etag)
                                .With("REVISION", page.Revision);

            if (page.IsTextPopulated)
            {
                cmd.With("PAGETEXT", page.GetText(this.Head));
            }
            cmd.Execute();
        }
예제 #2
0
        private IList <NavBE> Nav_GetInternal(DataCommand queryCommand)
        {
            List <NavBE> navPages = new List <NavBE>();

            queryCommand.Execute(delegate(IDataReader dr) {
                while (dr.Read())
                {
                    NavBE np = Nav_Populate(dr);
                    navPages.Add(np);
                }
            });
            return(navPages);
        }
예제 #3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var presentationid = Request.QueryString["id"];

        if (presentationid != null)
        {
            DataCommand command = new DataCommand("getAllSlides");
            command.Add("presentationid", Convert.ToUInt64(presentationid));

            DataSet      ds   = (DataSet)command.Execute(true);
            DataTable    dt   = ds.Tables[0];
            Presentation newP = new Presentation();
            newP.SlideSize.Type        = SlideSizeType.Custom;
            newP.SlideSize.SizeOfPx    = new SizeF(1280, 720);
            newP.SlideSize.Orientation = SlideOrienation.Landscape;
            Presentation helper = new Presentation();
            var          pname  = "";
            dt.DefaultView.Sort = "slideindex";
            dt = dt.DefaultView.ToTable();
            if (dt.Rows.Count > 0)
            {
                for (Int32 index = 0; index < dt.Rows.Count; index++)
                {
                    DataRow dr = dt.Rows[index];
                    var     presentationName = presentationid + dr["type"].ToString();
                    Int32   slideIndex       = Convert.ToInt32(dr["slideindex"].ToString());
                    Int32   orderNumber      = index;
                    if (index == 0)
                    {
                        helper.LoadFromFile(Server.MapPath("~/Uploads/" + presentationName)); //loading ppt file
                        pname = presentationName;
                    }
                    ISlide orgSlide = helper.Slides[slideIndex]; // reading the slide

                    newP.Slides.Insert(orderNumber, orgSlide);
                    addTracking(Convert.ToUInt64(dr["slideid"].ToString())); // inserting in to new ppt
                }

                //newP.SaveToFile(Server.MapPath("~/Uploads/tt.ppt"), FileFormat.PPT);

                Byte[] Content = newP.GetBytes();

                Response.ContentType = "application/octet-stream";
                Response.AddHeader("content-disposition", "attachment; filename=" + dt.Rows[0]["presentationname"].ToString() + ".pptx");
                Response.BufferOutput = true;
                Response.OutputStream.Write(Content, 0, Content.Length);
                Response.End(); //downloading it
            }
        }
    }
예제 #4
0
        public void Transactions_Update(TransactionBE trans)
        {
            string revertuserid = null;

            if (trans.RevertUserId != null)
            {
                revertuserid = trans.RevertUserId.Value.ToString();
            }

            DataCommand cmd = Catalog.NewQuery(@" /* Transactions_Update */
update `transactions` set 
`t_user_id`= ?USERID,
`t_page_id`= ?PAGEID,
`t_title`= ?TITLE,
`t_namespace`= ?NS,
`t_type`= ?TYPE,
`t_reverted`= ?REVERTED,
`t_revert_user_id` = ?REVERT_USERID,
`t_revert_timestamp` = ?REVERT_TS,
`t_revert_reason` = ?REVERT_REASON
where `t_id`= ?TID;"
                                               ).With("TID", trans.Id)
                              .With("USERID", trans.UserId)
                              .With("PAGEID", trans.PageId)
                              .With("TITLE", trans.Title.AsUnprefixedDbPath())
                              .With("NS", (int)trans.Title.Namespace)
                              .With("TYPE", (int)trans.Type)
                              .With("REVERTED", trans.Reverted)
                              .With("REVERT_REASON", trans.RevertReason);

            //TODO MaxM: This is a workaround for Datacommand.with not taking nullables.
            if (trans.RevertUserId.HasValue)
            {
                cmd = cmd.With("REVERT_USERID", trans.RevertUserId.Value);
            }
            else
            {
                cmd = cmd.With("REVERT_USERID", DBNull.Value);
            }

            if (trans.RevertTimeStamp.HasValue)
            {
                cmd = cmd.With("REVERT_TS", trans.RevertTimeStamp.Value);
            }
            else
            {
                cmd = cmd.With("REVERT_TS", DBNull.Value);
            }
            cmd.Execute();
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        var userid = Request.QueryString["id"];

        if (userid != null)
        {
            DataCommand command = new DataCommand("getActiveSlides");
            command.Add("userid", userid);

            DataSet      ds   = (DataSet)command.Execute(true);
            DataTable    dt   = ds.Tables[0];
            Presentation newP = new Presentation();
            newP.SlideSize.Type        = SlideSizeType.Custom;
            newP.SlideSize.SizeOfPx    = new SizeF(1280, 720);
            newP.SlideSize.Orientation = SlideOrienation.Landscape;
            Presentation helper = new Presentation();
            var          pname  = "";

            foreach (DataRow dr in dt.Rows)
            {
                var   presentationName = dr["presentationid"].ToString() + dr["type"].ToString();
                Int32 slideIndex       = Convert.ToInt32(dr["slideindex"].ToString());
                Int32 orderNumber      = Convert.ToInt32(dr["ordernumber"].ToString());
                //if(pname !=  presentationName) {
                helper.LoadFromFile(Server.MapPath("~/Uploads/" + presentationName)); //loading ppt file
                pname = presentationName;
                //}
                ISlide orgSlide = helper.Slides[slideIndex]; // reading the slide

                newP.Slides.Insert(orderNumber, orgSlide);
                addTracking(Convert.ToUInt64(dr["slideid"].ToString())); // inserting in to new ppt
            }

            //newP.SaveToFile(Server.MapPath("~/Uploads/tt.ppt"), FileFormat.PPT);

            Byte[] Content = newP.GetBytes();

            DataCommand commandUp = new DataCommand("updateUserPresentation");
            commandUp.Add("presentationid", dt.Rows[0]["userpresentaitionid"].ToString());
            commandUp.Add("status", 1);
            commandUp.Add("name", "");
            commandUp.ExecuteNonQuery();

            Response.ContentType = "application/octet-stream";
            Response.AddHeader("content-disposition", "attachment; filename=presentation.pptx");
            Response.BufferOutput = true;
            Response.OutputStream.Write(Content, 0, Content.Length);
            Response.End(); //downloading it
        }
    }
예제 #6
0
        public static void InsertDWService(ServiceBE service)
        {
            DataCommand cmd = MediaWikiConverterContext.Current.DWCatalog.NewQuery(String.Format("INSERT into services (service_type, service_sid, service_description, service_local, service_enabled) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}'); SELECT LAST_INSERT_ID() as serviceid;",
                                                                                                 service.Type.ToString().ToLowerInvariant(), DataCommand.MakeSqlSafe(service.SID), DataCommand.MakeSqlSafe(service.Description), service._ServiceLocal, service._ServiceEnabled));

            cmd.Execute(delegate(IDataReader dr) {
                while (dr.Read())
                {
                    service.Id = DbUtils.Convert.To <uint>(dr["serviceid"], 0);
                }
            });
            foreach (String key in service.Config.Keys)
            {
                MediaWikiConverterContext.Current.DWCatalog.NewQuery(String.Format("INSERT into service_config (service_id, config_name, config_value) VALUES ('{0}', '{1}', '{2}')",
                                                                                   service.Id, DataCommand.MakeSqlSafe(key), DataCommand.MakeSqlSafe(service.Config[key]))).Execute();
            }
        }
예제 #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        UInt64 Id   = Convert.ToUInt64(Request.QueryString["id"]);
        String Type = Request.QueryString["type"];

        Response.AddHeader("Access-Control-Allow-Origin", "*");
        if (Type == "image")
        {
            DataCommand command = new DataCommand("GetUserDetailsByID");
            command.Add("userid", Id.ToString());

            IDictionary <String, object> obj = command.Execute() as IDictionary <String, Object>;

            if (obj != null && !String.IsNullOrEmpty(obj["image"].ToString()))
            {
                Byte[] data = Convert.FromBase64String(obj["image"].ToString().Split(',')[1]);
                // Send the file to the browser
                // Byte[] data = (Byte[])(dt.Rows[0]["SpeakerPhoto"]);

                Response.AddHeader("Content-Disposition", "attachment; filename=image." + obj["image"].ToString().Split(';')[0].Split('/')[1]);
                Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
                Response.Cache.SetCacheability(HttpCacheability.Public);
                Response.Cache.SetValidUntilExpires(true);
                Response.BinaryWrite(data);
                Response.Flush();
                Response.End();
            }
            else
            {
                Byte[] data = Convert.FromBase64String("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");
                // Send the default file to the browser
                Response.AddHeader("Content-Disposition", "attachment; filename=image.png");
                Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
                Response.Cache.SetCacheability(HttpCacheability.Public);
                Response.Cache.SetValidUntilExpires(true);
                Response.BinaryWrite(data);
                Response.Flush();
                Response.End();
            }
        }
    }
예제 #8
0
        private IList <KeyValuePair <uint, IList <ArchiveBE> > > Archive_PopulateByTransactionQuery(DataCommand cmd, out Dictionary <uint, TransactionBE> transactionsById, out uint?queryTotalTransactionCount)
        {
            Dictionary <uint, TransactionBE> transactionsByIdtemp = new Dictionary <uint, TransactionBE>();
            List <KeyValuePair <uint, IList <ArchiveBE> > > archivedPagesByTransaction = new List <KeyValuePair <uint, IList <ArchiveBE> > >();
            uint?queryTotalTransactionCountTemp = null;

            cmd.Execute(delegate(IDataReader dr) {
                KeyValuePair <uint, IList <ArchiveBE> > currentTrans = new KeyValuePair <uint, IList <ArchiveBE> >();
                while (dr.Read())
                {
                    //Populate list of archived pages per trans. (assumes sort by transaction with first archived page being the transaction 'root')
                    uint tranId            = DbUtils.Convert.To <uint>(dr["t_id"]) ?? 0;
                    ArchiveBE archivedPage = Archive_Populate(dr);
                    TransactionBE tran     = null;
                    if (!transactionsByIdtemp.TryGetValue(tranId, out tran))
                    {
                        tran = Transactions_Populate(dr);
                        transactionsByIdtemp[tranId] = tran;
                    }

                    if (currentTrans.Key != tranId)
                    {
                        currentTrans = new KeyValuePair <uint, IList <ArchiveBE> >(tranId, new List <ArchiveBE>());
                        archivedPagesByTransaction.Add(currentTrans);
                    }

                    currentTrans.Value.Add(archivedPage);
                }

                if (dr.NextResult() && dr.Read())
                {
                    queryTotalTransactionCountTemp = DbUtils.Convert.To <uint>(dr["queryTotalTransactionCount"]);
                }
            });
            transactionsById           = transactionsByIdtemp;
            queryTotalTransactionCount = queryTotalTransactionCountTemp;
            return(archivedPagesByTransaction);
        }
예제 #9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Dictionary <String, FileFormat> nl = new Dictionary <String, FileFormat>();

        nl.Add(".ppt", FileFormat.PPT);
        nl.Add(".pptx", FileFormat.Pptx2010);

        var presentationname = Request.Form["pname"];
        var metatag          = Request.Form["metatag"];
        var categoryid       = Request.Form["categoryid"];
        var folderid         = Request.Form["folderid"];
        var file             = Request.Files["file"];

        if (file != null)
        {
            String ext = System.IO.Path.GetExtension(file.FileName).ToLower();

            DataCommand command = new DataCommand("createPresentation");
            command.Add("presentationname", presentationname);
            command.Add("categoryid", Convert.ToUInt64(categoryid));
            command.Add("metatag", metatag);
            command.Add("folderid", Convert.ToUInt64(folderid));
            command.Add("description", "No desc");
            command.Add("type", ext);

            DataSet   ds = (DataSet)command.Execute(true);
            DataTable dt = ds.Tables[0];

            String presentatonId = dt.Rows[0]["presentationid"].ToString();

            file.SaveAs(Server.MapPath("~/Uploads/" + presentatonId + ext));

            try
            {
                Presentation presentation = new Presentation();
                presentation.LoadFromStream(file.InputStream, nl[ext]);
                var totalSlide = presentation.Slides.Count - 1;
                //traverse the slides of PPT files
                for (int i = 0; i < presentation.Slides.Count; i++)
                {
                    ISlide slide = presentation.Slides[i];

                    String title = getTitle(slide);
                    title = title == null ? "No Title" : title;
                    DataCommand command1 = new DataCommand("createSlide");
                    command1.Add("slidename", title);
                    command1.Add("presentationid", presentatonId);
                    command1.Add("slideindex", i);

                    DataSet   ds1 = (DataSet)command1.Execute(true);
                    DataTable dt1 = ds1.Tables[0];

                    String slideId = dt1.Rows[0]["slideid"].ToString();

                    //save the slide to Image
                    Image image = slide.SaveAsImage(960, 720);

                    String fileName = Server.MapPath("~/Uploads/Images/" + String.Format(slideId + ".jpeg", i));
                    image.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);

                    Image imageT = slide.SaveAsImage(320, 240);

                    fileName = Server.MapPath("~/Uploads/Thumbnails/" + String.Format(slideId + ".jpeg", i));
                    imageT.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);

                    Int32 precentageComplete = (i / totalSlide) * 100;
                    updatePresentationStatus(0, precentageComplete, presentatonId);
                }
                updatePresentationStatus(1, 100, presentatonId);
                Response.Write("Success");
            }
            catch (Exception ex)
            {
                updatePresentationStatus(2, 0, presentatonId);
                Response.Write(ex.Message);
            }
        }
    }
예제 #10
0
        private IList<KeyValuePair<uint, IList<ArchiveBE>>> Archive_PopulateByTransactionQuery(DataCommand cmd, out Dictionary<uint, TransactionBE> transactionsById, out uint? queryTotalTransactionCount) {
            Dictionary<uint, TransactionBE> transactionsByIdtemp = new Dictionary<uint, TransactionBE>();
            List<KeyValuePair<uint, IList<ArchiveBE>>> archivedPagesByTransaction = new List<KeyValuePair<uint, IList<ArchiveBE>>>();
            uint? queryTotalTransactionCountTemp = null;

            cmd.Execute(delegate(IDataReader dr) {

                KeyValuePair<uint, IList<ArchiveBE>> currentTrans = new KeyValuePair<uint, IList<ArchiveBE>>();
                while (dr.Read()) {

                    //Populate list of archived pages per trans. (assumes sort by transaction with first archived page being the transaction 'root')
                    uint tranId = DbUtils.Convert.To<uint>(dr["t_id"]) ?? 0;
                    ArchiveBE archivedPage = Archive_Populate(dr);
                    TransactionBE tran = null;
                    if (!transactionsByIdtemp.TryGetValue(tranId, out tran)) {
                        tran = Transactions_Populate(dr);
                        transactionsByIdtemp[tranId] = tran;
                    }

                    if (currentTrans.Key != tranId) {
                        currentTrans = new KeyValuePair<uint, IList<ArchiveBE>>(tranId, new List<ArchiveBE>());
                        archivedPagesByTransaction.Add(currentTrans);
                    }

                    currentTrans.Value.Add(archivedPage);
                }

                if (dr.NextResult() && dr.Read()) {
                    queryTotalTransactionCountTemp = DbUtils.Convert.To<uint>(dr["queryTotalTransactionCount"]);
                }
            });
            transactionsById = transactionsByIdtemp;
            queryTotalTransactionCount = queryTotalTransactionCountTemp;
            return archivedPagesByTransaction;
        }
예제 #11
0
        internal DataVaultResult Execute()
        {
            DataCommand.Execute();

            return(DataVaultResult);
        }
예제 #12
0
파일: NavDA.cs 프로젝트: heran/DekiWiki
 private IList<NavBE> Nav_GetInternal(DataCommand queryCommand) {
     List<NavBE> navPages = new List<NavBE>();
     queryCommand.Execute(delegate(IDataReader dr) {
         while (dr.Read()) {
             NavBE np = Nav_Populate(dr);
             navPages.Add(np);
         }
     });
     return navPages;
 }
예제 #13
0
        //--- Methods ---
        public IList <Tuplet <string, uint, string> > Wiki_GetContributors(PageBE page, bool byRecent, string exclude, uint?max)
        {
            DataCommand command = null;
            string      query;

            // build exclusion clauses
            string excludeClause = string.Empty;

            if (StringUtil.ContainsInvariantIgnoreCase(exclude, "all") || StringUtil.ContainsInvariantIgnoreCase(exclude, "inactive"))
            {
                excludeClause = " AND user_active = 1";
            }
            if (StringUtil.ContainsInvariantIgnoreCase(exclude, "all") || StringUtil.ContainsInvariantIgnoreCase(exclude, "banned"))
            {
                excludeClause += " AND 0 = (select count(*) from banusers inner join bans on banuser_id = ban_id where banuser_user_id = user_id and (ban_expires is null or ban_expires > now()) )";
            }

            // check if a page was provided
            if (page != null)
            {
                // find contributors for given page
                if (byRecent)
                {
                    query = string.Format(@" /* DekiWiki-Functions: wiki.contributors (for a page, from recent changes) */
SELECT user_id, user_name, MAX(rc_timestamp) AS last_edit
FROM recentchanges
JOIN users
 ON rc_user = user_id
WHERE rc_type = 0
AND rc_cur_id = ?PAGEID
{0}
GROUP BY rc_user
ORDER BY last_edit DESC
LIMIT {1};", excludeClause, max ?? UInt32.MaxValue);
                }
                else
                {
                    query = string.Format(@" /* DekiWiki-Functions: wiki.contributors (for a page, from revision data) */
SELECT users.user_name, users.user_id, COUNT(*) AS user_edits
FROM 
(
 (SELECT page_user_id AS `user`
  FROM pages
  WHERE page_id = ?PAGEID
 )UNION ALL(
  SELECT old_user AS `user`
  FROM `old`
  WHERE old_page_id = ?PAGEID)
) editcounts
JOIN users
 ON users.user_id = editcounts.user
WHERE TRUE
{0}
GROUP BY editcounts.user
ORDER BY user_edits DESC
LIMIT {1};"
                                          , excludeClause, max ?? UInt32.MaxValue);
                }
                command = Catalog.NewQuery(query)
                          .With("PAGEID", page.ID);
            }
            else
            {
                if (byRecent)
                {
                    query = string.Format(@" /* DekiWiki-Functions: wiki.contributors (all pages, from recentchanges) */
SELECT user_id, user_name, MAX(rc_timestamp) AS last_edit
FROM recentchanges
JOIN users
 ON rc_user = user_id
WHERE rc_type = 0
{0}
GROUP BY rc_user
ORDER BY last_edit DESC
LIMIT {1};
", excludeClause, max);
                }
                else
                {
                    // find contributors for entire site
                    query = string.Format(@" /* DekiWiki-Functions: wiki.contributors (all pages, from revision data) */
SELECT user_id, user_name, 
    (SELECT COUNT(*) 
     FROM pages 
     WHERE user_id = page_user_id {0}) +
    (SELECT COUNT(*) 
     FROM old 
     WHERE user_id = old_user {0}) AS user_edits 
FROM users 
ORDER BY user_edits 
DESC LIMIT {1}", excludeClause, max);
                }
                command = Catalog.NewQuery(query);
            }

            List <Tuplet <string, uint, string> > result = new List <Tuplet <string, uint, string> >();

            command.Execute(delegate(IDataReader reader) {
                while (reader.Read())
                {
                    string user = SysUtil.ChangeType <string>(reader["user_name"]);
                    if (user.EqualsInvariant(ANON_USERNAME))
                    {
                        continue;
                    }
                    uint userid = SysUtil.ChangeType <uint>(reader["user_id"]);
                    string classification;
                    if (byRecent)
                    {
                        classification = SysUtil.ChangeType <string>(reader["last_edit"]);
                    }
                    else
                    {
                        classification = SysUtil.ChangeType <string>(reader["user_edits"]);
                    }
                    result.Add(new Tuplet <string, uint, string>(user, userid, classification));
                }
            });

            return(result);
        }
예제 #14
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt         = null;
        String    userid     = Request.QueryString["userid"];
        String    category   = Request.QueryString["category"];
        String    sdate      = Request.QueryString["sdate"];
        String    edate      = Request.QueryString["edate"];
        String    ReportName = "";

        if (!String.IsNullOrEmpty(userid))
        {
            DataCommand command = new DataCommand("getUserSlideReport");
            command.Add("userid", userid);
            DataSet ds = (DataSet)command.Execute(true);
            dt         = ds.Tables[0];
            ReportName = dt.Rows.Count > 1 ? "User_Slide_Report" : "NoDate_Report";
        }
        else if (!String.IsNullOrEmpty(category))
        {
            DataCommand command = new DataCommand("getCategorySlideReport");
            command.Add("categoryid", category);
            DataSet ds = (DataSet)command.Execute(true);
            dt         = ds.Tables[0];
            ReportName = dt.Rows.Count > 1 ? dt.Rows[0]["Category Name"].ToString() + "_Slide_Report" : "NoDate_Report";
        }
        else if (!String.IsNullOrEmpty(sdate) && !String.IsNullOrEmpty(edate))
        {
            DataCommand command = new DataCommand("getSlideReportByDate");
            command.Add("startdate", sdate);
            command.Add("enddate", edate);
            DataSet ds = (DataSet)command.Execute(true);
            dt         = ds.Tables[0];
            ReportName = dt.Rows.Count > 1 ? "Custom_Slide_Report" : "NoDate_Report";
        }
        else
        {
            DataCommand command = new DataCommand("getSlideReport");
            DataSet     ds      = (DataSet)command.Execute(true);
            dt         = ds.Tables[0];
            ReportName = dt.Rows.Count > 1 ? "Slide_Report" : "NoDate_Report";
        }


        if (dt != null)
        {
            Response.Clear();
            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            Response.AddHeader("content-disposition", "attachment;filename=" + HttpUtility.UrlEncode(ReportName + ".xlsx", System.Text.Encoding.UTF8));

            using (ExcelPackage pck = new ExcelPackage())
            {
                ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Logs");
                ws.Cells["A1"].LoadFromDataTable(dt, true);
                ws.Cells.AutoFitColumns();
                ws.Cells["A1:G1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
                ws.Cells["A1:G1"].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(82, 46, 144));
                ws.Cells["A1:G1"].Style.Font.Color.SetColor(Color.White);
                ws.Cells["A1:G1"].Style.Font.Bold = true;
                var ms = new System.IO.MemoryStream();
                pck.SaveAs(ms);
                ms.WriteTo(Response.OutputStream);
            }
        }
    }