Example #1
0
        public void CountSickDays2(DateTime dt1, DateTime dt2,
                                   out int sickdaysA, out int sickdaysB, out int sickdaysN)
        {
            int i1 = dt1.Day;
            int i2 = dt2.Day;

            sickdaysA = 0;
            sickdaysB = 0;
            sickdaysN = 0;

            for (int i = i1; i <= i2; i++)
            {
                bool factdayadded = false;

                for (int j = 0; j < this.Count; j++)
                {
                    var dlset = this[j];

                    var daycodeplan = dlset.Plan.DxPlan[i - 1];
                    var daycodefact = dlset.Fact.DxFact[i - 1];

                    if (daycodeplan == EDayPlanId.None)
                    {
                        continue;
                    }
                    if (daycodefact == EDayFactId.X || daycodefact == EDayFactId.None)
                    {
                        continue;
                    }

                    var isPlanWorkDay = daycodeplan == EDayPlanId.DD || daycodeplan == EDayPlanId.DDSD;

                    var isFactSickDay = SomeDataDefs.IsSickDay(daycodefact);

                    if (!isPlanWorkDay)
                    {
                        continue;
                    }

                    if (!factdayadded && isFactSickDay)
                    {
                        if (daycodefact == EDayFactId.SA)
                        {
                            sickdaysA++;
                        }
                        if (daycodefact == EDayFactId.SB)
                        {
                            sickdaysB++;
                        }
                        if (daycodefact == EDayFactId.SN)
                        {
                            sickdaysN++;
                        }
                        factdayadded = true;
                    }
                }
            }
        }
Example #2
0
        public Color ColorCell(float v, short daycode, EKind1 kind1)
        {
            if (SomeDataDefs.IsKindPlan(kind1))
            {
                var daycodeplan = (EDayPlanId)daycode;

                switch (daycodeplan)
                {
                case EDayPlanId.BD:
                    return(FreeDay);

                case EDayPlanId.SD:
                case EDayPlanId.SDDD:
                case EDayPlanId.DDSD:
                    return(HolyDay);

                default:
                    return(Color.Empty);
                }
            }
            else
            {
                var daycodefact = (EDayFactId)daycode;
                if (SomeDataDefs.IsDayVacation(daycodefact))
                {
                    return(VacationDay);
                }
                if (SomeDataDefs.IsSickDay(daycodefact))
                {
                    return(SickDay);
                }
                if (daycodefact == EDayFactId.B)
                {
                    return(FreeDay);
                }
                if (daycodefact == EDayFactId.S || daycodefact == EDayFactId.DS ||
                    daycodefact == EDayFactId.KS || daycodefact == EDayFactId.V)
                {
                    return(HolyDay);
                }

                return(Color.Empty);
            }
        }
Example #3
0
        public ErrorList CheckDays(SalaryInfo wt, DateTime dt1, DateTime dt2, int idp)
        {
            var        error_list = new ErrorList();
            string     errstr = string.Format("{0}.{1}", dt1.Year, dt1.Month);
            int        i, j;
            int        i1           = dt1.Day;
            int        i2           = dt2.Day;
            EDayPlanId daycodeplan  = EDayPlanId.None;
            EDayFactId daycodefact  = EDayFactId.None;
            EDayPlanId daycodeplan2 = EDayPlanId.None;
            EDayFactId daycodefact2 = EDayFactId.None;
            bool       iscodeset;

            for (i = i1; i <= i2; i++)
            {
                iscodeset = false;
                for (j = 0; j < this.Count; j++)
                {
                    daycodeplan = this[j].Plan.DxPlan[i - 1];
                    if (!iscodeset)
                    {
                        daycodeplan2 = daycodeplan;
                        iscodeset    = true;
                        continue;
                    }
                    if (daycodeplan != daycodeplan2)
                    {
                        var errs = string.Format("{0} nesakrīt darba laika plāna dati dažādiem amatiem dienai: {1}", errstr, i);
                        error_list.AddPersonError(idp, errs);
                    }
                }
                iscodeset = false;
                for (j = 0; j < this.Count; j++)
                {
                    daycodefact = this[j].Fact.DxFact[i - 1];
                    daycodeplan = this[j].Plan.DxPlan[i - 1];
                    if (daycodefact == EDayFactId.X || daycodefact == EDayFactId.None)
                    {
                        continue;
                    }
                    if (!iscodeset)
                    {
                        daycodefact2 = daycodefact;
                        daycodeplan2 = daycodeplan;
                        iscodeset    = true;

                        if (!SomeDataDefs.CanPlanHaveFact(daycodeplan, daycodefact))
                        {
                            var errs = string.Format("{0} nekorekts faktiski nostrādās dienas kods: {1}", errstr, i);
                            error_list.AddPersonError(idp, errs);
                        }

                        continue;
                    }

                    bool b1 = SomeDataDefs.IsSickDay(daycodefact) ||
                              SomeDataDefs.IsDayVacation(daycodefact) ||
                              daycodefact == EDayFactId.V;

                    bool b2 = SomeDataDefs.IsSickDay(daycodefact2) ||
                              SomeDataDefs.IsDayVacation(daycodefact2) ||
                              daycodefact2 == EDayFactId.V;

                    if (b1 != b2)
                    {
                        var errs = string.Format("{0} nesakrīt darba laika dati dažādiem amatiem dienai: {1}", errstr, i);
                        error_list.AddPersonError(idp, errs);
                    }
                }
            }

            return(error_list);
        }