//getting a single form
        //public async Task<HoursForm> GetSingleForm(int formId)
        //{
        //    return await context.HoursForms.FindAsync(formId);
        //}

        //edit the form
        public async Task <HoursFormModel> EditForm(HoursFormModel editform)
        {
            HoursForm entity = context.HoursForms.Single(p => p.FormId == editform.FormId);

            entity.FormId           = editform.FormId;
            entity.AccountId        = editform.AccountId;
            entity.DateSend         = editform.DateSend;
            entity.DateDue          = editform.DateDue;
            entity.TotalHours       = editform.TotalHours;
            entity.Year             = editform.Year;
            entity.ProjectMonth     = editform.ProjectMonth;
            entity.IsAcceptedClient = editform.IsAcceptedClient;
            entity.IsLocked         = editform.IsLocked;

            await context.SaveChangesAsync();

            return(editform);
        }
 public HoursFormRepository(HoursForm hoursform)
 {
     this.hoursform = hoursform;
 }
        public async Task <HoursFormModel> CreateNewForm(HoursFormModel hoursFormModel)
        {
            // create form
            HoursForm hoursForm = new HoursForm()
            {
                AccountId        = hoursFormModel.AccountId,
                DateSend         = hoursFormModel.DateSend,
                DateDue          = hoursFormModel.DateDue,
                TotalHours       = hoursFormModel.TotalHours,
                ProjectMonth     = hoursFormModel.ProjectMonth,
                Year             = hoursFormModel.Year,
                IsAcceptedClient = hoursFormModel.IsAcceptedClient,
                IsLocked         = hoursFormModel.IsLocked
            };

            context.HoursForms.Add(hoursForm);
            await context.SaveChangesAsync();

            var DaysinMonth = 0;

            switch (hoursForm.ProjectMonth)
            {
            case "januari":
                DaysinMonth = 31;
                break;

            case "februari":
                if (DateTime.IsLeapYear(Convert.ToInt32(hoursForm.Year)) == true)
                {
                    DaysinMonth = 29;
                }
                else
                {
                    DaysinMonth = 28;
                }
                break;

            case "maart":
                DaysinMonth = 31;
                break;

            case "april":
                DaysinMonth = 30;
                break;

            case "mei":
                DaysinMonth = 31;
                break;

            case "juni":
                DaysinMonth = 30;
                break;

            case "juli":
                DaysinMonth = 31;
                break;

            case "augustus":
                DaysinMonth = 31;
                break;

            case "september":
                DaysinMonth = 30;
                break;

            case "oktober":
                DaysinMonth = 31;
                break;

            case "november":
                DaysinMonth = 30;
                break;

            case "december":
                DaysinMonth = 31;
                break;
            }

            while (DaysinMonth > 0)
            {
                context.HoursPerDays.Add(new HoursPerDay
                {
                    FormId        = hoursForm.FormId,
                    Day           = DaysinMonth,
                    Month         = hoursForm.ProjectMonth,
                    Hours         = 0,
                    OverTimeHours = 0,
                    Training      = 0,
                    IsLeave       = 0,
                    Other         = 0,
                    Reasoning     = "",
                    ClientId      = null,
                    IsSick        = 0
                });

                DaysinMonth--;
                await context.SaveChangesAsync();
            }

            return(hoursFormModel);
        }