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