public IEnumerable <CalendarEvent> GetEvents([FromBody] SelectorDateParams selectorParams) { DateTime today = DateTime.Today; int year = today.Year; int month = today.Month; if (selectorParams != null) { if ((selectorParams.Month != 0) && (selectorParams.Year != 0)) { year = selectorParams.Year; month = selectorParams.Month; } } DateTime requestStart = new DateTime(year, month, 1, 0, 0, 0); DateTime requestEnd = new DateTime(year, month, DateTime.DaysInMonth(year, month), 23, 59, 59); IEnumerable <CalendarEvent> events = _db.CalendarEvents.Where(calendarEvent => ((calendarEvent.Start >= requestStart) && (calendarEvent.End <= requestEnd))) .OrderBy(calendarEvent => calendarEvent.Start) .Include(calendarEvent => calendarEvent.CreatedBy) .Include(calendarEvent => calendarEvent.Customer) .Include(calendarEvent => calendarEvent.EventType) .Include(calendarEvent => calendarEvent.Owner); return(events); }
public CalendarInitViewModel GetInitData([FromBody] SelectorDateParams selectorParams) { DateTime today = DateTime.Today; int year = today.Year; int month = today.Month; if (selectorParams != null) { if ((selectorParams.Month != 0) && (selectorParams.Year != 0)) { year = selectorParams.Year; month = selectorParams.Month; } } SelectorWeek[] weeks = GetMonthWeeks(year, month); ApplicationRole stylistRole = _db.Roles.FirstOrDefault(r => r.Name.Equals("Stylist", StringComparison.InvariantCultureIgnoreCase)); CalendarInitViewModel model = new CalendarInitViewModel(); string user = User.Identity.Name; if (string.IsNullOrEmpty(user)) { user = "******"; } model.User = user; model.IsAdmin = User.IsInRole("Admin"); model.Year = year; model.Month = month; model.MonthName = GetMonthName(month); model.MonthDays = DateTime.DaysInMonth(year, month); model.Weeks = weeks; model.Users = _db.Users.Include(u => u.UserRoles).Where(u => u.UserRoles.Any(r => ((r.User == u) && (r.Role.Name.Equals("Admin", StringComparison.InvariantCultureIgnoreCase))))).Select(u => new UserEntity() { Id = u.Id.ToString("D"), Name = $"{u.FirstName} {u.LastName}", Email = u.Email }).ToArray(); model.Stylists = _db.Users.Include(u => u.UserRoles).Where(u => u.UserRoles.Any(r => ((r.User == u) && (r.Role.Name.Equals("Stylist", StringComparison.InvariantCultureIgnoreCase))))).Select(u => new UserEntity() { Id = u.Id.ToString("D"), Name = $"{u.FirstName} {u.LastName}", Email = u.Email }).ToArray(); model.Customers = _db.Customers.ToArray(); model.EventTypes = _db.CalendarEventTypes.ToArray(); model.Statuses = ((EventStatus[])Enum.GetValues(typeof(EventStatus))).Select(es => new RegisterEntity() { Id = (int)es, Name = es.ToString() }).ToArray(); return(model); }