Ejemplo n.º 1
0
        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 }));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> UpdateHolidayAsync(int id, [FromBody] AddHolidayAc updatedHolidayAc)
        {
            if (ModelState.IsValid)
            {
                ApplicationUser currentUser = await _userManager.FindByEmailAsync(User.Identity.Name);

                return(Ok(await _instituteHolidayManagementRepository.UpdateHolidayAsync(id, updatedHolidayAc, currentUser)));
            }
            else if (updatedHolidayAc.AcademicYearId == 0)
            {
                return(Ok(new { Message = "Academic year can not be null or empty", HasError = true }));
            }
            else
            {
                return(Ok(new { Message = "Holiday date can not be null or empty", HasError = true }));
            }
        }
        /// <summary>
        /// Method for adding new holiday
        /// </summary>
        /// <param name="newHoliday"></param>
        /// <returns></returns>
        public async Task AddNewHoliday(AddHolidayAc newHolidayAc, ApplicationUser currentUser)
        {
            int currentUserInstituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(currentUser.Id, true);

            Holiday newHoliday = new Holiday
            {
                AcademicYearId = newHolidayAc.AcademicYearId,
                HolidayDate    = newHolidayAc.FromDate,
                HolidayToDate  = newHolidayAc.ToDate,
                Description    = newHolidayAc.Description,
                OccuranceType  = newHolidayAc.OccuranceType,
                InstitutionId  = currentUserInstituteId,
                CreatedBy      = currentUser.Id,
                CreatedOn      = currentUser.CreatedOn
            };

            _imsDbContext.Add(newHoliday);
            await _imsDbContext.SaveChangesAsync();
        }
        /// <summary>
        /// Method for updating holiday
        /// </summary>
        /// <param name="id"></param>
        /// <param name="updatedHoliday"></param>
        /// <returns></returns>
        public async Task <dynamic> UpdateHolidayAsync(int id, AddHolidayAc updatedHolidayAc, ApplicationUser currentUser)
        {
            int currentUserInstituteId = await _instituteUserMappingHelperService.GetUserCurrentSelectedInstituteIdAsync(currentUser.Id, true);

            Holiday holiday = await _imsDbContext.Holidays.FirstOrDefaultAsync(x => x.Id == id && x.InstitutionId == currentUserInstituteId);

            if (holiday == null)
            {
                return(new { Message = "No holiday exists with this id", HasError = true });
            }
            else
            {
                holiday.HolidayDate   = updatedHolidayAc.FromDate;
                holiday.HolidayToDate = updatedHolidayAc.ToDate;
                holiday.OccuranceType = updatedHolidayAc.OccuranceType;
                holiday.Description   = updatedHolidayAc.Description;
                holiday.UpdatedBy     = currentUser.Id;
                holiday.UpdatedOn     = DateTime.UtcNow;
                _imsDbContext.Holidays.Update(holiday);
                await _imsDbContext.SaveChangesAsync();

                return(new { Message = "Holiday updated successfully" });
            }
        }