Beispiel #1
0
        public string MarkDays(DateTime dt1, DateTime dt2)
        {
            ClearDays();

            if (HireFire == null)
            {
                return("Darbieneiks nav pieņemts darbā.");
            }

            foreach (var pv in Positions)
            {
                var dids  = new EPeriodId[31];
                var didsa = new EEventId[31];
                ClearA(dids);
                ClearB(didsa);
                PositionDayIds[pv.Key]  = dids;
                PositionDayIdsA[pv.Key] = didsa;
            }

            foreach (var pv in Positions)
            {
                pv.Value.MarkDates(DayIds, dt1, dt2, EPeriodId.Ir_pieņemts);
                var posdayids = PositionDayIds[pv.Key];
                pv.Value.MarkDates(posdayids, dt1, dt2, EPeriodId.Ir_pieņemts);
            }

            Vacations.MarkDates(DayIds, dt1, dt2, EPeriodId.Atvaļinājums);
            SickDays.MarkDates(DayIds, dt1, dt2, EPeriodId.Slimo);

            foreach (var pv in Positions)
            {
                var posdayids = PositionDayIds[pv.Key];
                Vacations.MarkDates(posdayids, dt1, dt2, EPeriodId.Atvaļinājums);
                SickDays.MarkDates(posdayids, dt1, dt2, EPeriodId.Slimo);
            }

            foreach (var pi in Vacations.LinkedPeriods)
            {
                pi.EEventId = (pi.Item1 as KlonsADataSet.EVENTSRow).EventCode;
            }
            foreach (var pi in SickDays.LinkedPeriods)
            {
                pi.EEventId = (pi.Item1 as KlonsADataSet.EVENTSRow).EventCode;
            }

            foreach (var pv in Positions)
            {
                pv.Value.MarkDates(DayIdsA, dt1, dt2, EEventId.Pieņemts);
                var posdayidsa = PositionDayIdsA[pv.Key];
                pv.Value.MarkDates(posdayidsa, dt1, dt2, EEventId.Pieņemts);
            }

            Vacations.MarkDatesA(DayIdsA, dt1, dt2, d => d.EEventId);
            SickDays.MarkDatesA(DayIdsA, dt1, dt2, d => d.EEventId);

            foreach (var pv in Positions)
            {
                var posdayidsa = PositionDayIdsA[pv.Key];
                Vacations.MarkDatesA(posdayidsa, dt1, dt2, d => d.EEventId);
                SickDays.MarkDatesA(posdayidsa, dt1, dt2, d => d.EEventId);
            }

            return("OK");
        }