/// <summary> /// To update the user role details by id. /// </summary> /// <param name="ID"></param> /// <param name="userrole"></param> /// <param name="accessToken"></param> /// <returns></returns> public bool UpdateUserRole(int id, UserRole userrole, string accessToken) { try { dynamic session = null; if (!string.IsNullOrEmpty(accessToken)) { session = _sessionManager.GetSessionValues(accessToken); } if (!string.IsNullOrEmpty(session.DatabaseId()) || _isNonPCR) { using (var repository = new UserRoleRepository(session.DatabaseId())) { var userRoleDetails = repository.GetUserRoleIDDetails(id); if (userRoleDetails != null) { int existUsrRoleCount = repository.FindUserRole(id, (userrole.UserID == null ? userRoleDetails.UserID : userrole.UserID), (userrole.RoleID == null ? userRoleDetails.RoleID : userrole.RoleID)); if (existUsrRoleCount == 0) { if (userrole.RoleID != 0) { userRoleDetails.RoleID = userrole.RoleID; } if (userrole.UserID != 0) { userRoleDetails.UserID = userrole.UserID; } } else { throw new Exception("UserRole is already exist."); } userRoleDetails.UpdatedBy = userrole.UpdatedBy; userRoleDetails.UpdatedDate = DateTime.Now; repository.ModifiedUserRole(userRoleDetails); return(true); } else { return(false); } } } else { throw new Exception("Unable to get database connection."); } } catch { throw; } }