public static void InsertWorkingHours(hrPerson person, DateTime dt) { hrWorkingHour wh = new hrWorkingHour(); wh.EmpId = person.Id; wh.hrPerson = person; wh.UserName = person.LSUser; wh.AccessCardID = person.AccessCardID; wh.DoorSysID = person.DoorSysID; wh.WorkingDate = dt; wh.RecYear = dt.Year; wh.RecMonth = dt.Month; wh.RecDay = dt.Day; wh.DayOfWeek = dt.DayOfWeek.ToString(); wh.IsWorkingDay = IsStdWorkingDay(dt); wh.TotalHours = 0; wh.TotalMinutes = 0; wh.Exception = "NA"; wh.Note = ""; if (IsStdWorkingDay(dt)) { wh.StdWorkingHour = 8; wh.AssignedWorkingHour = 8; wh.HourDiff = -8; } else { wh.StdWorkingHour = 0; wh.AssignedWorkingHour = 0; wh.HourDiff = 0; } hrHoliday holiday = GetHoliday(dt); if (holiday != null) { //wh.Exception = "PH"; wh.Note = holiday.Name; wh.StdWorkingHour = holiday.WorkingHour; wh.AssignedWorkingHour = holiday.WorkingHour; wh.HourDiff = -1 * holiday.WorkingHour; } wh.MinuteDiff = 0; wh.IsOTAccepted = false; wh.OTAcceptedBy = ""; wh.AcceptedOTeHrs = 0; wh.AcceptedOTMin = 0; }
partial void hrWorkingHours_Updating(hrWorkingHour entity) { if (!Application.User.Name.Contains("appmanager")) { DateTime startTime; DateTime endTime; TimeSpan timeSpan; //if (entity.Details.Properties.IsWorkingDay.OriginalValue == false && entity.IsWorkingDay == true) //{ // entity.HourDiff = entity.AssignedWorkingHour * -1; //} //if (entity.Details.Properties.IsWorkingDay.OriginalValue == true && entity.IsWorkingDay == false) //{ // entity.HourDiff = 0; ; //} if (entity.EntryTime != null && entity.ExitTime != null) { startTime = (DateTime)entity.EntryTime; endTime = (DateTime)entity.ExitTime; timeSpan = endTime.Subtract(startTime); } else { DateTime justNow = DateTime.Now; timeSpan = justNow.Subtract(justNow); } int workedMinute = (timeSpan.Hours * 60) + timeSpan.Minutes; int assignedMinute = (int)entity.AssignedWorkingHour * 60; int minuteDiff = workedMinute - assignedMinute; entity.TotalHours = timeSpan.Hours; entity.TotalMinutes = timeSpan.Minutes; entity.HourDiff = minuteDiff / 60; entity.MinuteDiff = minuteDiff % 60; // 8 saatten sonrasını saymıyoruz! if (workedMinute >= 480) { entity.TotalHours = 8; entity.TotalMinutes = 0; } if (entity.Details.Properties.IsOTAccepted.OriginalValue == false && entity.IsOTAccepted == true) { entity.OTAcceptedBy = Application.User.Name; if (entity.AcceptedOTeHrs == 0 && entity.AcceptedOTMin == 0) { entity.AcceptedOTeHrs = entity.HourDiff; entity.AcceptedOTMin = entity.MinuteDiff; } } if (entity.Details.Properties.IsOTAccepted.OriginalValue == true && entity.IsOTAccepted == false) { entity.OTAcceptedBy = ""; entity.AcceptedOTeHrs = 0; entity.AcceptedOTMin = 0; } } }