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