예제 #1
0
        public async Task <List <TotalsForChartModel> > TotalHoursForCharts(int year)
        {
            var totalHoursList = new List <TotalsForChartModel>();

            for (int i = 1; i < 13; i++)
            {
                var totalsModel = new TotalsForChartModel
                {
                    Month = MonthConverter.ConvertIntToMonth(i)
                };
                totalHoursList.Add(totalsModel);
            }

            foreach (var model in totalHoursList)
            {
                var month    = MonthConverter.ConvertIntToMaand(MonthConverter.ConvertMonthToInt(model.Month));
                var entities = await context.DeclarationForms.Where(d => d.Month == month && d.Year == year).ToListAsync();

                foreach (var entity in entities)
                {
                    model.TotalHoliday     += entity.TotalHoliday;
                    model.TotalOther       += entity.TotalOther;
                    model.TotalOvertime    += entity.TotalOvertime;
                    model.TotalSickness    += entity.TotalSickness;
                    model.TotalTraining    += entity.TotalTraining;
                    model.TotalVacation    += entity.TotalVacation;
                    model.TotalWorkedHours += entity.TotalWorkedHours;
                }
                ;
            }
            return(totalHoursList);
        }
예제 #2
0
        public async Task AddHourRows(int year, string month, int declarationFormId)
        {
            var entity = await context.HourRows.FirstOrDefaultAsync(h => h.DeclarationFormId == declarationFormId); // als er uberhaupt iets in de hourrows van het declaratieform staat maakt het niks meer aan. Kan dus voor bugs zorgen.

            if (entity == null)
            {
                var monthInt = MonthConverter.ConvertMonthToInt(month);
                month = MonthConverter.ConvertIntToMonth(monthInt);
                int days = DateTime.DaysInMonth(year, monthInt);
                for (var i = 1; i <= days; i++)
                {
                    HourRow hourRow = new HourRow
                    {
                        Date              = Convert.ToString(i) + "/" + Convert.ToString(month) + "/" + Convert.ToString(year),
                        Worked            = 0,
                        Overtime          = 0,
                        Sickness          = 0,
                        Vacation          = 0,
                        Holiday           = 0,
                        Training          = 0,
                        Other             = 0,
                        OtherExplanation  = "",
                        DeclarationFormId = declarationFormId
                    };

                    context.HourRows.Add(hourRow);
                    await context.SaveChangesAsync();
                }
            }
        }
예제 #3
0
        public async Task <List <DeclarationFormModel> > GetAllFormsOfMonth(int month)
        {
            var monthString = MonthConverter.ConvertIntToMonth(month);
            var entities    = await context.DeclarationForms.Include(df => df.HourRows).Where(d => d.Month == monthString).ToListAsync();

            var forms = await GetFormModelsFromEntities(entities);

            return(forms);
        }