public ActionResult ExportOverTimePermissionsExcel(PermissionQueryModel qryMdl, string RequestLevelPerson) { IList <PermissionDetailsModel> LeaveRequests = null; DateTime?startDateFormatted = null; DateTime?endDateFormatted = null; string startDate = qryMdl.DateRange.Substring(0, 10); string endDate = qryMdl.DateRange.Substring(12); if (startDate != "") { try { startDateFormatted = DateTime.Parse(startDate, new CultureInfo("en-GB", true)); endDateFormatted = DateTime.Parse(endDate, new CultureInfo("en-GB", true)); } catch (Exception) { throw; } } using (var client = new LeaveClient()) { LeaveRequests = client.GetOverTimePermissionDetail(qryMdl.SearchUserID, RequestLevelPerson, startDateFormatted, endDateFormatted, qryMdl.OnlyReportedToMe, UserId); } List <PermissionDetailsModel> excelData = new List <PermissionDetailsModel>(); excelData = LeaveRequests.ToList(); if (excelData.Count > 0) { string[] columns = { "Emp Id", "Name", "Month", "Over Time Date", "Time From", "Time To", "Duration", "Reason", "Status", "Approver Comments", "Reporting Manager" }; byte[] filecontent = ExcelExportHelper.ExportOverTimeExcel(excelData, "", false, columns); return(File(filecontent, ExcelExportHelper.ExcelContentType, "OverTimeReport_" + System.DateTime.Now + ".xlsx")); } else { ViewBag.RequestLevelPerson = RequestLevelPerson; qryMdl.ErrorMsg = "Excel file is not generated as no data returned."; return(View("OverTimePermissions", qryMdl)); } }