コード例 #1
0
        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;
        }
コード例 #2
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;
                }
            }
        }