public ActionResult Export(FormCollection collection)
        {
            string sort    = "";
            string sortDir = "";

            if (collection.AllKeys.Contains("sort"))
            {
                sort = collection["sort"];
            }

            if (collection.AllKeys.Contains("sortDir"))
            {
                sortDir = collection["sortDir"];
            }

            //Message Box Title -- When Error occured, Message Box would be showed.
            string str_MsgBoxTitle = MultilingualHelper.GetStringFromResource(languageKey, "AuditLogManage_Export");

            ExportFileJsonResult commonJsonResult = new ExportFileJsonResult();

            commonJsonResult.MsgTitle = str_MsgBoxTitle;

            AuditLogVM selectionCriteria = new AuditLogVM();

            if (TempData.ContainsKey(SelectionCriteriaKey))
            {
                selectionCriteria = (AuditLogVM)TempData[SelectionCriteriaKey];
            }

            TempData[SelectionCriteriaKey] = selectionCriteria;
            ViewBag.SelectionCriteria      = selectionCriteria;

            int recordCount = 0;

            List <AuditLogVM> entityList_Result = new List <AuditLogVM>();

            //Define wcf output object;
            ALSerListResult entity_ALSerListResult = null;

            WebCommonHelper webCommonHelper = new WebCommonHelper();

            webCommonHelper.CallWCFHelper(this, (entity_WCFAuthInfoVM) =>
            {
                entity_ALSerListResult = auditLogMgtHelper.Value.GetListWithPaging(entity_WCFAuthInfoVM, selectionCriteria, 1, int.MaxValue, sort, sortDir, CustomFilter(selectionCriteria));
            });

            //webCommonHelper.CallWCFHelper<IAuditLogMgtSer>(this, this.HttpContext, postOffice.AuditLogMgtSerPath, (entity_IAuditLogMgtSer, entity_WCFAuthInfoVM) =>
            //{
            //    entity_ALSerListResult = entity_IAuditLogMgtSer.GetListWithPaging(entity_WCFAuthInfoVM, selectionCriteria, 1, int.MaxValue, sort, sortDir, CustomFilter(selectionCriteria));
            //});

            //Assign data to local variable
            if (entity_ALSerListResult != null)
            {
                recordCount       = entity_ALSerListResult.Int_TotalRecordCount;
                entityList_Result = entity_ALSerListResult.EntityList_AuditLogVM;
            }

            if (entityList_Result != null && entityList_Result.Count > 0)
            {
                RendDtlToExcelPolicy rendDtlToExcelPolicy = new RendDtlToExcelPolicy();

                List <string> strList_DisplayColumn = new List <string>();
                strList_DisplayColumn.Add("Operator");
                strList_DisplayColumn.Add("AL_CreateDate");
                strList_DisplayColumn.Add("AL_TableName");
                strList_DisplayColumn.Add("AL_EventType");
                strList_DisplayColumn.Add("AL_OriginalValue");
                strList_DisplayColumn.Add("AL_NewValue");

                Dictionary <string, string> dic_OutputMapping = new Dictionary <string, string>()
                {
                    { "Operator", MultilingualHelper.GetStringFromResource("Operator") },
                    { "AL_CreateDate", MultilingualHelper.GetStringFromResource("Date") },
                    { "AL_TableName", MultilingualHelper.GetStringFromResource("TableName") },
                    { "AL_EventType", MultilingualHelper.GetStringFromResource("OperationType") },
                    { "AL_OriginalValue", MultilingualHelper.GetStringFromResource("OriginalValue") },
                    { "AL_NewValue", MultilingualHelper.GetStringFromResource("NewValue") },
                    { "AL_RecordKey", MultilingualHelper.GetStringFromResource("RecordKey") },
                };

                MemoryStream memoryStream = rendDtlToExcelPolicy.ExportEntityListToXlsx <AuditLogVM>("AuditLog", entityList_Result, true, 1, 1, strList_DisplayColumn, dic_OutputMapping);

                string Key = Guid.NewGuid().ToString();

                TempData[Key] = memoryStream;

                commonJsonResult.ReturnUrl = Url.Action("ExportExcel", "Export", new { Area = "Common" }, Request.Url.Scheme);

                commonJsonResult.Success = true;

                commonJsonResult.Key            = Key;
                commonJsonResult.OutputFileName = "AuditLog" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";

                return(Json(commonJsonResult));
            }
            else
            {
                commonJsonResult.ReturnUrl = Url.Action("Index", "AuditLogManage", new { Area = "AccessControl" }, Request.Url.Scheme);
                commonJsonResult.Success   = false;

                MsgInfo errorMsgInfo = new MsgInfo();
                errorMsgInfo.MsgTitle      = str_MsgBoxTitle;
                errorMsgInfo.MsgDesc       = MultilingualHelper.GetStringFromResource(languageKey, "E019");
                errorMsgInfo.MsgType       = MessageType.ValidationError;
                TempData[ActionMessageKey] = errorMsgInfo;
                return(Json(commonJsonResult));
            }
        }
示例#2
0
        public ActionResult Generate(FormCollection collection)
        {
            string str_FromDt = collection["FromDate"];
            string str_ToDt   = collection["ToDate"];

            ExportFileJsonResult commonJsonResult = new ExportFileJsonResult();

            string str_FileName = "FS-RPT-001";
            string Key          = Guid.NewGuid().ToString();

            string sTemplatePath     = System.Configuration.ConfigurationManager.AppSettings["templatePath"];
            string sFileRelativePath = @"~/" + sTemplatePath + @"Land Use report for current year by District (in all categories).xlsx";

            MemoryStream ms = new MemoryStream();

            using (FileStream file = new FileStream(Server.MapPath(sFileRelativePath), FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                byte[] bytes = new byte[file.Length];
                file.Read(bytes, 0, (int)file.Length);
                ms.Write(bytes, 0, (int)file.Length);
            }

            TempData[Key]                   = ms;
            commonJsonResult                = new ExportFileJsonResult();
            commonJsonResult.MsgTitle       = "Export FSRPT001";
            commonJsonResult.ReturnUrl      = Url.Action("ExportExcel", "Export", new { Area = "Common" }, Request.Url.Scheme);
            commonJsonResult.Success        = true;
            commonJsonResult.Key            = Key;
            commonJsonResult.OutputFileName = str_FileName + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xlsx";
            //WebCommonHelper CommonHelper = new WebCommonHelper();
            //List<SelectListItem> _list = new List<SelectListItem>();
            //_list.Add(new SelectListItem()
            //{
            //    Value = "1",
            //    Text = "IS-ISLANDS DISTRICT 離島區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "2",
            //    Text = "KT-KWAI TSING DISTRICT 葵青區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "3",
            //    Text = "N-NORTH DISTRICT	北區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "4",
            //    Text = "SK-SAI KUNG DISTRICT 西貢區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "5",
            //    Text = "ST-SHATIN DISTRICT 沙田區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "6",
            //    Text = "TM-TUEN MUN DISTRICT 屯門區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "7",
            //    Text = "TP-TAI PO DISTRICT 大埔區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "8",
            //    Text = "TW-TSUEN WAN DISTRICT	荃灣區"
            //});
            //_list.Add(new SelectListItem()
            //{
            //    Value = "9",
            //    Text = "YL-YUEN LONG DISTRICT 元朗區"
            //});
            //ViewBag.DistrictList = new SelectList((IEnumerable<SelectListItem>)_list, "Value", "Text");
            return(View());
        }