public CalendarModel generateCalendar(YearMonthModel ymmodel)//, string userID) { //create a new calendar model CalendarModel newCalendar = new CalendarModel(); //get bankholidays, vacations and populate calendar var bankholidays = BhR.GetBankHolidays(); var vacations = Vacations.GetVacations(); newCalendar.monthdays = new System.Collections.Generic.List <DayModel>(); newCalendar.bankholidays = bankholidays; newCalendar.vacations = vacations; //get our month days number and parse it var mdays = DateTime.DaysInMonth(ymmodel.year, ymmodel.month); for (var iter = 1; iter <= mdays; iter++) { //default values for descriptions and freeday var descriptionStatus = "busy"; var isFreeDayStatus = false; //next day and check if its weekend, bankholiday or vacation day var currentDate = new DateTime(ymmodel.year, ymmodel.month, iter); if ((currentDate.DayOfWeek == DayOfWeek.Saturday) || (currentDate.DayOfWeek == DayOfWeek.Sunday)) { descriptionStatus = "Weekend"; isFreeDayStatus = true; } if (bankholidays.Any(x => x.Month == currentDate.Month && x.Day == iter)) { isFreeDayStatus = true; descriptionStatus += " BankHoliday"; } var CurrentUserID = User.Identity.GetUserId(); var check = newdb.UserDetails.FirstOrDefault(d => d.UserID == CurrentUserID); if (vacations.Any(x => x.UserId == check.ID && x.StartDate <= currentDate && x.EndDate >= currentDate && x.StateId == 1)) { descriptionStatus += " Want to go to Vacation"; } if (vacations.Any(x => x.UserId == check.ID && x.StartDate <= currentDate && x.EndDate >= currentDate && x.StateId == 2)) { isFreeDayStatus = true; descriptionStatus += " Vacation"; } //add it to our list newCalendar.monthdays.Add(new DayModel { description = descriptionStatus, day = iter, name = currentDate.ToString("dddd"), isFreeDay = isFreeDayStatus }); } //return our calendar return(newCalendar); }
// GET: Dashboard public ActionResult Index() { DashboardViewModel dashboardVM = new DashboardViewModel() { Test = "Test Value" }; dashboardVM.UsersList = UserDetailsRepo.GetUsers(); ////////////////////////////////////// dashboardVM.Teams = TeamRepo.GetTeams(); dashboardVM.CalendarViewModel.BankHolidays = BankHolidayRepo.GetBankHolidays(); dashboardVM.CalendarViewModel.Vacations = VacationRepo.GetVacations(); dashboardVM.CalendarViewModel.MonthDays = new List <MonthDaysViewModel>(); //dashboardVM.CalendarViewModel.MonthDays.Day = for (int i = 1; i <= DateTime.DaysInMonth(2017, 7); i++) { DateTime dt = new DateTime(2017, 7, i); string aux = dt.DayOfWeek.ToString(); dashboardVM.CalendarViewModel.MonthDays.Add(new MonthDaysViewModel(i, false, aux)); }//ajax call from javascript ////////////////////////////////////// //dashboardVM.Test = dashboardVM.UsersList[0].FirstName; return(View("Index", dashboardVM)); }
// GET: Dashboard public ActionResult Index() { var DbUsers = db.UserDetailsModel.ToList(); DashboardViewModels dashboardVM = new DashboardViewModels(); UserDetailsRepository UDR = new UserDetailsRepository(); dashboardVM.UserList = UDR.GetUsers(); TeamRepository TR = new TeamRepository(); dashboardVM.TeamList = TR.GetTeams(); List <IdentityRole> roles = db.Roles.ToList(); dashboardVM.RoleList = roles; VacationRepository vac = new VacationRepository(); BankHolidayRepository bank = new BankHolidayRepository(); CalendarViewModel calendar = new CalendarViewModel(); calendar.BankHolidayList = bank.GetBankHolidays(); calendar.VacationList = vac.GetVacations(); dashboardVM.Calendar = calendar; return(View(dashboardVM)); }
// GET: Dashboard public ActionResult Index() { var users = database.GetUsers(); var teams = tdatabase.GetTeams(); var roleStore = new RoleStore <IdentityRole>(); var roleMngr = new RoleManager <IdentityRole>(roleStore); var banks = bank.GetBankHolidays(); var vacations = CreateVacationList(); var vacationstates = vacationstate.GetVacationStates(); var actualUsermaxdays = maxdays(); var actualuservacations = actualUsermaxdays - actuservacations(); var roles = roleMngr.Roles.ToList(); DashboardViewModels dashboard = new DashboardViewModels() { Userlist = users, TeamList = teams, RoleList = roles, VacationList = vacations, VacationStateList = vacationstates, BankHollyDayList = banks, ActualUserMaxDays = actualUsermaxdays, ActUserVacation = Convert.ToInt32(actualuservacations) }; return(View(dashboard)); }
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)); }
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); }
public ActionResult AddHoliday(Vacation model) { //ha a model userid null akkor a bejelentkezett usernek irod ha enm a kivalasztott usernek var loginedUserUserId = User.Identity.GetUserId(); UserDetailsRepository udr = new UserDetailsRepository(); var loginedUserId = udr.GetUserDetailsByUserId(loginedUserUserId); if (model.UserId == 0) { model.UserId = loginedUserId.ID; } BankHolidayRepository bhr = new BankHolidayRepository(); var holidayDays = bhr.GetBankHolidays(); string message = "ok"; bool successed = true; model.Date = DateTime.Now; model.StateId = 1; int businessDaysUntil = 0; try { businessDaysUntil = BusinessDaysUntil(model.StartDate, model.EndDate, holidayDays); } catch (ArgumentException e) { successed = false; message = e.Message; } model.NrDays = businessDaysUntil; using (HolidayManagementContext db = new HolidayManagementContext()) { int sumUsedDays = 0; sumUsedDays = (int?)((from c in db.Vacations where c.UserId == model.UserId select c.NrDays).Sum()) ?? 0; var userMaxDays = db.UserDetailsModel.FirstOrDefault(p => p.ID == model.UserId); if (userMaxDays.MaxDays - sumUsedDays > businessDaysUntil) { db.Vacations.Add(model); try { db.SaveChanges(); } catch (Exception e) { successed = false; message = "Save in Error" + e.ToString(); } } else { successed = false; message = "Selected user has not enough holiday days"; } } VacationRepository vacationR = new VacationRepository(); var res = new { Success = successed, EMessage = message, BusinessDaysUntil = businessDaysUntil }; return(Json(res, JsonRequestBehavior.DenyGet)); }