public async Task <SharedLookUpResponse> UpdateIssueBookAsync(UpdateIssueBook updateIssueBook, int instituteId) { var issueBooks = await iMSDbContext.IssueBooks.Where(x => x.InstituteId == instituteId && x.Id != updateIssueBook.Id).ToListAsync(); var isDuplicated = issueBooks.Any(x => x.BookId == updateIssueBook.BookId && x.StudentId == updateIssueBook.StudentId && x.StaffId == updateIssueBook.StaffId); if (isDuplicated) { return new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Duplicate issue of same book, please use unique code" } } ; else { var issueBook = await iMSDbContext.IssueBooks.FirstAsync(x => x.Id == updateIssueBook.Id); issueBook.UserType = updateIssueBook.UserType; issueBook.StudentId = updateIssueBook.StudentId; issueBook.BookId = updateIssueBook.BookId; issueBook.IssueDate = updateIssueBook.IssueDate; issueBook.RefNo = updateIssueBook.RefNo; issueBook.Description = updateIssueBook.Description; issueBook.StaffId = updateIssueBook.StaffId; iMSDbContext.IssueBooks.Update(issueBook); await iMSDbContext.SaveChangesAsync(); return(new SharedLookUpResponse() { HasError = false, Message = "Issue book entry updated successfully" }); } }
public async Task <IActionResult> UpdateGroupAsync([FromBody] UpdateIssueBook updateIssueBook) { if (updateIssueBook.IssueDate == null) { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Name, Message = "Issue book name can't be null or empty" })); } else if (string.IsNullOrEmpty(updateIssueBook.RefNo.Trim())) { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Name, Message = "Issue book no can't be null or empty" })); } else { var instituteId = await GetUserCurrentSelectedInstituteIdAsync(); if (await iMSDbContext.IssueBooks.AnyAsync(x => x.Id == updateIssueBook.Id && x.InstituteId == instituteId)) { return(Ok(await issueBookManagementRepository.UpdateIssueBookAsync(updateIssueBook, instituteId))); } else { return(Ok(new SharedLookUpResponse() { HasError = true, ErrorType = SharedLookUpResponseType.Code, Message = "Issue book not found" })); } } }