Example #1
0
        public ActionResult ExportAccessCardAttendanceToExcel(EmployeeAttendanceQueryModel EmployeeAttendanceQueryModelObj, string RequestLevelPerson)
        {
            List <EmployeeAttendanceModel> excelData = GetAccessCardEmployeeAttendanceList(EmployeeAttendanceQueryModelObj.CardID.ToString(), (EmployeeAttendanceQueryModelObj.FromDate == DateTime.MinValue ? "" : EmployeeAttendanceQueryModelObj.FromDate.ToString()),
                                                                                           (EmployeeAttendanceQueryModelObj.ToDate == DateTime.MinValue ? "" : EmployeeAttendanceQueryModelObj.ToDate.ToString()), RequestLevelPerson).ToList();

            if (excelData.Count > 0)
            {
                List <string> columns = new List <string>()
                {
                    "Card Id", "Date", "In Out Time", "In Out", "Name"
                };
                string fileName = string.Format("AccessCardReport_{0}{1}", DateTime.Now.ToString("ddMMyyyyHHmmss"), ".xlsx");
                if (EmployeeAttendanceQueryModelObj.RequestLevelPerson == "My")
                {
                    columns = new List <string>()
                    {
                        "Card Id", "Date", "In Out Time", "In Out", "Name"
                    };
                }

                byte[] filecontent = ExcelExportHelper.ExportExcelAccessCardAttendance(excelData, "", false, columns.ToArray());
                return(File(filecontent, ExcelExportHelper.ExcelContentType, fileName));
            }
            else
            {
                ViewBag.RequestLevelPerson = RequestLevelPerson;
                EmployeeAttendanceQueryModel data = new EmployeeAttendanceQueryModel
                {
                    ErrorMsg = "Excel file is not generated as no data returned."
                };
                return(View("~/Views/Attendance/AccessCardAttendance.cshtml", data));
            }
        }
Example #2
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));
            }
        }
Example #3
0
        public async Task <EmployeeAttendanceQueryModel> EmployeeWorkingDays(int employeeId, DateTime startTime, DateTime endTime)
        {
            var duration = await EmployeeAttendance.GetEmployeeAttendanceForDuration(employeeId, startTime, endTime);

            var workingFullDays            = duration.Where(d => d.Duration >= 480).Count();
            var workingHalfDays            = duration.Where(d => d.Duration <= 480 && d.Duration >= 240).Count();
            var totalWorkingDays           = workingFullDays + (workingHalfDays / 2);
            var employeeAttendanceDUration = new EmployeeAttendanceQueryModel()
            {
                EmployeeId       = employeeId,
                QueryEndTime     = endTime,
                QueryStartTime   = startTime,
                TotalWorkingDays = totalWorkingDays
            };

            return(employeeAttendanceDUration);
        }