EchoTex_Payroll/HRM.UI/Controllers/MobileAPI/Components/MakeDataTableFromObject.cs
2024-10-14 10:01:49 +06:00

71 lines
2.2 KiB
C#

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<DailyAttnProcessTModel> MakeAttnApproveDataTable(List<DailyAttnProcess> _daPocess)
{
DataTable dt = null;
List<DailyAttnProcessTModel> models = new List<DailyAttnProcessTModel>();
if (_daPocess != null)
{
List<Shift> _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;
}
}
}