using Ease.Core.Model; using HRM.BO; using HRM.DA; using HRM.UI.MODELS; using Payroll.BO; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; namespace HRM.UI { public class MakeDataTableFromObject { public static List MakeAttnApproveDataTable(List _daPocess) { DataTable dt = null; List models = new List(); if (_daPocess != null) { List _shifts = new ShiftService().GetAllShift(); foreach (DailyAttnProcess item in _daPocess) { DailyAttnProcessTModel obj = new DailyAttnProcessTModel(); obj.Location = new AttendanceLocationTModel(); obj.PKID = item.ID; obj.DailyAttnProcessID = item.ID; obj.EmployeeID = item.EmployeeID; obj.AttnDate = item.AttnDate; obj.InTime = item.InTime ?? DateTime.MinValue; obj.OutTime = item.OutTime ?? DateTime.MinValue; obj.ActualInTime = item.ActualInTime ?? DateTime.MinValue; obj.ActualOutTime = item.ActualOutTime ?? DateTime.MinValue; obj.ActualStatus = item.AttenType; obj.ActualOT = item.OTHour; obj.AttenType = item.AttenType; obj.EmpAttenType = item.AttenType; obj.WFStatus = item.WFStatus; obj.Comments = item.Comments; obj.Location.ZipcodeInTime = item.ZipcodeInTime; obj.Location.ZipcodeOutTime = item.ZipcodeOutTime; obj.Location.InTimeLatitude = item.InTimeLatitude; obj.Location.OutTimeLatitude = item.OutTimeLatitude; obj.Location.InTimeLongitude = item.InTimeLongitude; obj.Location.OutTimeLongitude = item.OutTimeLongitude; obj.Location.InTimeNearestAddress = item.InTimeNearestAddress; obj.Location.OutTimeNearestAddress = item.OutTimeNearestAddress; Shift oShift = _shifts.Where(o => o.ID == item.ShiftID).FirstOrDefault(); string shiftDescription; if (oShift == null) shiftDescription = ""; else shiftDescription = oShift.Name + " (" + oShift.InTime.ToString("hh:mm tt") + " - " + oShift.OutTime.ToString("hh:mm tt") + ") "; obj.Shift = shiftDescription; models.Add(obj); } } return models; } } }