Ejemplo n.º 1
0
        public async Task <IActionResult> UpdateLevelAsync([FromBody] UpdateLevelManagementAc updateLevelManagement)
        {
            if (string.IsNullOrEmpty(updateLevelManagement.Name.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    ErrorType = SharedLookUpResponseType.Name, HasError = true, Message = "Level name can't be null or empty"
                }));
            }
            if (string.IsNullOrEmpty(updateLevelManagement.Code.Trim()))
            {
                return(Ok(new SharedLookUpResponse()
                {
                    ErrorType = SharedLookUpResponseType.Code, HasError = true, Message = "Level code can't be null or empty"
                }));
            }
            else
            {
                var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync();

                if (await _iMSDbContext.Levels.AnyAsync(x => x.Id == updateLevelManagement.LevelId && x.InstituteId == loggedInUserInstituteId))
                {
                    return(Ok(await _levelManagementRepository.UpdateLevelAsync(updateLevelManagement, loggedInUserInstituteId)));
                }
                else
                {
                    return(Ok(new SharedLookUpResponse()
                    {
                        HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Level not found"
                    }));
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Method to update Level - SS
        /// </summary>
        /// <param name="updateLevelManagement">Level detail</param>
        /// <param name="instituteId">institute id</param>
        /// <returns>message</returns>
        public async Task <SharedLookUpResponse> UpdateLevelAsync(UpdateLevelManagementAc updateLevelManagement, int instituteId)
        {
            var levels = await _iMSDbContext.Levels.Where(x => x.InstituteId == instituteId && x.Id != updateLevelManagement.LevelId).ToListAsync();

            var isDuplicate = levels.Any(x => x.Code.ToLowerInvariant() == updateLevelManagement.Code.ToLowerInvariant());

            if (isDuplicate)
            {
                return new SharedLookUpResponse()
                       {
                           ErrorType = SharedLookUpResponseType.Code, HasError = true, Message = "Duplicate name of level. Please use unique name"
                       }
            }
            ;
            else
            {
                var level = await _iMSDbContext.Levels.FirstAsync(x => x.Id == updateLevelManagement.LevelId);

                level.Name        = updateLevelManagement.Name;
                level.Code        = updateLevelManagement.Code;
                level.Description = updateLevelManagement.Description;
                level.Status      = updateLevelManagement.Status;
                _iMSDbContext.Levels.Update(level);
                await _iMSDbContext.SaveChangesAsync();

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