// 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)); }
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)); }