Esempio n. 1
0
        public ActionResult ExportTimeSheetToExcel(TimeSheetQueryModel TimeSheetQueryModelObj, string RequestLevelPerson)
        {
            string errorMessage = string.Empty;
            string startDate    = TimeSheetQueryModelObj.DateRange.Substring(0, 10);
            string endDate      = TimeSheetQueryModelObj.DateRange.Substring(12);

            //TimeSheetQueryModelObj.FromDate = startDate;
            if (startDate != "")
            {
                try
                {
                    TimeSheetQueryModelObj.FromDate = DateTime.Parse(startDate, new CultureInfo("en-GB", true));
                    TimeSheetQueryModelObj.ToDate   = DateTime.Parse(endDate, new CultureInfo("en-GB", true));
                }
                catch (Exception)
                {
                    throw;
                }
            }

            List <TimeSheetModel> timeSheetModelList = GetEmployeeTimeSheet(TimeSheetQueryModelObj, out errorMessage, RequestLevelPerson);
            List <TimeSheetModel> excelData          = timeSheetModelList.ToList();

            if (excelData.Count > 0)
            {
                List <string> columns = new List <string>()
                {
                    "Date", "Shift", "In Time", "Out Time", "Working Hours", "Status", "Requests", "Day", "Late In", "Early Out", "Name", "Reporting Manager"
                };
                string fileName = string.Format("Timesheet_{0}{1}", DateTime.Now.ToString("ddMMyyyyHHmmss"), ".xlsx");

                //if (RequestLevelPerson == "My")
                //{
                //    EmployeeProfile profile = (EmployeeProfile)Session["Profile"];
                //    fileName = string.Format("{0}{1}{2}{3}", profile.FirstName, profile.LastName, DateTime.Now.ToString("ddMMyyyyHHmmss"), ".xlsx");
                //}
                //else
                //{
                //fileName = string.Format("TimeSheet_{0}{1}", DateTime.Now.ToString("ddMMyyyyHHmmss"), ".xlsx");
                //}
                byte[] filecontent = ExcelExportHelper.ExportTimesheetExcel(excelData, "", true, columns.ToArray());
                return(File(filecontent, ExcelExportHelper.ExcelContentType, fileName));
            }
            else
            {
                using (var Client = new LeaveClient())
                {
                    var result = Client.GetYearsFromLeaveBalance();
                    ViewBag.YearsInLeaveBal = result;
                }
                ViewBag.RequestLevelPerson = RequestLevelPerson;
                EmployeeAttendanceQueryModel data = new EmployeeAttendanceQueryModel
                {
                    ErrorMsg = "Excel file is not generated as no data returned."
                };
                return(View("~/Views/Attendance/TimeSheet.cshtml", data));
            }
        }