public async Task <IActionResult> GetOccuranceTypesListAsync(int academicYearId) { List <HolidayOccuranceTypeEnumDetailsListAc> holidayOccuranceTypeEnumDetailsList = _instituteHolidayManagementRepository.GetOccuranceTypesList(); InstituteAcademicYear academicYear = await _imsDbContext.InstituteAcademicYears.FirstOrDefaultAsync(x => x.Id == academicYearId); return(Ok(new { OccuranceTypesList = holidayOccuranceTypeEnumDetailsList, AcademicYear = academicYear })); }
public async Task <IActionResult> GetHolidayDetailsByIdAsync(int holidayId) { ApplicationUser currentUser = await _userManager.FindByEmailAsync(User.Identity.Name); AddHolidayAc holidayAc = await _instituteHolidayManagementRepository.GetHolidayDetailsByIdAsync(holidayId, currentUser); List <HolidayOccuranceTypeEnumDetailsListAc> occuranceTypesList = _instituteHolidayManagementRepository.GetOccuranceTypesList(); InstituteAcademicYear academicYear = await _imsDbContext.InstituteAcademicYears.FirstOrDefaultAsync(x => x.Id == holidayAc.AcademicYearId); return(Ok(new { Holiday = holidayAc, OccuranceTypesList = occuranceTypesList, AcademicYear = academicYear })); }
public async Task <IActionResult> GetAcademicYearByIdAsync(int id) { ApplicationUser currentUser = await _userManager.FindByEmailAsync(User.Identity.Name); InstituteAcademicYear instituteAcademicYear = await _instituteAcademicYearManagementRepository.GetAcademicYearByIdAsync(id, currentUser); if (instituteAcademicYear == null) { return(Ok(new { Message = "No academic year found with this id", HasError = true })); } return(Ok(instituteAcademicYear)); }
/// <summary> /// Method for adding new academic year /// </summary> /// <param name="newAcademicYearAc"></param> /// <param name="currentUser"></param> /// <returns></returns> public async Task <dynamic> AddAcademicYearAsync(AddInstituteAcademicYearAc newAcademicYearAc, ApplicationUser currentUser) { int currentUserInstituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(currentUser.Id, true); InstituteAcademicYear existingAcademicYear = await _imsDbContext.InstituteAcademicYears.FirstOrDefaultAsync(x => x.FromDate == newAcademicYearAc.FromDate && x.ToDate == newAcademicYearAc.ToDate && x.InstituteId == currentUserInstituteId); if (existingAcademicYear != null) { return(new { Message = "Academic year already exist within the same date range", HasError = true }); } else if (await _imsDbContext.InstituteAcademicYears.AnyAsync(x => x.AcademicYearCode.ToLowerInvariant().Equals(newAcademicYearAc.AcademicYearCode.ToLowerInvariant()) && x.InstituteId == currentUserInstituteId)) { return(new { Message = "Academic year code already exist", HasError = true }); } else if (newAcademicYearAc.IsActive && await _imsDbContext.InstituteAcademicYears.AnyAsync(x => x.IsActive && x.InstituteId == currentUserInstituteId)) { return(new { Message = "Another academic year is already active", HasError = true }); } // Add new academic year InstituteAcademicYear newAcademicYear = new InstituteAcademicYear { AcademicYearCode = newAcademicYearAc.AcademicYearCode, ChallanStartingNumber = newAcademicYearAc.ChallanStartingNumber, FromDate = newAcademicYearAc.FromDate, ToDate = newAcademicYearAc.ToDate, IsActive = newAcademicYearAc.IsActive, CreatedBy = currentUser.Id, CreatedOn = DateTime.UtcNow, InstituteId = currentUserInstituteId }; _imsDbContext.InstituteAcademicYears.Add(newAcademicYear); await _imsDbContext.SaveChangesAsync(); return(new { Message = "Academic year added successfully" }); }
/// <summary> /// Method for updating an academic year /// </summary> /// <param name="id"></param> /// <param name="updatedAcademicYearAc"></param> /// <returns></returns> public async Task <dynamic> UpdateAcademicYearAsync(int id, AddInstituteAcademicYearAc updatedAcademicYearAc, ApplicationUser currentUser) { int currentUserInstituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(currentUser.Id, true); InstituteAcademicYear academicYear = await _imsDbContext.InstituteAcademicYears.FirstOrDefaultAsync(x => x.Id == id && x.InstituteId == currentUserInstituteId); if (academicYear == null) { return(new { Message = "No academic year exists with this id", HasError = true }); } else if (await _imsDbContext.InstituteAcademicYears.AnyAsync(x => x.Id != id && x.FromDate == updatedAcademicYearAc.FromDate && x.ToDate == updatedAcademicYearAc.ToDate && x.InstituteId == currentUserInstituteId)) { return(new { Message = "Academic year already exist within the same date range", HasError = true }); } else if (await _imsDbContext.InstituteAcademicYears.AnyAsync(x => x.Id != id && x.AcademicYearCode.ToLowerInvariant().Equals(updatedAcademicYearAc.AcademicYearCode.ToLowerInvariant()) && x.InstituteId == currentUserInstituteId)) { return(new { Message = "Academic year code already exist", HasError = true }); } else if (updatedAcademicYearAc.IsActive && await _imsDbContext.InstituteAcademicYears.AnyAsync(x => x.Id != id && x.IsActive && x.InstituteId == currentUserInstituteId)) { return(new { Message = "Another academic year is already active", HasError = true }); } else { academicYear.AcademicYearCode = updatedAcademicYearAc.AcademicYearCode; academicYear.ChallanStartingNumber = updatedAcademicYearAc.ChallanStartingNumber; academicYear.IsActive = updatedAcademicYearAc.IsActive; academicYear.FromDate = updatedAcademicYearAc.FromDate; academicYear.ToDate = updatedAcademicYearAc.ToDate; academicYear.UpdatedBy = currentUser.Id; academicYear.UpdatedOn = DateTime.UtcNow; _imsDbContext.InstituteAcademicYears.Update(academicYear); await _imsDbContext.SaveChangesAsync(); return(new { Message = "Academic year updated successfully" }); } }