/// <summary> /// Method to update ExamDefinition - SS /// </summary> /// <param name="updateExamDefinitionManagement">ExamDefinition detail</param> /// <param name="instituteId">institute id</param> /// <returns>message</returns> public async Task <SharedLookUpResponse> UpdateExamDefinitionAsync(UpdateExamDefinitionAc updateExamDefinitionManagement, int instituteId) { var examDefinitions = await _iMSDbContext.ExamDefinitions.Where(x => x.InstituteId == instituteId && x.Id != updateExamDefinitionManagement.ExamDefinitionId).ToListAsync(); var isDuplicate = examDefinitions.Any(x => x.Code.ToLowerInvariant() == updateExamDefinitionManagement.Code.ToLowerInvariant()); if (isDuplicate) { return new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate code of exam definition. Please use unique code" } } ; else { var examDefinition = await _iMSDbContext.ExamDefinitions.FirstAsync(x => x.Id == updateExamDefinitionManagement.ExamDefinitionId); examDefinition.Name = updateExamDefinitionManagement.Name; examDefinition.Code = updateExamDefinitionManagement.Code; examDefinition.Description = updateExamDefinitionManagement.Description; examDefinition.Status = updateExamDefinitionManagement.Status; _iMSDbContext.ExamDefinitions.Update(examDefinition); await _iMSDbContext.SaveChangesAsync(); return(new SharedLookUpResponse() { HasError = false, Message = "Exam definition updated successfully" }); } }
public async Task <IActionResult> UpdateExamDefinitionAsync([FromBody] UpdateExamDefinitionAc updateExamDefinitionManagement) { if (string.IsNullOrEmpty(updateExamDefinitionManagement.Name.Trim())) { return(Ok(new SharedLookUpResponse() { ErrorType = SharedLookUpResponseType.Name, HasError = true, Message = "Exam definition name can't be empty" })); } else if (string.IsNullOrEmpty(updateExamDefinitionManagement.Code.Trim())) { return(Ok(new SharedLookUpResponse() { ErrorType = SharedLookUpResponseType.Code, HasError = true, Message = "Exam definition code can't be empty" })); } else { var loggedInUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync(); if (await _iMSDbContext.ExamDefinitions.AnyAsync(x => x.Id == updateExamDefinitionManagement.ExamDefinitionId && x.InstituteId == loggedInUserInstituteId)) { return(Ok(await _markManagementRepository.UpdateExamDefinitionAsync(updateExamDefinitionManagement, loggedInUserInstituteId))); } else { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Exam definition not found" })); } } }