/// <summary> /// Method for bulk update of week offs /// </summary> /// <param name="updatedWeekOffs"></param> /// <returns></returns> public async Task BulkUpdateWeekOff(List <InstituteWeekOffAc> updatedWeekOffs, ApplicationUser currentUser) { int currentUserInstituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(currentUser.Id, true); List <WeekOff> addedWeekOffsList = new List <WeekOff>(); List <WeekOff> removedWeekOffsList = new List <WeekOff>(); foreach (InstituteWeekOffAc weekOffAc in updatedWeekOffs) { WeekOff weekOff = await _imsDbContext.WeekOffs.FirstOrDefaultAsync(x => x.AcademicYearId == weekOffAc.AcademicYearId && x.InstitutionId == currentUserInstituteId && x.WeekDay == weekOffAc.WeekDay); if (weekOff == null) { WeekOff newWeekOff = new WeekOff { WeekDay = weekOffAc.WeekDay, AcademicYearId = weekOffAc.AcademicYearId, InstitutionId = weekOffAc.InstitutionId, CreatedBy = currentUser.Id, CreatedOn = DateTime.UtcNow }; addedWeekOffsList.Add(newWeekOff); } else { removedWeekOffsList.Add(weekOff); } } _imsDbContext.WeekOffs.AddRange(addedWeekOffsList); _imsDbContext.WeekOffs.RemoveRange(removedWeekOffsList); await _imsDbContext.SaveChangesAsync(); }
/// <summary> /// Method for fetching the list of week days /// </summary> /// <returns></returns> public List <WeekDaysEnumDetails> GetDaysOfWeek(int instituteId) { List <WeekDaysEnumDetails> weekDaysEnumDetailsList = new List <WeekDaysEnumDetails>(); List <WeekDaysEnum> weekDaysEnumList = EnumHelperService.GetEnumValuesList <WeekDaysEnum>(); foreach (WeekDaysEnum weekDay in weekDaysEnumList) { WeekOff weekOff = _imsDbContext.WeekOffs.FirstOrDefault(x => x.WeekDay == weekDay && x.InstitutionId == instituteId); if (weekOff == null) { weekDaysEnumDetailsList.Add(new WeekDaysEnumDetails { WeekDaysEnum = weekDay, WeekDaysEnumString = EnumHelperService.GetDescription(weekDay) }); } } return(weekDaysEnumDetailsList); }