private List <MonthDayViewModel> GetMonthDays(int year, int month)
        {
            List <MonthDayViewModel> days = new List <MonthDayViewModel>();

            var bankHolidays = getBankHoliday.GetBankHolidays();;

            DateTime now = DateTime.Now;

            int countOfDays = DateTime.DaysInMonth(year, month);

            var holidays = vacRep.GetVacations();

            for (int i = 1; i <= countOfDays; i++)
            {
                DateTime          date = new DateTime(year, month, i);
                MonthDayViewModel day  = new MonthDayViewModel();
                day.Day  = i;
                day.Name = date.DayOfWeek.ToString();

                var bH = bankHolidays.FirstOrDefault(x => x.Day == i && x.Month == month);

                day.IsFreeDay = date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday || bH != null;

                day.Vacations   = holidays.Where(x => DateTime.Compare(x.StartDate, date) <= 0 && DateTime.Compare(x.EndDate, date) >= 0).ToList();
                day.Description = date.ToString("MMMM");
                DateTimeFormatInfo mfi = new DateTimeFormatInfo();
                day.Month = mfi.GetMonthName(month).ToString();

                days.Add(day);
            }

            return(days);
        }
        // GET: Dashboard
        public ActionResult Index()
        {
            var users = database.GetUsers();
            var teams = db.GetTeams();
            var roles = newdb.Roles.ToList();

            DashboardViewModel dash = new DashboardViewModel()
            {
                UserList = users,
                TeamList = teams,
                Roles    = roles
            };
            CalendarViewModel Calendar = new CalendarViewModel()
            {
                BankHolidays = bank.GetBankHolidays(),
                Vacations    = vakacio.GetVacations()
            };
            VacationRepository vakrep = new VacationRepository();
            var datum = DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
            var free  = vakrep.GetVacations();

            for (int i = 1; i <= datum; ++i)
            {
                var date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, i);

                bool isFreeDay = date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday;

                MonthDayViewModel day = new MonthDayViewModel()
                {
                    Day       = i,
                    Name      = date.DayOfWeek.ToString(),
                    IsFreeDay = isFreeDay
                };

                var vakacio = Calendar.BankHolidays.FirstOrDefault(x => x.Day == i && x.Month == DateTime.Now.Month);
                day.IsFreeDay = date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday || vakacio != null;
                day.Vacations = free.Where(x => DateTime.Compare(x.StartDate, date) <= 0 || DateTime.Compare(x.EndDate, date) >= 0).ToList();



                Calendar.MonthDays.Add(day);
            }
            ;
            dash.Calendar = Calendar;
            return(View(dash));
        }
Example #3
0
        public CalendarViewModel getMonthDays(AjaxDateModel model)
        {
            CalendarViewModel calendar = new CalendarViewModel();

            calendar.Vacations    = vacationrepo.GetVacations();
            calendar.BankHolidays = bankHolidayrepo.GetBankHolidays();

            var numberOfDays = DateTime.DaysInMonth(model.year, model.month);

            for (int i = 1; i <= numberOfDays; ++i)
            {
                var date = new DateTime(model.year, model.month, i);

                MonthDayViewModel day = new MonthDayViewModel();
                day.day       = i;
                day.nameOfDay = date.DayOfWeek.ToString();

                var holiday = calendar.BankHolidays.FirstOrDefault(x => x.Day == i && x.Month == model.month);

                if (holiday != null)
                {
                    day.isFreeDay   = true;
                    day.description = holiday.Description;
                }
                else
                {
                    if (day.nameOfDay == "Sunday" || day.nameOfDay == "Saturday")
                    {
                        day.isFreeDay   = true;
                        day.description = "Weekend";
                    }
                    else
                    {
                        day.isFreeDay   = false;
                        day.description = null;
                    }
                }

                calendar.MonthDays.Add(day);
            }

            return(calendar);
        }