public async Task <IActionResult> UpdateDisciplinaryStatusAsync([FromBody] UpdateDisciplinaryStatusManagementAc updateDisciplinaryStatusManagement)
        {
            if (string.IsNullOrEmpty(updateDisciplinaryStatusManagement.Name.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    ErrorType = SharedLookUpResponseType.Name, HasError = true, Message = "Disciplinary status name can't be empty"
                }));
            }
            if (string.IsNullOrEmpty(updateDisciplinaryStatusManagement.Code.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    ErrorType = SharedLookUpResponseType.Code, HasError = true, Message = "Disciplinary status code can't be empty"
                }));
            }
            else
            {
                var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync();

                if (await _iMSDbContext.DisciplinaryStatuses.AnyAsync(x => x.Id == updateDisciplinaryStatusManagement.Id && x.InstituteId == loggedInUserInstituteId))
                {
                    return(Ok(await _disciplinaryStatusManagementRepository.UpdateDisciplinaryStatusAsync(updateDisciplinaryStatusManagement, loggedInUserInstituteId)));
                }
                else
                {
                    return(Ok(new SharedLookUpResponse()
                    {
                        HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Disciplinary status not found"
                    }));
                }
            }
        }
Example #2
0
        /// <summary>
        /// Method to update Disciplinary Status - SS
        /// </summary>
        /// <param name="updateDisciplinaryStatusManagement">DisciplinaryStatus detail</param>
        /// <param name="instituteId">institute id</param>
        /// <returns>message</returns>
        public async Task <SharedLookUpResponse> UpdateDisciplinaryStatusAsync(UpdateDisciplinaryStatusManagementAc updateDisciplinaryStatusManagement, int instituteId)
        {
            var disciplinaryStatuss = await _iMSDbContext.DisciplinaryStatuses.Where(x => x.InstituteId == instituteId && x.Id != updateDisciplinaryStatusManagement.Id).ToListAsync();

            var isDuplicate = disciplinaryStatuss.Any(x => x.Code.ToLowerInvariant() == updateDisciplinaryStatusManagement.Code.ToLowerInvariant());

            if (isDuplicate)
            {
                return new SharedLookUpResponse()
                       {
                           HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate code of Disciplinary status. Please use unique code"
                       }
            }
            ;
            else
            {
                var disciplinaryStatus = await _iMSDbContext.DisciplinaryStatuses.FirstAsync(x => x.Id == updateDisciplinaryStatusManagement.Id);

                disciplinaryStatus.Name        = updateDisciplinaryStatusManagement.Name;
                disciplinaryStatus.Code        = updateDisciplinaryStatusManagement.Code;
                disciplinaryStatus.Description = updateDisciplinaryStatusManagement.Description;
                disciplinaryStatus.Status      = updateDisciplinaryStatusManagement.Status;
                _iMSDbContext.DisciplinaryStatuses.Update(disciplinaryStatus);
                await _iMSDbContext.SaveChangesAsync();

                return(new SharedLookUpResponse()
                {
                    Message = "Disciplinary status updated successfully", HasError = false
                });
            }
        }