Exemplo n.º 1
0
        public ActionResult ExportListReopenCampaign(int pageIndex, int pageSize, ListFilterParam list, string filter = "")
        {
            filter = filter.Replace("!!", "%");
            DataTable dt = new DataTable("Grid");

            dt.Columns.AddRange(new DataColumn[6]
            {
                new DataColumn(AppRes.ErpCampaignID),
                new DataColumn(AppRes.ReopenBy),
                new DataColumn(AppRes.OrganizationUnit),
                new DataColumn(AppRes.ReasonReopenCampaign),
                new DataColumn(AppRes.MediaAccount),
                new DataColumn(AppRes.TimeReopenCampaign)
            });
            dt.Columns[0].DataType = typeof(string);
            dt.Columns[1].DataType = typeof(string);
            dt.Columns[2].DataType = typeof(string);
            dt.Columns[3].DataType = typeof(string);
            dt.Columns[4].DataType = typeof(string);
            dt.Columns[5].DataType = typeof(DateTime);


            var db            = new CampaignDAL();
            int?total         = 0;
            var baseListParam = new BaseListParam()
            {
                FilterField  = filter,
                OrderByField = "",
                UserType     = Global.CurrentUser.RoleId,
                UserId       = Global.CurrentUser.LoginUserId,
                DeptId       = Global.CurrentUser.OrganizationUnitID,
                LanguageCode = Global.CurrentUser.CurrentLanguageID.ToString()
            };

            list.FromDate = Convert.ToDateTime(DateTime.ParseExact(list.StringFromDate, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture));
            list.ToDate   = Convert.ToDateTime(DateTime.ParseExact(list.StringToDate, "dd-MM-yyyy HH:mm:ss", CultureInfo.InvariantCulture));
            var lstData = db.ExportListReopenCampaign(baseListParam, list, out total);

            foreach (var item in lstData)
            {
                dt.Rows.Add(
                    item.CampaignId == null ? "" : item.CampaignId,
                    item.ReopenBy == null ? "" : item.ReopenBy,
                    item.OrginizationUnit == null ? "" : item.OrginizationUnit,
                    item.Reason == null ? "" : item.Reason,
                    item.Requester == null ? "" : item.Requester,
                    item.ReopenDate == null ? new DateTime(1, 1, 1) : item.ReopenDate
                    );
            }

            var wb = new XLWorkbook();

            wb.Worksheets.Add(dt);
            byte[] data = null;
            using (var stream = new MemoryStream())
            {
                wb.SaveAs(stream);
                data = stream.ToArray();
            }
            var excelName = "";

            excelName = "ListCampaignReopen.xlsx";
            return(File(data, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", excelName));
        }